利用单片机实现多路电压信号采集系统的设计
引言
本文引用地址:https://www.eepw.com.cn/article/171438.htm在下业生产中,需要将环境和状态的变化由传感器转换为电压信号,再由监控设备完成对电压信号的数据采集和监控。传感器的信号处理在监测点完成,处理后的结果经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。
评论