微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RS-485总线的温度监控系统

基于RS-485总线的温度监控系统

时间:11-19 来源:互联网 点击:

ctiveX组件,不在C++Builder。安装中提供,可以在装有VC6.0的PC上获得,拷贝到本机上注册后,在C++Builder下,先是在菜单的Compotlent选项中导入ActiveX控件,再InstallPackages后就可以在ActiveX面板中看到并使用它了。

数据库采用微软的ACC:ESS数据库,使用ADO数据引擎;C++Builder在ADO面板中提供了完备的ADO开发控件,实现了通过鼠标操作就能实现连接数据库、编辑数据内容、显示数据等一些基本数据库操作功能。程序还可以绘制温度变化历史曲线便于操作员管理。总线通信格式设置

上位机和下位机之间的串行通信采用RS一485标准接口,PC端接一个RS232/     485的转换器,就实现RS485总线控制了。在通信频率1200bps 的情况下,有效通信距离为1.2km。由于有多个从设备并联在485总线上,所以要制定严格的通信格式,表1是用到的通信协议。

结语

笔者设计了一种基于RS485总线的温控系统。此系统投资少,架设简单、可扩展性强,大大减轻管理者的负担,实现了工业控制自动化。目前在多个场所得到了具体应用,其测温精度在0.5℃以内,系统工作可靠稳定,无通信故障。

引言

RS一485总线由于平衡差分传输的特性,具有抗干扰能力强,传输距离远、有较强的级连的能力。能实现多站远距离通信,组网方便,成本低廉,因此在工业控制领域得到广泛应用。

本系统是基于RS一485总线的远程多路温度监测、控制系统,上位机是一台PC,下位机是多个以AT98S51为控制器的温度传感器。工作时,下位机会向上位机发出本机地址和询问预置温度的请求。上位机获得下位机地址后,就知道那些地址的下位机已启动并根据请求把相应的预置温度发给下位机,此后每隔一定时间逐一询问已启动的下位机测定的温度信息,获得温度值后存入数据库并实时显示当前各路传感器测定温度,当温度过高时,会告警提示。下位机获得预置温度后,开始对传感器的数据采集和温度测量。当温度低于预置温度时,接通加热器加热温度,温度过高时,接通制冷设备加速降温,同时把温度信息传回上位机,温度超出范围后,还会以蜂鸣器报警。上位机接收下位机的测量温度后存入数据库,并实时显示,系统还具备数据库管理、温度变化曲线绘制等功能。当下位机掉电重启后,会向上位机重新问询获得掉电前的预置温度。温度监控系统由传感器电路、信号调整电路、A/D采样电路、控制电路、监控主机组成。基本工作原理是:传感器电路将感受到的温度信号以电压形式输出,经调整电路变换到TTL电平、由A/D采样后将数字量送给单片机控制电路,单片机根据开机时上位机传来的设定温度判断作何种控制,如温度未到设定温度,经驱动控制继电器闭合接通加热器,如温度过高则接通制冷设备加速降温。单片机还将所测温度在数码管上显示,并在上位机询问时把测量温度送到上位机入库。系统框图如下图1。

系统实现

硬件设计

AT89S51是ATMEL公司的可在线编程的单片机,它价格低廉,且支持在系统编程(ISP),方便设计者开发调试。温度传感器选用NS公司生产的L= M35,它具有很高的工作精度和较好的线性工作范围,测温范围为一55℃~+150℃,完全适用于一般的测温场合。其输出电压与摄氏温度线性成正比,无需外部校准即可提供1/4℃的测量精度。信号调整电路将传感器电路输出的变化范围为2V左右的直流电压,调整为TTL电平,以便与A/D兼容。由于单片机 IO口有限,在对测温实时性要求不是太高的情况下,A/D变换采用8位串行A/D转换器ADC0832,它与单片机的IO连线只有三根,减少了IO占用量。四个数码管的数据端都接到单片机P1口,控制端由P2[3..0]控制,利用定时器中断触发,每次只接通一个数码管,显示相应数值,利用分时显示在数码管上显示温度值。当温度变化时,A/D采集调整电路输出电压值,送单片机,单片机根据采样值判定温度,通过数码管显示温度值并回馈上位机。

原理图如图2 所示。

软件设计

下位机软件设计

下位机的软件是在KeiluVisiml2下,使用C语言开发的。下位机的软件设计中,主要解决三个问题:一是ADC0832的控制位写入。根据数据手册,在时钟上升沿写入配置字即可,但按此方法始终不能正确读出数据,后来经过试验,在写入配置字的每一位后,还要在负跳变前把数据翻转,配置字才能正确写入。二是数码管上

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top