打印
[应用相关]

基于STM32和CAN总线的湿度采集系统

[复制链接]
2271|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1988020566|  楼主 | 2014-8-29 23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摘要:本文介绍了一种基于意法半导体公司的STM32单片机和CAN总线的湿度采集系统的设计和实现。CAN凭借其高性能,高可靠性以及独特的设计越来越多的被应用在工业领域中。STM32的接口丰富,价格低廉,功能强大,使其在工业现场中应用越来越广泛。**从硬件和软件两部分介绍基于STM32和CAN总线的湿度采集系统的实现。
关键词:STM32;CAN总线;数据采集湿度传感器
1引言
现实生活中,湿度的测量和控制在纺织工业、林业、化工以及气象观测等领域中有着广泛的应用。传统的人工测试方法费时费力,因而有必要研制更智能方便的湿度测量采集系统,以便实时监测湿度,并根据所测量的数据来控制加湿器、空调器等设备的运行,确保得到合适的湿度环境。
这里提出的湿度测量采集系统是为民用设计的,可实时监测仓库,温室等对湿度有严格要求的场合下的湿度,根据检测结果对湿度加以控制,同时还具有在线修订湿度上下限,湿度显示和报警功能,并可向主控室传送数据。

沙发
1988020566|  楼主 | 2014-8-29 23:00 | 只看该作者
2系统总体设计
湿度测量采集系统首先是一个实时性系统,需要传感器的各种测量数据能及时的显示,同时,监控系统又是一个多点检测系统,需要在不同的点布置传感器,这些传感器通过总线连接并实现与上位机的数据传输。从总体上讲,分为上位机和下位机系统。上位机是总的控制和显示系统,其通过CAN总线与各种传感器的感应模块连接。系统在即时性、可靠性、安全性等方面都有特定的要求,其要实现的目标如下:(1)对湿度参数进行实时采集MCU对各个传感器采集的数据进行循环检测传输。(2)超限数据报警。(3)通信系统应有较高的可靠性、较好的实时性和较强的抗干扰能力。

使用特权

评论回复
板凳
1988020566|  楼主 | 2014-8-29 23:00 | 只看该作者
CAN总线是一种多主方式的串行总线,可以组建多主对等的总线通信系统;STM32F103VET6内置了CAN控制器,选取TJA1050作为CAN收发器,实现STM32与CAN的通信,湿度传感器挂接在STM32单片机上实现数据实时接收与处理。CAN适配卡连接上位机系统和CAN总线,此外还有报警模块、显示软件等共同组成了完整的湿度测量采集系统。如图2-1所示。
图2-1基于STM32和CAN总线的湿度测量采集系统结构框图

使用特权

评论回复
地板
1988020566|  楼主 | 2014-8-29 23:01 | 只看该作者
3硬件设计
3.1硬件核心
系统采用STM32F103VET6作为主控制器,该微控制器内核采用ARM32为的Cotex-M3CPU,最高工作频率可达72MHz,512KBFlash存储器,3个12位模/数转换器,112个快速I/O端口,11个定时器,13个通信接口,其中就包括CAN(2.0)。具有接口资源丰富,功耗低,体积小,实时性能好,易于开发等优势。湿度传感器连接在STM32F103VET6上可以确保数据及时和准确的传输。

使用特权

评论回复
5
1988020566|  楼主 | 2014-8-29 23:01 | 只看该作者
3.2CAN总线简介
CAN(ControllorAreaNetwork控制器局域网)总线是近些年来非常流行的现场总线之一。具有非破坏性总线仲裁技术,让优先级高的信息得到更加快速的处理;具有强大的错误检测机制,可以检测到总线上的任何错误;采用短帧结构、位填充和CRC校验等措施,使传输具有高可靠性。这些优点使CAN总线在众多工业领域,尤其是汽车、航天等产业中得到了泛的推广和应用。

使用特权

