王辉
摘 要:文章介绍了一种基于意法半导体公司的STM32单片机和CAN总线的湿度采集系统的设计和实现。CAN凭借其高性能,高可靠性以及独特的设计越来越多的被应用在工业领域中。STM32的接口丰富,价格低廉,功能强大,使其在工业现场中应用越来越广泛。文章从硬件和软件两部分介绍基于STM32和CAN总线的湿度采集系统的实现。
关键词:STM32;CAN总线;数据采集;湿度传感器
引言
现实生活中,湿度的测量和控制在纺织工业、林业、化工以及气象观测等领域中有着广泛的应用。传统的人工测试方法费时费力,因而有必要研制更智能方便的湿度测量采集系统,以便实时监测湿度,并根据所测量的数据来控制加湿器、空调器等设备的运行,确保得到合适的湿度环境。
这里提出的湿度测量采集系统是为民用设计的,可实时监测仓库,温室等对湿度有严格要求的场合下的湿度,根据检测结果对湿度加以控制,同时还具有在线修订湿度上下限,湿度显示和报警功能,并可向主控室传送数据。
1 系统总体设计
湿度测量采集系统首先是一个实时性系统,需要传感器的各种测量数据能及时的显示,同时,监控系统又是一个多点检测系统,需要在不同的点布置传感器,这些传感器通过总线连接并实现与上位机的数据传输。从总体上讲,分为上位机和下位机系统。上位机是总的控制和显示系统,其通过CAN总线与各种传感器的感应模块连接。系统在即时性、可靠性、安全性等方面都有特定的要求,其要实现的目标如下:(1)对湿度参数进行实时采集MCU对各个传感器采集的数据进行循环检测传输。(2)超限数据报警。(3)通信系统应有较高的可靠性、较好的实时性和较强的抗干扰能力。
CAN总线是一种多主方式的串行总线,可以组建多主对等的总线通信系统;STM32F103VET6内置了CAN控制器,选取TJA1050作为CAN收发器,实现STM32与CAN的通信,湿度传感器挂接在STM32单片机上实现数据实时接收与处理。CAN适配卡连接上位机系统和CAN总线,此外还有报警模块、显示软件等共同组成了完整的湿度测量采集系统。
2 硬件设计
2.1 硬件核心
系统采用STM32F103VET6作为主控制器,该微控制器内核采用ARM32为的Cotex-M3 CPU,最高工作频率可达72MHz,512KB Flash存储器,3个12位模/数转换器,112个快速I/O端口,11个定时器,13个通信接口,其中就包括CAN(2.0)。具有接口资源丰富,功耗低,体积小,实时性能好,易于开发等优势。湿度传感器连接在STM32F103VET6上可以确保数据及时和准确的传输。
2.2 CAN总线简介
CAN(Controllor Area Network 控制器局域网)总线是近些年来非常流行的现场总线之一。具有非破坏性总线仲裁技术,让优先级高的信息得到更加快速的处理;具有强大的错误检测机制,可以检测到总线上的任何错误;采用短帧结构、位填充和CRC校验等措施,使传输具有高可靠性。这些优点使CAN总线在众多工业领域,尤其是汽车、航天等产业中得到了泛的推广和应用。
CAN总线的特点:(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。(2)网络上的节点可分成不同的优先级,可以满足不同的实时要求。(3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。(4)可以点对点,一点对多点及全局广播几种传送方式接收数据。(5)直接通信距离最远可达10km(速率4Kbps以下)。(6)通信速率最高可达1MB/s(此时距离最长40m)。
2.3 bxCAN
STM32F的bxCAN支持CAN协议2.0A和2.0B的主动模式,波特率最高可达1Mb/s支持时间出发功能。发送具有三个发送邮箱,发送报文的优先级可软件配置,可以屏蔽中断,邮箱使用单独的一块地址,便于软件效率的提高。STM32F的bxCAN设计目标是以最小的CPU负荷来高效的处理收到的大量报文。
2.4 CAN收发器TJA1050
TJA1050速率可达1Mbit/s,电磁抗干扰能力极强,电磁辐射低,输出级和3.3V以及5V的器件兼容,有高速和静音两种工作模式。
2.5 湿度传感器
在充分考虑了系统的精度和抗干扰性的基础上,选择了湿度传感器SHT10。包括一个电容性聚合体湿度敏感元件,一个用能隙材料制成的温度敏感元件,并在同一芯片上与14位的A/D转换器以及串行接口电路实现无缝连接。校准系数以程序形式存储在OTP内存中,在校正过程中使用两线制的串行接口,使外围系统集成变得快速而简单。
2.6 湿度控制电路
湿度控制电路是设计的重要组成部分。湿度控制电路所示。当所测湿度低于最低设定值,接通加湿设备(以水泵为例),直到达到指定湿度范围。当所测量湿度高于最高设定值时,接通干燥设备(以风扇为例),直到达到指定湿度范围干燥设备才停止工作。
3 系统上位机软件设计
软件采用NI(Nation Instrument)公司开发的LabVIEW进行编写。系统软件主要包括主程序和按键处理、中断、执行机构控制、显示和通信等子程序。主程序完成器件的初始化,并判断有误按键按下、有无中断请求,然后根据判断结果调用相应的子程序。
4 实验测试结果与分析
该系统样机在某仓库进行了试运行,调试后在室内进行里模拟实验,检验了系统的控制精度。下表给出了一天不同时刻预设湿度与实测湿度的部分数据比较情况。
从以上结果可以看出其湿度最大误差为±3%RH。
6 结束语
文章使用STM32作为主控芯片,CAN总线的引入将专用微处理器置入传统的测量控制仪表,使他们各自具有了数字计算和数字通信的能力。上位机可以对湿度的上下限进行设定并对湿度进行相应控制。文中介绍的湿度采集系统硬件设计简单易于实现,经软件测试,精度高,工作稳定,具有一定的实用性。
参考文献
[1]史久根,张培仁,陈真勇.CAN现场总线系统设计技术[M].北京:国防工业出版社,2004,10.
[2]黄智伟,王兵,朱卫华.STM32F 32位ARM微控制器应用设计与实践[M].北京:北京航空航天大学出版社,2012,8.
[3]李宁.基于MDK的STM32处理器开发应用[M].北京:北京航空航天大学出版社,2008.
[4]戴敏,曹杰.基于ARM的单芯片CAN总线中继器设计[J].测控技术,2010,29(5):64-68.
[5]田建君.仓库自动通风及温、度监测系统[J].电子产品世界.2006(5):70-71.