APP下载

密集型呼吸灯灯串设计与实现

2020-12-29曹振华

电脑知识与技术 2020年32期
关键词:密集型串联并联

曹振华

摘要:密集型呼吸灯灯串主要用于智能库房内的物品定点定位管理系统中指示物品的状态或位置,最大特点是用量大、位置分散、连线总距离远,传统做法是使用单片机控制板,定制大量指示灯接口和小指示灯板,每个需要指示的位置放一个小指示灯板,连接到单片机控制板上受控,这种方法实现了大量指示灯的集中、并联控制,但是布线麻烦,布线总距离为每个位置到控制板的距离之和,大大浪费了线材和布线时间,本文设计了一款可以串联使用、会呼吸的灯串,布线总距离为每个位置之间的距离之和,大大节约了布线长度和时间,灵活易用,在工程实践中得到了良好的效果。

关键词:密集型;呼吸灯;串联;并联;灯串

中图分类号:TG399     文献标识码:A

文章编号:1009-3044(2020)32-0220-02

1 概述

1.1 密集型指示灯使用场景

在智能库房管理系统中,常见的物品存放和管理设备有智能密集架系统、智能货架系统、立体仓库系统等,物品被规则地放在密集架、货架或旋转货架上,人们在取出或者归还物品时,需要计算机系统提供准确的位置信息,协助用户快速准确的操作物品,这时候,指示灯就是一种成本最低,效果最明显的提示方法之一,当需要在某个位置存取物品时,点亮该位置的指示灯,用户能远远地看到灯亮信息,然后直奔主题。但是在一个库房里,往往有成百上千的位置需要指示,这就需要成百上千的指示灯需要布设,数量庞大,合理的规划指示灯的拓扑结构,有利于缩短线缆长度,降低施工难度,提高作业效率。

1.2 密集型指示灯布设常用拓扑结构

常用指示灯布设的拓扑结构有两种,星型拓扑和线性拓扑。由于指示灯的控制需要单片机参与,为了降低设计成本,往往采用一个单片机驱动若干指示灯的方法,也就是一块电路板上设计大量指示灯控制接口,如图1所示为作者设计的80路LED指示灯控制电路板,每个接口分别控制一盏灯的状态,这就是最常用的星型拓扑结构[1],如图2所示。

图2中,黑色实体长方形为主控电路板,电路板内有54个分别控制54个指示灯的接口,每个接口需要连接2根线到指示灯,连接指示灯的正负极,可以控制指示灯的亮灭。那么需要到每个指示灯线缆长度为中心节点到每个指示灯距离的和,如图1中取第三行为例,设每个指示灯的之间的距离为L,则在不考虑电路板大小的情况下,该行布线总长为21L,不考虑层间距的情况下6行灯的总布线距离为126L,当考虑行间距时,总布线距离远大于126L,这个布线距离远远大于灯与灯之间的总距离48L这种拓扑结构是每个指示灯之间不互相干扰,但是总布线距离太长,不便于工程实施.

1.3 呼吸灯效果难实现

集中控制式主控板,受单片机IO口资源限制,很难保证指示灯能用IO口直接驱动,往往采用TM1628、TM1638之类的专用驱动芯片驱动,实现亮、灭、闪操作容易实现[2],但是要想实现像呼吸灯一样的灵活多样的效果比较难,而且用这些集中控制芯片,主要实现星型拓扑结构产品。

2 密集型呼吸灯灯串设计

微控制器价格的不断降低,为指示灯独立控制提供了可能性,PWM技术为呼吸灯效果的实现提供了支持,因此,基于低成本微控制器的呼吸灯成本可控,技术可行,本文采用STM公司的低成本微处理器实现了一款基于串口的智能呼吸灯灯串,可以无限级联,使用效果非常好。

2.1呼吸灯控制板设计

呼吸灯效果,往往采用PWM技术实现,控制IO口引脚打高低电平时边沿变化斜率,从而是被控指示灯具有慢慢变亮、慢慢变暗的效果,就像人的呼吸节奏一样,从而称之为呼吸灯,因此要想实现呼吸灯效果,MCU需要具备PWM功能,电路设计如图3所示。

图3中,IN和OUT两个段子为输入和输出接线端子,输入接单片机的串口输入引脚,接收串口发送来的数据,输出接串口输出引脚,向外发送数据,由于连个端子无须输入输出双工功能,因此可以共同使用同一个串口模块。当串口模块接收到数据后,查看本模块的指示灯是否需要点亮或者关闭,通过PWM实现相应指示灯呼吸灯亮灭效果后,将剩余数据通过输出接口输出,从而可以实现基于串口的信息传递,实物图如图4所示。

2.2 基于呼吸灯的灯串实现