评论回复
6
1988020566|  楼主 | 2014-8-29 23:02 | 只看该作者
CAN总线的特点
(1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
(2)网络上的节点可分成不同的优先级,可以满足不同的实时要求。
(3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。
(4)可以点对点,一点对多点及全局广播几种传送方式接收数据。
(5)直接通信距离最远可达10km(速率4Kbps以下)。
(6)通信速率最高可达1MB/s(此时距离最长40m)。

使用特权

评论回复
7
1988020566|  楼主 | 2014-8-29 23:03 | 只看该作者
3.3bxCAN
STM32F的bxCAN支持CAN协议2.0A和2.0B的主动模式,波特率最高可达1Mb/s支持时间出发功能。发送具有三个发送邮箱,发送报文的优先级可软件配置,可以屏蔽中断,邮箱使用单独的一块地址,便于软件效率的提高。STM32F的bxCAN设计目标是以最小的CPU负荷来高效的处理收到的大量报文。

使用特权

评论回复
8
1988020566|  楼主 | 2014-8-29 23:03 | 只看该作者
3.4CAN收发器TJA1050
TJA1050速率可达1Mbit/s,电磁抗干扰能力极强,电磁辐射低,输出级和3.3V以及5V的器件兼容,有高速和静音两种工作模式。TJA1050接口电路如图3-1所示。
图3-1TJA1050接口电路

使用特权

评论回复
9
1988020566|  楼主 | 2014-8-29 23:03 | 只看该作者
3.5湿度传感器
在充分考虑了系统的精度和抗干扰性的基础上,选择了湿度传感器SHT10。他是SENSIRION公司生产的SHT1x系列数字湿度集成传感器的一种,SHT1x系列单芯片传感器是一款含有已校准数字信号输出的湿度传感器,包括一个电容性聚合体湿度敏感元件,一个用能隙材料制成的温度敏感元件,并在同一芯片上与14位的A/D转换器以及串行接口电路实现无缝连接。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式存储在OTP内存中,在校正过程中使用两线制的串行接口,使外围系统集成变得快速而简单。单路SHT10传感器连接如图3-2。
图3-2单路SHT10传感器

使用特权

评论回复
10
1988020566|  楼主 | 2014-8-29 23:04 | 只看该作者
3.6湿度控制电路
湿度控制电路是设计的重要组成部分。湿度控制电路如图(3-3)所示。当所测湿度低于最低设定值,P1.5输出高电平,反向后为低电平,SSR1交流触电接通,交流接触器1线圈得电,接通加湿设备(图中以水泵为例),直到达到指定湿度范围。当所测量湿度高于最高设定值时,P1.6输出高电平,反向后为低电平,SSR2交流触点接通,交流接触器2线圈得电,接通干燥设备(图中以风扇为例),直到达到指定湿度范围干燥设备才停止工作。

使用特权

评论回复
11
1988020566|  楼主 | 2014-8-29 23:04 | 只看该作者


图3-2湿度控制电路


使用特权

评论回复
12
1988020566|  楼主 | 2014-8-29 23:05 | 只看该作者

4系统上位机软件设计

软件采用NI(NationInstrument)公司开发的LabVIEW进行编写。系统软件主要包括主程序和按键处理、中断、执行机构控制、显示和通信等子程序。主程序完成器件的初始化,并判断有误按键按下、有无中断请求,然后根据判断结果调用相应的子程序。图(4-1)为主程序流程图。

图4-1主程序流程图


使用特权

评论回复
13
1988020566|  楼主 | 2014-8-29 23:06 | 只看该作者
5实验测试结果与分析
该系统样机在某仓库进行了试运行,调试后在室内进行里模拟实验,检验了系统的控制精度。下表给出了一天不同时刻预设湿度与实测湿度的部分数据比较情况。
表1测试结果

使用特权

评论回复
14
1988020566|  楼主 | 2014-8-29 23:06 | 只看该作者
从以上结果可以看出其湿度最大误差为±3%RH。
5结束语
本文使用STM32作为主控芯片,CAN总线的引入将专用微处理器置入传统的测量控制仪表,使他们各自具有了数字计算和数字通信的能力。上位机可以对湿度的上下限进行设定并对湿度进行相应控制。文中介绍的湿度采集系统硬件设计简单易于实现,经软件测试,精度高,工作稳定,具有一定的实用性。

使用特权

评论回复
15
STM32初学者| | 2014-8-30 08:35 | 只看该作者
学习下

使用特权

评论回复
16
1398117027| | 2014-8-30 18:06 | 只看该作者
支持下!

使用特权

评论回复
17
chencheng2080| | 2014-8-30 21:21 | 只看该作者
收藏了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

402

主题

10664

帖子

6

粉丝