APP下载

碘化银发生器控制系统的研发

2022-07-23栗润萍孟令军

电子设计工程 2022年14期
关键词:上位串口字节

李 莉,栗润萍,孟令军

(1.山西工程技术学院电气工程与自动化系,山西阳泉 045000;2.中北大学电子测试技术国家重点实验室,山西 太原 030051)

碘化银发生器设置在偏远高山的迎风山坡,装有碘化银试剂的焰条安装在焰炉中,当焰条被点燃后,碘化银随上升的气流和云层结合,形成降雨或降雪。由于焰炉安装在偏远高山,人工点火既不方便也不安全,所以要对焰条远程遥控点火。目前我国现有的碘化银发生器智能程度较低,硬件设计和组网方式复杂,不易维护,且不能实现定制化的服务,不利于系统后期的改造升级。文中设计的碘化银发生器规模较小,能满足用户的需求,并且有预留端口,采用4G-DTU 作为远程传输设备,为后续视频传输提供了可能性。

1 系统设计

系统主要针对碘化银发生器的远程控制开发,目标用户为气象局。系统主要功能为焰条远程点火、焰条状态监测,焰条之间相互独立,远程遥控点燃焰条后,现场状态拍照上传,确认焰条是否点燃。整个系统设计采用三层结构,如图1 所示,包括监控层、传输层、现场设备层。监控层由PC 机和一个DTU[1-3]构成,PC 机发送网络命令进行点火和拍照,PC 机和DTU 通过RS232 串口相连。传输层中,利用透传云通过4G 链路和TCP/IP 协议数据透明传输到现场设备层的DTU 中,整个系统中的两个DTU 属于点对点通信。在现场设备层,DTU 通过RS232 串口将命令传送到STM32 主控制器中,STM32 根据指令执行对应通道的点火操作,同时拍照,并把图片和焰条状态进行回传。

图1 系统整体设计框图

2 系统硬件设计

系统的硬件设计主要针对现场设备层,在监控层PC 机和DTU 之间只需要一个USB 转串口的芯片即可。现场的主控制器采用STM32F103ZET6,该芯片是32 位的处理器,主频最高为72 MHz,FLASH ROM 的容量是512 kB,RAM 的容量是64 kB,144 个引脚,多个GPIO 组,GPIOA 组-GPIOG 组,每组GPIO有16 个I/O 口,共计112 个I/O 口引脚,低功耗,有运行、睡眠、停机和待机4 种模式,3 个12 位A/D 转换器,2 通道的12 位D/A 转换器,12 通道DMA 控制器,11 个定时器,13 个通信接口,其中包含5 个串口,在该设计中用到2 个串口,串口摄像头和串口3 相连,DTU 和串口2 相连。

2.1 点火模块

该设计有40 路焰条,点火通道为40,用到14 片三重2 通道多路开关CD4053,每片CD4053 控制3 路通 道,CD4053 共 占 用STM32 的42 个I/O 口,以 图2 为例进行说明。MC1043 是高精度电压基准芯片,可以稳定输出2.5 V 的电压,MC1403 芯片的供电电源是3.3 V 即原理图上的VCC。MC1403 经过一个可变电阻调压输出2 V 的电压,该输出连CD4053的AY、BY、CY 引脚,控制引脚C、B、A 分别连STM32 的PB2、PB1、PB0,STM32 可以通过控制CD4053 来控制40 路通道的通断。以通道1 为例,如果命令通道1 进行点火,根据图2 以及CD4053 的真值表,输出引脚a 和输入AY 连通,应设置PB2、PB1、PB0为001,此时只有引脚a 输出的电平为2 V,此输出连LM358N 集成运放(由U4A 和U4B 两个运放构成),U4A 是电压跟随器的连法,保证输出电压2 V 不变,并且输出阻抗(作为下一级U4B 的输入阻抗)趋近于0,U4B 和Q1(IRL540 NPBF)构成典型的压控恒流电路,使R14上的电压恒定保持在2 V。根据欧姆定律,流经R14(1 Ω)的电流可以恒定保持在2 A,接线端Header1 用来连接点火电阻,由于U4B的同相输入端的电压为2 V,所以流经点火电阻的电流是2 A,根据焦耳定律,电能转化为热能,发热的电阻引燃在其旁边的焰条,实现点火。

图2 1-3通道点火电路

2.2 图像采集模块

