基于CAN总线的高精度温湿度监控系统
图3 CAN总线模块电路
CAN总线主要用于远距离的数据通讯,因而系统必须具有一定的防雷击的能力。在MCP2515和收发器MCP2551之间必须采用高速的光耦进行完全的电气隔离,做—个低通滤波器与抑制电压瞬态变化电路提高节点的抗干扰性能。从而大大提高节点的稳定性与安全性。
(3)各个节点采用高精度温湿度传感器SHT75进行数据采集。它是一款含有已校准的两线串行数据通信的相对湿度和温度传感器,实现了温湿度直接数字量的输出,从而大大简化各节点的电路,保证采集数据的精度。其性能如表l所示。
表1 SHT75芯片性能
3 软件设计
系统的软件设计中,上位机软件采用基于面向对象的Visual Basic 6.0开发平台设计系统的控制和显示界面,提供一个良好的人机操作界面。其主要包括上位机与CAN—RS232转换器的通信设置模块、CAN总线通信模块、节点发送的数据的接收和显示模块、后台数据库的调用模块、数据处理、数据保存及数据查询等。
温湿数据采集节点软件分成若干相对独立的驱动程序,各个驱动程序在监控程序的总调度下协调工作。其软件驱动程序主要由温湿度数据程序、实时时钟芯片程序、液晶显示程序、继电器控制输出程序、键盘输入程序、LED显示程序及CAN总线通信程序等组成。其中为了使总线节点有效、实时地完成通信任务,通信模块的设计是关键,也是难点。
CAN总线通信模块在系统的监控程序调用下完成仪表的数据发送及命令接收任务,其程序可看成由各个相对独立的程序模块组成,流程如图4所示。通信模块的程序包括MCP2515的初始化、节点自收自发检测、通信速率侦测程序、全局通信检测。通信模块的中断处理程序包括CAN总线错误处理子程序、发送接收子程序、放弃发送子程序等。
图4 通信模块流程图
4 结束语
本文采用CAN总线技术设计了系统远程数据通信模块的硬件部分及软件部分,克服了传统通信系统(如RS-485)的传输数率低、实时性差等问题,实现了高效及时的数据传输,保障了系统数据传输的可靠性和抗干扰性;采用SHq75芯片进行温湿度的数据采集。解决了湿度传感器受温度影响而导致的测量误差大、稳定性差等问题,提高了温湿度测量的准确度和可靠性,能够满足日益严格的温湿度环境条件监控需求。
评论