0 引 言
温湿度监测系统是在环境试验、科学研究(诸如种植、养殖、生物工程、化工工程)、工业生产等领域应用广泛的现场环境控制系统。它能模拟各种环境条件,即按照实际要求精确控制环境的温度和湿度,为研究不同的生化过程创造了良好的环境条件。因此,温湿度监测系统广泛应用在科研、现代农业、医药、冶金、化工、林业、环境科学及生物遗传工程等领域。
为了满足化学工业过程对环境条件的需求,我们在传感器智能控制方案和具体应用中做了大量的研究和可行性分析,开发了一种具有智能化功能的温湿度监测系统。该系统由数据采集模块和接口模块组成。其中数据采集模块采用了以单片机AT89S52为核心外接传感器的结构框架,保证了系统对现场温湿度信号采集的实时性和准确性。而接口模块则采用了处于当前通信领域前沿的USB-CAN转换接口模块,为整个系统的实时性提供了坚实的通信保障,而且笔者认为这种通信方式已经成为了工业化通信的发展方向。
1 温湿度采集模块的硬件电路设计
温湿度采集模块的硬件电路由CAN总线的SJA1000控制器、TJA1050收发器、温度传感器ADS90、湿度传感器HM1500和单片机TA89S52芯片组成,其电路框图如图1所示。
1.1 温度检测电路
温度检测电路的核心采用美国AD公司生产的二端式集成温度-电流传感器AD590,该器件体积小、重量轻、性能稳定,且非线性误差小和校准方便、互换性好、功耗极低、适合于动态温度测试和远距离测温。温度信号采集电路设计如图2所示。
在传感器输出信号处理方面,由于被测量含有一定的干扰信号,所以采用放大器芯片LM324和稳压管D对被测信号进行二次处理。AD590的电源电压范围为4~30 V,可以承受44 V正向电压和20 V反向电压,因而即使反接也不会损坏器件。稳压管D1连接可调电阻用于保证A点(即放大器反相端)的输入电压;稳压管D2限制了电源所提供的电压电流,通过连接可调电阻,保证了B点(即放大器同相端)的输入电压,而且适当地改变R8和R9的电阻值,可以改变输出电压的线性放大倍数。[page]
1.2 湿度检测电路
湿度检测电路采用集成温度传感器HM1 500,其输出电压在1~4 V间随温度线性变化。由于该设计采用的是单电源结构,湿度信号采集电路设计如图3所示。
线性电压输出式集成湿度传感器HM1500采用湿敏电阻HS1101设计制造,其湿度测量范围为5%~99%(相对湿度);相对湿度精度为3%;工作温度为-30~+60℃;工作湿度范围为O%~100%(相对湿度);供电电压为5 V(最大电压为DC 16 V);可输出DC电压为1~4 V;响应时间为5 s,适用于动态温度测量。
由于该电路中没有负压,电路的主体采用差分式减法电路。通过设置R3,R4,R6,R7这四个精密电阻可调节增益,其输出电压的计算公式为:
图3中R1可以用来消除由于传感器差异而带来的误差。
2 CAN总线接口电路
本系统选取PHILIPS公司CAN总线控制器SJA1000以及收发器TJA1050,考虑到SJA1000是一种独立的CAN总线控制器,同时支持CAN 2.OA和CAN 2.0B协议,通信速率可达1 Mb/s,能够完成通信协议的所有要求。JA1050是CAN总线控制器与物理总线之间的接口,是一种标准的高速CAN收发器,其可以为总线提供差动发送性能,为CAN控制器提供差动接收性能。SJA1000主要负责数据链路层的工作,把发送缓冲器的信息经过处理后送到TJA1050,数据经过处理后放到接收缓冲器等待微处理器的读取,CAN总线接口电路框图如图4所示。
3 USB-CAN转换模块接口电路
由于计算机没有专用的CAN总线接口,所以需要设计一个模块单元将CAN总线上的数据转换成USB接口数据,模块的一端接监控计算机的USB接口,另一端接CAN总线网络接口。本系统设计选用Atmel公司的ATmega 162芯片。总线控制器SJA1000实现CAN数据的发送和接收,接收方式仍采用中断方式;USB通信控制芯片FT245BM实现USB数据的发送和接收;ATF16V8负责对两个接口芯片得地址进行编码。USB-CAN转换模块结构框图如图5所示。
4 系统软件设计
系统软件主要包括:监控PC机通信处理软件、温湿度控制算法软件和现场测控节点数据采集与处理软件。软件系统采用模块化设计,分成若干相对独立功能模块,并为各模块安排适当的入口和出口参数,使得模块之间的相互连接组合灵活方便。系统软件模块主要由数据采集、温度传感器的线性化校正、键盘输入、测量数据显示、输出控制、CAN总线通信等组成,各模块在监控程序的调度下协调工作。
4.1 通信处理软件
采用Window XP SP3作为平台、VC++语言进行编程。包括系统参数设置、监控状态设置、数据发送和接收、本机状态查询、上下限报警、中断接收数据管理等功能模块。监控PC机首先对CAN总线适配器及自身进行初始化,然后发送命令通知特定节点向CAN总线上发送数据,通过CAN总线适配器转换后,由监控PC机根据实际情况进行相应处理,监控PC机采用定时循环扫描方式向各节点发布命令,采用中断方式接收数据。
4.2 节点软件
节点软件由初始化、数据发送和数据接收三部分组成。初始化程序放在主程序的最前端,考虑到系统对程序运行效率的要求,数据发送和数据接收采用中断方式进行。当监控PC机请求数据采集时,将采样点所在区域的温湿度和CAN节点状态等数据传送给上位计算机,完成温湿度传感器的采样和控制算法。
5 结 语
基于CAN总线的智能型传感器实现了对工业过程中温湿度的自动测量,为实现自动化远程温控湿控、保持环境温湿度符合工艺要求提供了高效的测控手段。USB-CAN数据转换的使用,使数据的传输速率远远超过了传统的RS 232转换,而且支持“热插热拔”,使用方便,具有广泛的应用前景。
关键字:CAN总线 单片机 数据采集 USB-CAN接口转换
引用地址:
基于CAN总线的智能型温湿度采集系统设计
推荐阅读最新更新时间:2024-03-30 22:17
独立光伏电源数据采集系统设计
引言 数据采集系统采集独立光伏发电系统主电路电压电流、蓄电池温度、太阳光光强变化等,为光伏控制器提供MPPT追踪、能量管理的计算和判断依据。文中设计了基于低功耗MSP430F149芯片的独立光伏发电装置数据采集系统,系统采用CHV一25P霍尔电压传感器采集电压信号,用CHB-25NP霍尔电流传感器采集电流信号,用PTl00铂电阻采集温度信号,用光敏电阻采集太阳光光强变化信号,所采样信号以模拟信号的形式传输到MSP430F149进行数据处理,经处理后的数据通过液晶屏就地显示,同时将数据通过USB串行总线传输到上位机,通过LabVIEw监控系统显示并记录。系统通信采用结合CRC校验的定制Modbus—RTU协议,保证了数据传输的可靠性
[单片机]
单片机仿真器的作用
问1.用虚拟软件仿真与这个有什么区别吗?我没有看到过仿真器也没有用过仿真器 答:虚拟软件仿真,不能看到驱动硬件的实际效果。 问2.仿真器接电脑,仿真器再通过仿真头接目标板,然后程序就能在线仿真? 答:是的,连接好了以后,打开51开发软件平台KEIL,通过在KEIL中修改你的程序中不满意的部分,仿真器会在软件平台KEIL的控制下时时联动。然后通过单步运行程序或者让程序运行到指定的程序行停止,等等调试方法调试你的程序,直到你满意为止,全部过程硬件都会和程序同步运行,所见即所得。可以极大地提高效率,不用再反复的用编程器向51芯片中烧录程序。 问3.仿真器的本质是什么? 答:仿真器就是通过仿真头用软件来代替了在目标板上的51芯片,关
[单片机]
MCS-51单片机与CPLD/FPGA接口逻辑设计
在功能上,单片机与大规模CPLD有很强的互补性。单片机具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力潍点;CPLD/FPGA则具有高速、高可靠以及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。本文就单片机与CPLD/FPGA的接口方式作一简单介绍,希望对从事单片机和CPLD/FPGA研发的朋友能有所启发。 单片机与CPLD/FPGA的接口方式一般有两种,即总线方式与独立方式,分别说明如下: 一、总线方式 单片机以总线方式与CPLD/FPGA进行数据与控制信息通信有许多优点。 (1)速度快。如图一所示,其通信工作时序是纯硬件行为,对于MCS-51单片机,只需一条单字节
[单片机]
RIGOL发布M300数据采集/开关系统
近日,北京普源精电科技有限公司(RIGOL)宣布推出数据采集/开关系统---M300系列。这款产品普遍应用于生产线,科研院所和高校实验室。针对研发阶段的产品性能测试,生产过程中的自动化测试,等多测试点,多种信号测量等应用, M300系列将精密的测量性能与灵活的信号连接功能相结合,可提供高效便捷的解决方案。 RIGOL M300数据采集/开关系统可以脱离PC,独立作为一台设备运行;提供5个模块槽位,单卡最多64通道,整机支持多达320个切换通道,提高测试速度的同时,大大降低了单通道测试成本。M300系列有高达100K的带时间戳完整的数据缓存,可以通过USB接口直接进行数据存储。M300系列提供了USB Device、U
[测试测量]
基于STC89C516RD单片机的冰箱温控器系统
随着对电冰箱在节能、环保、舒适等方面的要求不断提高,越来越多的智能控制技术被引入到电冰箱中。嵌入式智能家用电器,(简称为智能家用电器)。这种家用电器,人机界面友好方便,由单片机控制家用电器的基本功能,同时还模拟人的智能活动过程。在控制过程中根据各种智能活动进行必要的处理,大大提高了家用电器的品质和性能,产生了更加优秀的控制效果,也使人们得到更理想的服务。 1 系统结构 系统以STC89C516RD单片机为控制核心,采用220 V电源供电,通过液晶显示当前时间以及由温度传感器采集到的冷藏室、冷冻室以及室外温度。时间和各室温度值均可通过按键设置,由于系统集成红外遥控功能,使用者还可以通过遥控器远程设置时间及各室温度。
[家用电子]
单片机汇编语言和最常用的高级语言分析
单片机的编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,一般用户已经不再使用。下面分别对单片机汇编语言和最常用的高级语言进行分析。 单片机的汇编语言 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植,因为他们的指令系统是有区别的。但懂得汇编语言可帮助了解影响任何语言效率的特殊规定。例如,懂得汇编语言指令就可以使用在片内ram作变量的优势,因为片
[单片机]
mcs-51单片机 扫描矩阵键盘程序
#include reg52.h #define uint unsigned int #define uchar unsigned char sbit DSCQ=P2^6;//位定义段锁存器控制端 sbit WSCQ=P2^7;//位定义位锁存器控制端 uchar code table ={0x3f,0x06,0x5b,0x4f, //0,1,2,3 0x66,0x6d,0x7d,0x07, //4,5,6,7 0x7f,0x6f,0x77,0x7c, //8,9,a,b 0x39,0x5e,0x79,0x71};//c,d,e,f void delay(uint t);//声明延时函数 void keyscan()
[单片机]
带你使用51单片机做一款简易的电子时钟
一、前言 今天给大家推荐一个51单片机小实验,带你使用51单片机做一款简易的电子时钟,其中计时模块采用DS1302硬件模块,显示采用LCD显示屏,具体怎么实现开来一起看看吧! 二、DS1302模块介绍 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟和31字节静态 RAM,通过简单的串行接口与单片机进行通信。实时时钟、日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年自动补偿等多种功能。时钟操作可通过 AM/PM 指示,DS1302 与单片机之间能简单地采用同步串行的方式进行通信,简易三线SPI通信模式: RES 复位 I/O 数据线 SCLK 串行时钟 SPI
[单片机]