摄像头采用串口摄像头PTC08B 3.6 mm红外镜头(90°),该摄像头图片像素为30万,像素尺寸为5.6 μm×5.6 μm,图片格式为JPEG,信噪比为45 dB,最大模拟增益为16 dB,可监控距离为5 m,图像大小有VGA(640×480)、QVGA(320×240)、QCIF(160×120)。图像采集模块的连接较为简单,摄像头与STM32 的串口3 进行连接,现场的DTU 和STM32 的串口2 连接,经过透传云,现场的DTU 把上位机的命令送入STM32,STM32 控制摄像头拍照,照片先回传到STM32,然后通过STM32 的串口2 发送给DTU,再传入透传云。

2.3 供电模块

由于该系统安装在偏远的高山上,难以连接市电,故采用功率为30 W 的单晶硅太阳能板供电,太阳能控制器[4]直接连接太阳能板和太阳能专用蓄电池,太阳能蓄电池采用12 V12 Ah 的铅酸蓄电池,太阳能控制器的型号为SS15-20A,太阳能控制器有3种工作模式,分别为用户类型、纯光控系统和光控+时控类型。光控+时控类型适用于24 h 供电的负载,该系统要求全天供电,所以设置太阳能控制器时选择光控+时控类型,太阳能供电模块如图3 所示。12 V 的输出可直接用于4G-DTU 的供电,同时可以通过AMS1117-3.3 芯片得到3.3 V 的电压用于给STM32、MC1403 和摄像头供电,太阳能控制器的负载输出端可以直接连到AMS1117-3.3 的输入端。

图3 太阳能供电模块

3 通信设计

3.1 通信方案选择

碘化银发生器设置在偏远高山上,控制室在当地气象局,点火需要远程遥控[5]点火。根据表1中3 种主流的无线通信技术[6]的性能比较,可以得出:1)ZigBee 具有低速、低功耗、低成本的特点,传输距离近,主要用于通信距离100 m 范围内,穿透性不高,不适用于远程通信。2)LORA 是最近新兴的物联网技术,LORA 的特点是短距离、低功耗,常用于智慧城市、智慧农业、智能家居等,距离越长,通信速率越低,通信距离在城镇达2~5 km,郊区可以达到15 km,但对于超过此距离的通信不能满足要求。3)4G 网络目前已覆盖我国98%的村庄,4G 技术具有可靠性好,传输速率高,低延迟的特点,适合于大数据量的传输,如图像、视频的传输。该文设计选用4G 网络进行通信。

表1 3种无线通信技术的性能比较

3.2 通信模块

通信模块选用型号为G785 的4G-DTU[7-8]进行通信,DTU 中内嵌了完整的TCP/IP 协议族。该DTU支持移动、联通、电信的4G 信号高速接入,同时向下兼容,在没有4G 网络的地点自动连接3G 或2G 网络[9],DTU 支持串口模式(RS232 和RS485),在该系统中采用DTU 的RS232 串口;支持TCP 客户端和服务器模式、UDP 客户端模式;支持两路Socket 透传模式和UDP 模式;支持网络透传模式和协议透传模式;支持心跳包。在该设计中采用透传云,透传云是为了解决现场设备与上位机进行通信而开放的平台,两个DTU 进行点对点通过透传云透传数据,数据做到透明传输,用户可以不掌握AT 指令,降低了开发难度,只要设置好两个DTU 的分组,如端口号、波特率、数据位、串口参数等内容,在DTU 中插入物联网卡,两个DTU 就可以进行通信。

3.3 数据格式

上位机采用QT软件编写,发送的命令界面有发送和拍照两个按键,对应两种命令。采用自定义帧格式,封装成IP包,进行数据传输。数据的传输方向分为下行传输和上行传输。数据下行传输时,PC机发送命令,数据通过DTU进入透传云服务器进行透明传输,现场的DTU接收数据,把命令送入STM32。数据上行传输时,现场的焰条状态和拍照图片进行回传至PC机。

从表2 可以看出发送按键对应的命令由10 个字节构成,帧头设置为3个字节:0X01、0X02、0X03;第4字节为图片尺寸:0X01、0X02、0X03 分别表示图片尺寸为640×480、320×240、160×120;第5 字节为图片压缩率,0X00~0XFF 代表图片压缩率从0~100%;第6~10 字节一共有40 个位,为1 的位代表点燃对应通道中的焰条。

表2 发送按键对应的命令格式

从表3 可以看出拍照按键的指令为5 个0XFF,当拍照按键按下,上位机发出的命令为0XFF、0XFF、0XFF、0XFF、0XFF。

表3 拍照按键对应的命令格式

4 软件设计

4.1 上位机软件设计

