数据采集系统应用范围越来越广,功能越来越全,更需要一种高效、简洁、高性价比的无线传输方式。
1 总体设计方案
本方案采用价格低廉的51单片机作为主控芯片,其与WiFi模块和各种传感器及IO设备构成数据采集控制器。这些控制器通过预设的通信协议与路由器连接并通信。上位机可以由电脑、平板甚至手机构成,同样以WiFi技术接入路由器。通过编制相应的上位机软件,上位机可实现对各个数据采集控制器的参数查询和控制。
2 数据采集控制器
数据采集控制器是本设计的主要设备。由单片机、显示模块、按键模块、拨码开关、传感器信号输入接口、执行器控制信号输出接口,串行接口等部分构成,其结构及原理如
图1所示。
图1 数据采集控制器模块
根据设计要求,数据采集控制器需具备以下功能:
(1)信号输入与处理:各种传感器对现场环境参数进行采集,然后通过AD转换电路,将所得信号转换为数字信号,通过传感器数据输入接口送到单片机处理。
(2)设备地址设置:设备地址设置包括两个方面,第一,对WiFi模块的IP地址配置,可由专用软件配置工具完成。第二,对数据采集控制器的地址设置,即控制器的编号,用以区别多个数据采集控制器,可由拨码开关设置。
(3)液晶显示:控制器对采集的数据进行实时记录并显示。
(4)按键设置:通过按键可以对各参数阈值进行设定,并可查询各种数据。
(5)串行通信:Wi Fi模块与单片机通过串行口进行通信,硬件上通过RS-232标准,软件需要设计相应的通信协议。
(6)执行控制信号输出:采集的各种数据如果超出阈值范围,则需要控制相应的执行机构进行调整。
2.1 数据采集控制器主要电路
控制器的主要电路部分是单片机的最小系统,其他功能设计为插座接口,使扩展和更改更加灵活。其中J7对应显示接口,J9对应传感器信号输入接口,J10对应键盘及执行控制
信号输出接口。S2为拨码开关,用来设置本控制器编号或地址。方便系统随时加入新的控制器。通过对S2状态的读取,单片机可获取该控制器的编号或地址。
2.2 按键与液晶显示
按键电路设计采用4个独立按键,基本可以满足本系统的各种功能设置。如:菜单/功能键、上翻/+键、下翻/-键、确认键。
显示部分采用12232液晶显示器,其是一种自带字库及ASCII字符集的显示器件,比起1602来说,它可以显示汉字,并且体积较小。
2.3 WiFi模块
本系统采用的WiFi模块是海凌科电子推出的全新的第三代嵌入式UART WiFi模块产品,型号为HLK-WiFi-M03。
UART WiFi是基于Uart接口的符合WiFi无线网络标准的嵌入式模块,内置无线网络协IEEE802.11协议栈以及TCP/IP协议栈,能够实现用户串口数据到无线网络之间的转换。通过UART WiFi模块,传统的串口设备也能轻松接入无线网络。
3 WiFi模块IP配置
该模块在使用前根据控制器地址设置好参数,一般控制器地址或编号,作为IP的最后3位。
(1)IP地址的最后3位设置为241,端口为:27011。
(2)无线路由的无线网络名称设置为:ANHUI,无密码。
(3)无线路由的IP地址为:192.168.0.1。
(4)测试用主机可以用无线或有线方式连接到无线路由器,其IP地址固定设置为:192.168.0.2。
4 通信协议设计
各数据采集控制器与上位机的WiFi通信实际上是串行通信,这就需要严格的通信协议。本文协议以工业MODBUS协议为蓝本生成。通信协议设定为:通信波特率为9 600
bps,全双工异步,8位数据位,1位停止位,无奇偶校验。
每帧内容:ASCII码传输,起始字节为:02H,结束字符为03H和校验。
(1)开始符、结束符:这里采用ASCII码的传输方式,
根据表1,协议里起始符采用02H,结束符采用03H。当然这只是实验阶段的协议,实际可以采用更复杂的开始符和结束符,比如,两个字节的开始结束符。
表1 开始符-结束符
起始符 设备地址 功能代码 数据 校验 结束符
1个字节 2个字节 2个字节 n个字节 1个字节 1个字节
02H XXH XXHXXH XXH
XXH…
XXH
XXH 03H
(2)设备地址:起始符后面紧接着用两个字节来装设备的地址,可以表示从01号到FF号共255个设备,即可以添加255个主控制器。注意这里的两个字节存储以ASCII码形式,如设备地址是FA,则实际存在里面的两个字节是:46H 41H。
(3)功能代码:设备地址后面用2个字节来存储功能代码,当然,如果要执行的功能较多,也可以扩展更多个字节。
第一个字节表示功能,如查询用31H,设置用32H 。第二个字节表示对象,如温度用31H,温度用32H。则查询温度的功能代码即为:31H 31H。
(4)数据及校验:功能代码之后就是要传输的具体数据,数据的长短可根据具体返回的参数进行设置。数据之后就是校验码。校验码对于传输来说十分重要,它关系到传输的速度和精确度。对于校验方法的设计可以多种多样。下面举例说明。
例1:校验字节需1个字节,产生方式:将设备地址、功能代码、数据的所有字节(不包含起始符和结束符字节)求和,取和的低 8 位(最后1个字节),然后:先取反,再循环左移1位。最后,将上述计算得到的数只保留低 4 位(半字节)的十六进制的ASCII码作为校验字节(例如:假设上述计算得到的数是“5AH”,只保留低 4 位的十六进制表示为“A”,其ASCII码为“41H”,则校验字节为:“41H”)。
5 上位机软件
要实现整个系统的运行,除了对数据采集控制器进行编程外,还需要设计配合使用的上位机软件。如果采用PC作为上位机,可以用VB或VC来编程实现。如果采用平板或手机,则要开发相应的App。
6 结语
本设计方案简单、组网方便快捷、成本低廉,并且可根据具体情况随时增加或减少接入终端数量。可以应用到农业、工业、医疗等生产生活的各个领域。例如:对智能温室各个温室的温度、湿度、光照度、二氧化碳浓度等参数的采集和数据传输。对于医院病房中各床位病人的输液进度、心率、脉搏等实时数据的监控和测量。本系统有较好的应用性和可移植性,有一定的理论和应用价值。