引言
在下业生产中,需要将环境和状态的变化由传感器转换为电压信号,再由监控设备完成对电压信号的数据采集和监控。传感器的信号处理在监测点完成,处理后的结果经RS485网络传送到监控计算机。这样把监控工作分散到各地,而对监控结果集中管理,所形成的分布式监控系统可有效减少因工业强噪声干扰和传输距离的增加所带来的信号失真。
1 系统构成
本监控系统下位机的核心部分为MEGA8单片机。MEGA8单片机内置lO位的A/D转换器。
故可不用外接A/D转换器。当多路电压信号由多路转换器(CIM051)进入单片机后,即可对多路电压信号进行A/D转换和数据处理,完成数据采集。
可根据处理的结果进行报警操作,也可通过RS485网络同监控计算机进行通信,以实现分布式监控。
系统结构如图1所示。此系统的监控计算机程序使用VB开发,单片机程序使用c语言开发。本文主要讨论单片机如何对多路电压信号进行采集,以及采集的数据如何由单片机经RS485网络传送给监控计算机,以及如何编制CheckSum效验码以实现错误检查。
2 数据采集
数据采集工作完全是在下位机进行的,可通过对单片机编写控制程序已完成信号的采集和处理任务,主程序流程如图2所示。
除主程序外,程序中还设置了实现多路信号巡检的1 s中断程序模块;将A/D转换结果送人单片机进行处理的A/D转换完成中断程序模块;实现数据串行传输的USART中断程序模块;以及实现按键报警,数据处理等功能的子程序模块。
A/D转换结束后,在ADC数据寄存器中可以取得转换的结果,对于单端输入的A/D转换,其转换结果为:
其中,Vin表示选定的输入引脚上的电压,Vref表示选定的参考电源的电压。0x000表示输入引脚的电压为模拟地,Ox3FF表示输入引脚的电压为参考电压值减去一个LSB。
3 串行通信协议
监控计算机与单片机的数据交换包括如下3个步骤。
(1)单片机要发送数据时,计算机会发送一组字符串过去。该字符串的第一个字符是前导码,单片机根据前导码辨认是否应该读取该字符串,该字符串属于哪一个命令集。
在前导码之后是站号,通常以两个字符代表,以RS-485进行网络连接,需要用站号来辨别命令是属于哪一个设备。站号之后是要解读的命令或数据。
(2)当单片机收到要求字符串,并经过辨读确定后,便会送出计算机所要求的数据。同样,数据被送出时会在数据之前加上前导码与站号,计算机也有由此辨别数据来自何处。
(3)计算机端收到单片机发送回来的字符串,即进行解读检查的操作。当检查完成后,再送一个确定的字符串给单片机,用以说明计算机端已成功收到字符串;而若发送失败,计算机也在该回送的字符串中要求单片机重新发送数据。
另外数据发送时,一般会加上错误检查机制,最常用的方法是将字符进行运算,而在字符串的最后加上CheckSum字符,收发双方利用Check-Sum字符的检查判断字符串的正确性。
本系统设计的数据格式为:
其中,前导码为一个字节;站号为一个字节;命令/数据为一个字节;数据长度为一个字节;数据内容为几个字节;CheckSum校验为两个字节;结束标志位为一个字节。
4.1 监控计算机通信软件的实现
利用VB提供的具有强大功能的通信控件MsComm,可设置串行通信的数据发送和接收,串口状态及串口通信的数据发送和接收,以及串口状态和串口通信的信息,格式和协议。监控计算机的通信流程如图3所示。
4.2 单片机通信部分的软件实现
ATMEGA8单片机带有一个全双工通用同步/异步串行收发模块USART,该接1:3是一个高度灵活的串行通信设备。单片机的通信流程如图4所示。
4.3 CheckSum的使用
使用了outCheckSum和inCheckSum子函数以实现CheckSum计算。第1个函数(outCheckSum)用于处理所要发送的字符串,只要将所要发送的字符串传人,返回的结果的结果字符串即是作完CheckSum处理。第2个函数(inCheckSum)用于处理接收到的返回字符串,只要将所收到的字符串传人,返回的结果字符串即是做完CheckSum检查,并去除校验和与结尾字符。
5 结语
以上提出的单片机和监控计算机的软硬件设计已在实际中得以应用。数据的采集及单片机和监控计算机之间的通信快速准确,效果良好。可见上述多路电压信号的采集和分布式监控系统的设计方案是可行和可靠的。
上一篇:基于UC浏览器的移动安全支付解决方案
下一篇:基于MAX7456的视频字幕模块的设计与实现
推荐阅读最新更新时间:2023-10-12 20:39
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- 新型IGBT测试系统,株洲中车抢先在IGBT市场布局
- 锐成芯微携手旺玖科技,推出全新USB Auto Hub桥接芯片
- 基于无人机高光谱技术的烟草生化指标分析研究
- 集成驱动和安全功能的车用GaN FET问世,充电更快续航更强
- 小米UWB技术真的能做到“一指连”吗?
- 苹果iPhone 13 Pro Max已经支持最高27W快充
- Redmi Note 9 Pro推MIUI 12.5增强版:提高流畅度,修复Bug
- iOS/iPadOS 15.1公测版Beta2推送:修复了Apple Watch解锁bug
- 谷歌Android开发者峰会将在10月27日召开
- 苹果客服:限电对iPhone 13送达时间暂无影响,可以正常下单