当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于RS-485总线的温度监控系统

引言

  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 所示。

 

  软件设计

  下位机软件设计

  下位机的软件是在Keil uVisiml2下,使用C语言开发的。下位机的软件设计中,主要解决三个问题:一是ADC0832的控制位写入。根据数据手册,在时钟上升沿写入配置字即可,但按此方法始终不能正确读出数据,后来经过试验,在写入配置字的每一位后,还要在负跳变前把数据翻转,配置字才能正确写入。二是数码管上温度值的显示。最后采用中断方案,每隔10ms进入中断程序,循环选通各个数码管,分时显示对应的数字值。三是A/D采样数据的处理,为避免因干扰而造成A/D采样数据不稳定,这里采用软件滤波的方法以滤除可能的尖峰干扰。方法是连续采样七次,去掉最高值和最低值,其余五次取平均值来获得A/D采样的数字量。

  经测量,0V对应的温度为0℃,,5V时对应的温度为1 25℃,则比例因子K=0.04V/℃。每个数字量对应的电压值为20mV,则数字量变化与温度变化比例关系K1=2数字量/℃,利用此比例因子就可由数字量得到当前温度。

  上位机软件设计

  本系统为主从式监控系统,主机(即上位机)在向下位机发预置温度启动下位机后,轮询不同地址码的从机,获得温度值,存入数据库并在主界面显示。从机接收到主机预置温度后启动,每次主机询问温度值时回送测量温度值。如出现掉电后重启的情况,从机向主机发出重置请求,要求主机重发预置温度。上位机的通信软件开发采用Borland公司的C++Builder5.O,它的集成RAD开发环境可以帮助开发人员快速高效地开发出高质量的程序。在C++Builder中对串口进行编程可以使用Mscomm控件加快开发进度。它是一个ActiveX组件,不在C++Builder。安装中提供,可以在装有VC6.0的PC 上获得,拷贝到本机上注册后,在C++ B u il d e r下,先是在菜单的Compotlent选项中导入ActiveX控件,再Install Packages后就可以在ActiveX面板中看到并使用它了。

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

  上位机和下位机之间的串行通信采用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 所示。

 

  软件设计

  下位机软件设计

  下位机的软件是在Keil uVisiml2下,使用C语言开发的。下位机的软件设计中,主要解决三个问题:一是ADC0832的控制位写入。根据数据手册,在时钟上升沿写入配置字即可,但按此方法始终不能正确读出数据,后来经过试验,在写入配置字的每一位后,还要在负跳变前把数据翻转,配置字才能正确写入。二是数码管上温度值的显示。最后采用中断方案,每隔10ms进入中断程序,循环选通各个数码管,分时显示对应的数字值。三是A/D采样数据的处理,为避免因干扰而造成A/D采样数据不稳定,这里采用软件滤波的方法以滤除可能的尖峰干扰。方法是连续采样七次,去掉最高值和最低值,其余五次取平均值来获得A/D采样的数字量。

  经测量,0V对应的温度为0℃,,5V时对应的温度为1 25℃,则比例因子K=0.04V/℃。每个数字量对应的电压值为20mV,则数字量变化与温度变化比例关系K1=2数字量/℃,利用此比例因子就可由数字量得到当前温度。

  上位机软件设计

  本系统为主从式监控系统,主机(即上位机)在向下位机发预置温度启动下位机后,轮询不同地址码的从机,获得温度值,存入数据库并在主界面显示。从机接收到主机预置温度后启动,每次主机询问温度值时回送测量温度值。如出现掉电后重启的情况,从机向主机发出重置请求,要求主机重发预置温度。上位机的通信软件开发采用Borland公司的C++Builder5.O,它的集成RAD开发环境可以帮助开发人员快速高效地开发出高质量的程序。在C++Builder中对串口进行编程可以使用Mscomm控件加快开发进度。它是一个ActiveX组件,不在C++Builder。安装中提供,可以在装有VC6.0的PC 上获得,拷贝到本机上注册后,在C++ B u il d e r下,先是在菜单的Compotlent选项中导入ActiveX控件,再Install Packages后就可以在ActiveX面板中看到并使用它了。

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

  总线通信格式设置

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

 

  结语

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上位机串口通信是指在上位机(通常是计算机或微控制器)与外部设备之间通过串行通信协议进行数据传输和通信的过程。在串口通信中,数据以位为单位按顺序传送,通常使用一个或两个物理线路(通常是两条线)来实现数据的发送和接收。

关键字: 上位机 串口通信

摘要:以地铁BAS实训系统为研究对象,按照集中管理、分散控制的设计思想,基于Niagara软件平台设计和搭建了一套3层分布式地铁BAS实训系统,分为管理层、控制层、现场层,包含空调送回风和智能照明两个监控子系统。首先建立...

关键字: BAS实训系统 上位机 监控

无论是水厂、污水厂还是供水、排水、污水泵站的运行核心就是控制系统,而控制系统的核心就是以PLC为主体的自动控制系统。关于自控系统的控制方案有很多种,但并不是都有实效。现在,就以水厂中的沉淀池吸泥桁车为例子,讲一讲智慧水务...

关键字: 上位机 现场总线

摘 要 :设计一辆基于单片机的手机可控多功能智能小车,小车与手机采用无线传输技术通信。智能小车主要分为手机 APP、控制器模块、传感器模块、执行器模块以及报警模块五个部分。传感器模块感知外部环境信息并把数据传送至控制器,...

关键字: APP 智能控制 无线监控 传感技术 上位机 报警

这两天看文的人比较少,先来分享一篇非常简单的关于虚拟串口软件的使用的小短文。在编写串口上位机时,需要进行调试。一种方式是与下位机进行通信进行测试;另一种方式是借助虚拟串口软件来进行测试。虚拟串口软件使用演示虚拟串口软件是...

关键字: 上位机 软件 调试

摘 要 :随着汽车保有量的飞速发展,城市交通所面临的拥堵问题倍受人们关注。针对这一问题,提出一种基于 ZigBee 无线网络的智能交通系统。该系统可实时采集道路信息,利用 ZigBee 模块进行信息传输,通过上位机实现...

关键字: 智能交通 Zigbee 无线网络 车流检测 上位机 车载终端

摘要:针对目前市场上存在的一些电磁继电器参数检测仪器的缺点,为了能够精确采集电磁继电器的吸合电压等主要参数,采用ARM技术和上、下位机方法,设计了一款基于ARMCortex-M3芯片STM32F103ZET6单片机控制的...

关键字: STM32 电磁继电器 检测仪 上位机

出品21ic论坛gaoyang9992006网站:bbs.21ic.com做安卓手机APP通常使用高端大气的AndroidStudio,开发语言是Java,该开发IDE就是体积大学习成本高,入手慢,这里给大家推荐一款国产...

关键字: 上位机 BLE蓝牙 软件

摘 要 :针对目前城市道路井盖安全存在的问题,提出一种基于 LoRa 的实时井盖安全监测系统。该系统由井盖状态采集装置与上位机平台两部分组成,井盖状态采集装置由触发器采用LoRa 技术与集中器进行通信,集中器通过 4G...

关键字: 低功耗广域网 LoRa 技术 窨井 安全监测 上位机 远程通信

摘 要:系统设计基于嵌入式ARM11系统以及无线WiFi智能控制房屋终端设备,先对室内的环境数据进行无线网路分布式采集,采用嵌入式WiFi模块实现数据传输,当环境异常时,系统做出响应以改善室内环境,具有TTS语音报警、打...

关键字: 嵌入式 ARM11 Wi-Fi TTS语音报警 一体化步进电机 上位机
关闭
关闭