上位机采用QT 软件编写界面[10-11],QT 具有可移植性好的优点常用于嵌入式设备。如图4 所示,在勾选框勾选点火的通道,在命令框中输入图片尺寸和压缩率对应的编号,然后点击发送按键和拍照按键。下位机接收到指令后进行点火操作拍照并回传照片和焰条状态,当焰条被点燃后焰条状态图标由对钩状变成斜线。

图4 上位机界面

4.2 下位机软件设计

下位机STM32 主要完成3 项功能:焰条点火、拍照并回传图片、回传焰条状态。根据图5,STM32 首先解析上位机的命令(参照表2 和表3 中的命令格式),首先判断是否是点火命令(对照上位机软件界面中的“发送”按键),由于在串口的中断程序中已经将串口缓存区里的数据存入数组rxdata,如果是点火命令,先解析图片尺寸,代表图片尺寸的数据存入rxdata[3],rxdata[3]中存放的数据可以是0X01、0X02、0X03,它们分别表示图片尺寸为640×480、320×240、160×120,图片压缩率存入rxdata[4],rxdata[4]中存放的数据可以是0X00-0XFF,代表图片压缩率从0~100%,然后把代表点火通道的5 个数组元素rxdata[5]-rxdata[9](每个元素有8 位,每位代表一个通道,共表示40 个通道)的5 个数据送入shuzu[4]-shuzu[0],在程序中通过检测shuzu[4]-shuzu[0]中40 个位是“1”还是“0”,判断需要点火通道,对该通道进行点火,并回传焰条状态。之后判断是否有拍照命令(对应“拍照“按键),如果有拍照命令,拍照完成后把图片数据回传,图片为JPEG 格式;如果无拍照命令,返回继续判断是否有点火命令。

图5 下位机主程序流程图

4.2.1 点火软件设计

焰条的点火采用脉冲触发点火,当需要点火时,连通点火通路,至少持续50 ms 的时间,根据图2,以1 号通道为例,当没有点火指令时PB2、PB1、PB0 都是低电平,当收到1 号通道的点火指令后,PB2、PB1都是低电平不变、PB0 设为高电平,延时50 ms,部分程序如下:

4.2.2 拍照回传数据

在主程序中进行判断,如果接收到的数据字节长度是5,并且每个字节的内容都为0XFF,说明是拍照命令(如表3所示),进行拍照并把数据回传,STM32在对图片进行转发时采用了分段转发的方式,因为根据实验,如果一次把整张图片转发给DTU,DTU 进行透传时上位机接收到的图片不完整[12-16],有丢包现象,在降低DTU 波特率的情况下图片传输仍然不完整,这是由于DTU 的缓存小,不能保存整张图片,所以在发送图片时采用分段转发的方式。在本例中,单张图片分段发送给DTU 的最大数据长度设为1 000,读取所拍摄图片数据的返回值为76 00 32 00 00 FF D8……FF D9 76 00 32 00 00,中间为图片的数据。发送程序段延时1 500 ms,保证1 000 个字节的数据在1 500 ms 内发送出去,避免下一次发送的数据已经到达,覆盖上一次还未发送出去的数据。图6为单张图片按每段1 000 字节分段转发的流程图,最后不足1 000 字节的部分按1 000 ms 内发送来设置。

图6 单张图片按每段1 000字节分段转发的流程图

以图片大小为320×240,图片压缩率为21%(参照表2 的第5 字节,如没有在上位机中设置,默认的数值为0×36),原图为50 kB 的图片为例。远程传输图片理论上用时为:50×1 024×21%/1 000×1 500 ms=16.128 s,加上网络延时,实测17 s。

5 结论

采用该设计系统可以提高人工影响天气的能力,其适用于农业增雨的地区。系统通过4G-DTU进行远程数据传输,利用STM32F103ZET6 作为主控制器,接收上位机的命令,实现点火、拍照、回传数据等功能。由于现场在偏远高山,采用太阳能供电。为解决图片远程传输丢包的问题,采用图片分段转发的方式,同时利用4G 网络传输速度快,适合大数据量的高速传输等优点,采用4G-DTU 进行远程传输,实验效果优于国内同类型产品。系统后续可改进升级的方向为实时视频回传,4G-DTU 也为系统的后续改进提供了可能性。

猜你喜欢

上位串口字节
No.11 字节跳动计划自研芯片:仅供内部使用
No.8 字节跳动将推出独立出口电商APP
基于EM9000工控板高性能双串口通信模型设计与实现
一场史无前例的乐队真人秀
MCS—51单片机中的多串口通讯技术的应用
基础油“上位”
微机串口的测试诊断
人类进入“泽它时代”
基于VC的PLC数据采集管理系统
基于VC串口通信的实现