基于单片机和红外吸收型传感器实现二氧化碳检测系统的设计

描述

引言

二氧化碳的检测在工业、农业、医药、环境保护等都有着重要意义。采用单片机进行二氧化碳浓度检测、显示、实时控制能够提高生产效率、节约能源。另外在工业现场.往往需要完成信号的长线传输,如果传输的信号是电压信号.传输线会受到噪声的干扰,传输线的分布电阻会产生电压降。为了解决上述问题和避开相关噪声的影响。考虑用电流来传输信号。因为电流对噪声并不敏感。为此,对本文介绍一种利用MSP430F169单片控制的二氧化碳检测系统,并带有三线制4~20mA电流输出.还可以用标准的Modbus协议与上位机通讯。

1 系统的硬件设计

图1是该系统的框图。单片机通过串行通讯口读取二氧化碳传感器送来的信号(浓度值),经过内部处理后用LCD显示,同时转化为相应的4-20mA电流输出,或者将二氧化碳浓度值通过RS485串口送到上位机。同时单片机将采样到的信号与系统设定的报警点比较,控制相应的继电器的吸合。另外还可以用按键或者上位机软件通过RS485串口修改系统参数:海拔、报警点、通讯地址、通讯波特率、ABC逻辑、密码、输出电流标定。

单片机

图1 系统框图

1.1 CPU及其外围电路接口

为了最大限度地利用单片机端口和片内外设并降低设计成本。本系统选用MSP430F169。该单片机具有极低的功耗、强大的处理能力、丰富的片上外围模块、方便高效的开发方式等特点。它有两个16位定时器.内置一个12位AD转换器和一个双12位DA转换器,两个串行通讯接口.60KB的FLASH.完全满足于本系统的需要。

CPU采用内部1MHz晶振。单片机通过SPI模式控制LCD的工作,通过外部中断来识别四个按键的状态。单片机的P6.2口和P6.3口分别控制两路继电器的吸合。另外分别用单片机的两个串口与二氧化碳传感器和485通信通信。

1.2 传感器电路

本设计采用美国Telaire公司生产的红外吸收型传感器6004。该传感器利用非分光红外(NDIR)原理检测二氧化碳浓度.由一个镀金封装的光学系统和其它严格筛选的信号放大和处理元器件组成。其测量范围为:0-5000ppm;测量精度:在22°C时与工厂标准气体相比误差约±40ppm或者读数的3%;响应时间:小于2分钟即可达典型阶跃变化的90%;信号变化周期:每2秒钟。最高功耗为150mA,平均功耗30mA。

6004传感器模块有下面两种输出方式:模拟量输出:0-4VDC;数字接口:SPI/Microwire或者UART(9600bps).它有相应的通讯协议。目前市场上大部分产品都是检测模拟输出信号。信号处理简单。这里考虑到数字输出比模拟输出精度高并且抗干扰性好.本设计采用UART接口来读取传感器输出的数字信号。由于6004与MSP430F169的电平不兼容.将6004的串行输出端(TDX)通过电阻分压接到MSP430F169的P3.7(URXD1)口,6004的串行输入端(RDX)经过一个高速光耦芯片HCPL0631升压接到MSP430F169的P3.6(UTXD1)口。具体电路见图2。

单片机

图2 6004与单片机的接口电路图

1.3 三线制电流输出模块

4-20mA电流环有两种类型:二线制和三线制。本系统采用三线制。如图3是一个V-I转化电路,提供一路i线制4~20mA的电流输出。图中U4使用的是TLE2022运放,这是一款精密、高速、低功耗的运算放大器。与类似的器件相比,它在单位增益带宽和斜升率方面作了很大的改进.该器件即使在温度发生变化和使用了许多年的情况下仍能保持高精度。这里用+24V和-5V的电源对TLE2022供电.采用负电源供电能让运放输出比较宽的控制电压.保证运放能输出0V电压.因为有些运放输出OV时在供电正时.不能输出0V.总是高1到2伏。并且运放也能

接收负压信号输入.尤其是交流电压信号。该电路在保证V-I变换精度高的同时,显著提高了抗负载变化能力。分析电路可知:

所以为了获得4~20mA的输出电流。经单片机DA转换输出的电压VDAC1控制在0.2~1V。

单片机

图3 4-20mA电流输出图

1.4 RS485通讯模块

通讯模块实现了单片机与上位机之间长距离数据通讯。系的MODBUS协议与上位机进行通讯。如图4,MAX3485的串行输出端(rXD485)接到MSP430F169的P3.4(UTXDO)口,串行输入端(RXD485)接到MSP430F169的P3.5(URXD0)口。MSP430F169的P6.4口与KCOM,用于使能MAX3485串行输入输出。

单片机

图4 485通讯电路图

2 软件设计

本系统程序用C语言编写,图5是主程序流程图。

单片机

图5 主程序流程图

2.1 单片机与6004之间的通讯

单片机与6004之间采用Telaire特定的通讯协议。它们之间的主要操作就是读6004状态,读C02浓度值.设置海拔高度。设置ABC逻辑。系统上电后旗6004的状态。直到读到6004预热完毕,才能开始读传感器的浓度值,每2S读一次。

2.2 单片机与485之间的通讯

单片机与485之间采用标准的MODBUS协议进行通讯,主要完成读取C02浓度、读报警点状态、读继电器状态,修改系统参数。Modbus分为两种传输模式:ASCII和RTU。这里选用RTU传输模式,这种方式的主要优点是:在同样的波特率下,可以比ASCII方式传送更多的数据。

3 结束语

本系统测量准确、有好的人机界面,操作智能化,系统运行可靠。可广泛的应用于商用楼宇控制、空调管理、智能化住宅、商场、宾馆,体育馆,电影院、机场网吧,温室农业大棚等等场合。

本文作者创新点:选用了红外吸收型传感器‘读取它的数字输出信号,精度高且抗干扰性好。采用了一种新颖的三线制电流输出电路.该电路精度高.抗负载变化能力强。采用标准的MODBUS协议与上位机通讯。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分