在2.1节中设计实现了基于串口的智能灯板,改灯板可以接收指令、控制指示灯的亮灭呼吸灯效果、发送指令给输出接口等功能,那么在软件设计上稍加设计,就能实现灯串效果,本文以54个指示灯的灯串设计为例说明。

2.2.1硬件方面

将54个指示灯板用3PIN连线收尾相连,形成54个指示灯组成的灯串,这样54个指示灯总计长度为53L,比1.2节的星型拓扑结构中总长126L的长度大大缩短,在线缆制作方面,第一个灯板的串口连接控制器,比如电脑的串口,用电脑串口控制54个指示灯的亮灭。

2.2.2软件方面

要实现54个灯的控制,每个指示灯用一个位标识,则需要54个位,合计使用7个字节标识。

A:电脑命令字:电脑端的控制命令中,包含7个字节的命令字,依次排列后,形成56个位列,后两个位空闲不用,前54个位为有效位,控制灯串中第几个灯亮,就将位列中第几个位设为1,否则设为0,比如让奇数个位置的灯亮,其他灭,则串口发出的命令字段为:0xAAAAAAAAAAAAAA,转换成二进制表示为:

0B101010101010101010101010101010101010101010101010101010,可以看到,从左到右,“1”和要亮的燈的编号对应。

B:灯板部分软件:灯板没有地址设置,因此灯板无法知道自己是第几个灯板,收到完整的命令帧后,无法知道自己与第几个位的数值对应,因此必须让灯板知道哪个位是属于自己的,因此本文设计使用“用头掐头”的方式传递信息。

“用头”指的是每个灯板收到IN口传来的串口数据时,第一个位的信息就表示该灯板指示灯的动作指令,比如第一位收到的是1,则点亮指示灯,否则是0就熄灭指示灯。

“掐头”是指灯板根据收到的指令控制完指令后,将最高位掐掉,也就是收到的指令左移一位后,传递给下一个灯板。

C:灯串控制逻辑:

电脑发出指令为:

0B101010101010101010101010101010101010101010101010101010;

第一个灯板收到:

0B101010101010101010101010101010101010101010101010101010;最高位为1,“用头”则点亮指示灯,然后掐头,发出新的指令给第二个灯板。

第二个灯板收到:

0B010101010101010101010101010101010101010101010101010100;最高位为0,“用头”则熄灭指示灯,然后掐头,发出新的指令给第三个灯板。

第三个灯板收到:

0B101010101010101010101010101010101010101010101010101000;最高位为1,“用头”则点亮指示灯,然后掐头,发出新的指令给第四个灯板,依次类推,所有的指示灯都有与自己对应的位,因此可以正确地控制每个指示灯。

2.3 灯串扩展性

由于灯串中的每个灯板软件和硬件结构都是一样的,唯一不用点在与接口输入数据的不通,因此可扩展型大大增加,一个54节点的灯串,只要在尾部字节挂接其他灯板,然后在控制端发送更多位数的控制指令,就能简单地实现更多数目指示灯灯串的效果;当在第N和第N+1个灯串中间加入多个指示灯节点时,原有指示灯节点无须改变,只要将第N和第N+1个节点的连线去掉,然后把预插入的節点串进去就可以了,由此可见,这种灯串的扩展性极好。

3 呼吸灯灯串拓扑分析

灯串,顾名思义就是直接把灯串联起来,如图5所示,主控制器放在灯串的一头,然后顺序将如果个灯板收尾相连,就组成了灯串。按照线性拓扑结构布设,建设灯与灯之间的距离仍为L,则54个灯板的总布线长度为54L,该布线方式较1.2节中星型布线总长度减少了数倍,大大降低了施工总量和难度。

该呼吸灯灯串产品在昆山信德佳电气科技有限公司的智能密集架系统中大量使用,实践证明,以串口数据传递的思路设计的呼吸灯灯串硬件是低成本高可靠的距离可调灯串方案,“用头掐头”的命令字组织方案是可靠高效的软件设计方案,整体设计合理、使用方面、成本较低,在密集架系统中运行稳定,效果较好。

参考文献:

[1] https://baike.baidu.com/item/拓扑结构/1488219?fr=aladdin. 拓扑结构. 百度文库.

[2] http://www.titanmec.com/index.php/product/viewlist/typeid/88.html.TM1638芯片详细手册. 深圳市天微电子股份有限公司,2018.06.

【通联编辑:梁书】

猜你喜欢

密集型串联并联
压痛点密集型银质针温针灸治疗肱骨外上髁炎的临床观察
密集型快速冷却技术在热轧带钢生产线的应用
串联法写记叙文的概括
密集型自动化立体仓库解析
审批由“串联”改“并联”好在哪里?
我曾经去北京串联
并联型APF中SVPWM的零矢量分配
一种软开关的交错并联Buck/Boost双向DC/DC变换器
知识密集型组织的商业模式创新策略——以网络教育组织为例