远程多点温度控制系统的设计

2022-12-14 版权声明 我要投稿

1 功能要求

系统由主机和从机两部分组成, 从机实现对多个点的温度数据进行采集和控制, 数据通过数据总线传给主机, 由主机实现显示和控制数据的输入, 使用户不用在现场也可对设备进行操作, 实现对温度的远程监控。

2 系统硬件电路设计

2.1 系统框图

2.2 工作原理

由图1可见, 系统由两个部分组成, 分别是主机和从机, 两部分的CPU都采用功能强大的AVR系统单片机。从机CPU接有三个单总线温度传感器DS18B20, CPU通过单总线协议对三个点的温度进行采集, 并通过RS-485总线将温度数据传给主机, 主机收到温度数据后在LCD上显示当前温度值, 并与用户设定的上下限温度值进行比较, CPU根据比较结果产生执行控制信号。再将控制信号通过总线回传给从机, 从机收到后执行控制输出, 执行部件主要是光电隔离和继电器。如果现场温度低于设定下限则启动加热, 如高于上限温度, 则停止加热, 如在设定的上下限之间则不动作。从而将测量点的温度控制在用户设定的上下限之间, 又因用户是对主机的操作完成的, 从机在较远的地方, 这样便实现了温度的远程控制。

2.3 主控CPU

本系统采用ATMEL AVR系列单片机ATmega16作为主控CPU。ATMEL于1997年由A及V先生共同研发RISC (Reduced Instruction Set CPU) 单片机, 简称AVR[1]。图2为芯片ATmega16的引脚图。

2.4 通信接口电路

通信接口芯片采用MAX485芯片, 光电隔离采用P521光电耦合器[2]。具体电路如图3所示。

2.5 输出驱动电路

输出控制执行电路由继电器和光隔驱动器组成, 继电器工作电流为5A, 驱动器采用4N30, 它将光电隔离和复合晶体管驱动封装于一体, 起到了隔离强电的作用, 具体电路如图4所示。

2.6 温度测量器件DS18B20

DS18B20是DALLAS公司生产的一线式数字温度传感器[3][4], CPU只需一根端口线就能与诸多DS18B20通信, 占用微处理器的端口较少, 可节省大量的引线和逻辑电路。它最大的特点是单总线数据传输方式, DS18B20的数据I/O均由同一条线来完成。硬件连接电路如图5所示:

2.7 键盘电路

采用4×4矩阵式键[5], 可获得16个键功能, 刚好能满足系统的需要。键盘功能分配为:0~9数字输入键、查看键、设定/确定键、负号输入键、正号输入键、调节左移键、调节右移键。图6为功能键分布图, 图7为硬件电路图。

2.8 LCD显示器

系统采用128×64液晶显示屏, 能显示32个16×16点阵汉字或64个8×16字符。在系统有菜单功能时, 能显示出非常友好的人机界面, 操作更方便[6]。

3 系统软件设计

系统软件采用C语言编写, C语言具有模块性好、可读性强、可移植性好等诸多优点, 在软件业得以广泛应用[7]。

3.1 主程序结构

主程序分为主机的主程序和从机主程序, 主机主程序主要完成键盘识别, 参数显示和温度数据处理。通信过程中的数据交换在串行中断服务程序中处理。从机主程序主要是采集温度数据, 并发送给主机, 同时执行主机发出的控制指令。通信数据的交换也是在串行中断服务程序中处理, 具体流程图如图8所示, 图A为主机主程序流程图, 图B为从机的主程序流程图。

3.2 通信协议

主机与从机之间通信必须按照一定的通信协议, 具体通信如下:

在上电以后, 主机和从机将串口波特率设为19200bit/s, 从机每到1秒向主机发送“a”“f”“e”这三个测试数据, 当主机收到后向从机返回“a”“x”“z”三个数据, “a”和“z”是固定的前导码和结束码。“X”是主机发出的控制信号, 此信号是用户设定的温度数据与从机传送过来实际温度数据比较产生, 用于控制从机的输出执行机构。在从机收到主机返回的信号后。从机开始传送温度数据, 格式为“a”、“f”、“X1”、“X2”、“X3”、“z”, 其中“a”、“f”是前导码, “X1”、“X2”、“X3”是三路温度数据, “z”是发送完结束码。如果在通信过程中, 主机在上电以后2秒还没收到从机发出的测试码, 则主机会在液晶屏上显示“通信不成功”, 直到收到正确的测试码为止。从机如没收到主机回应, 则会一直发送测试数据, 而不发送温度数据, 直到得到主机的回应。这样主机就能自动检测通信线路是否有故障。并作出反应, 而且能在通信失败后, 如线路正常接通, 系统能恢复到正常的通信状态。

4 运行与调试

系统整机实物图如图9所示:

通信调试过程:

将主机与从机的通信线连接好, 再从从机或主机的串行输出口并出一个接口通过RS-232转换后与PC机连接, PC机上用串口调试软件监测通信总线上的数据是否正确。也可以通过PC机串口调试软件模拟从机或主机向总线发送数据。这样就能很好地进行通信调试, 并能极时发现存在的问题。另外在调试时, 串口调试软件的波特率一定要设到19200bit/s。也就是与系统串口通信波特率相同。

温度控制测试过程:

温度控制测试是先在主机设定温度数据, 再将烧热的电烙铁对传感器加温, 当温度超过设定上限时, 从机超温指示灯亮, 继电器不吸合;当温度低于设定下限时, 温度过低指示灯亮, 同时继电器吸合, 即加热开始;当温度在设定值范围内时, 继电器不会吸合, 同时超温指示灯和温度过低指示灯熄。经反复测试, 完成了预定的功能。

5 总结

该设计主要达到以下功能:

(1) 系统利用多个DS18B20进行多个点的温度数据采集。

(2) 通信距离可达2千米, 通信波特率为19200bps/s, 同时数据正确率极高, 大于99.99%。

(3) 可通过设定温度的上下限, 使被控点的温度在设定范围内。

(4) 在通信过程中如线路出现故障时, 系统自动关闭所有输出, 并显示通信故障。待通信故障解除后, 系统能自动恢复到正常的工作状态。

(5) 能掉电保存设定参数。

摘要:远程温度控制系统广泛应用于工业温控。本文设计的远程多点温控系统由主机和从机两部分组成;主机系统负责显示和控制, 从机系统负责采集温度数据。主机和从机之间的数据通过通信接口芯片RS-485进行传输, 可实现在较远的控制室对现场的多个监测点进行监控。系统硬件采用温度传感器DS18B20作为温度采集器, 以AVR单片机作为主控CPU, 运用128×64点阵液晶显示屏作为显示器。整个系统电路简单、可靠, 可应用于温棚测温、楼宇空调控制和温度监控等领域。

关键词:单片机,温度测量,温度控制

参考文献

[1] 李朝青等编.单片机原理与接口技术[M].北京:北京航空航天大学出版社, 2005

[2] 李刚等编.现代测控电路[M].北京:高等教育出版社, 2004

[3] 刘畅生等编.新型集成电路简明手册及典型应用[M].西安:西安电子科技大学出版社, 2005

[4] 杨春燕等编.新特电子元器件应用手册[M].福州:福建科学技术出版社, 2004

[5] 刘曹巧媛主编.单片机原理及应用 (第二版) [M].北京:电子工业出版社, 2002

[6] 文涛等编.单片机应用开发实例[M].北京:清华大学出版社, 2005

[7] 何立民编.单片机高级教程[M].北京:北京航空航天大学出版社, 2000

上一篇:加强农村文化建设的路径浅析下一篇:工业与民用建筑工程管理的几个问题