基于ATmega16的远程温差循环控制器的设计
该设计使用AVR单片机,运用RS 485技术以及NTC热敏传感器技术,研制开发了该远程温差循环控制器。
1 系统结构和工作原理
远程温差循环控制器主要用于测量、显示分体承压太阳能热水器的水箱水温、集热器温度、管道温度及控制温差循环、辅助电加热、管道防冻和参数设置等。控制器主要由主机、从机、水温传感器、防冻传感器等部分组成。主机核心为ATmega16单片机,通过RS 485与从机通信,显示从机采集的温度数据,并完成基本功能设置,把设置数据传送给从机;从机也是以ATmega16单片机为主控器,完成数据采集和控制执行,其系统总体结构框图如图1所示。
2 系统硬件设计
远程温差循环控制器以ATmega16为核心,该单片机带有串行接口,可以接485转换芯片,实现RS 485通信;内置8位A/D模块,可直接实现8通道模拟信号的A/D转换输入;带有512 B的E2PROM,可以实现数据掉电保护。
2.1 主机电路
主机的主要功能是接收从机采集4路温度数据,并显示在128×64的液晶上;主机的另外一个功能是完成基本的设置,然后把设置参数发送给从机。主机主要由RS 485通信、键盘输入、LCD显示等几个模块组成。
2.1.1 RS 485通信
由于RS 485总线通信模式具有结构简单,价格低廉,通信距离和数据传输速率适当等特点,因而已广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。
在该设计中使用接口芯片MAX485,如图2所示。该芯片是Maxim公司的一种RS 485芯片,采用单一+5 V电源工作,额定电流为300μA,采用半双工通信方式。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可。RE和DE端分别为接收和发送的使能端,当RE端口为逻辑0时,器件处于接收状态;当DE端口为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的管脚PD2控制这两个引脚即可。A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。
2.1.2 RS 485通信的抗干扰问题
RS 485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败,甚至系统瘫痪等故障,因此提高RS 485总线的运行可靠性至关重要。
在该设计中,首先采用光电隔离。图2中,四位一体的光电耦合器TLP521_1使单片机与MAX485之间实现了完全的电隔离,消除了相互干扰,提高了工作的可靠性。如图2所示,单片机接收端RXD接TLP521_1的第13引脚;MAX485的RO接TLP521_1的第3引脚。这样,当RO有信号输入时,TLP521_1的第3引脚,通过光电耦合管使第13引脚有相应的电信号,从而降低了相互干扰。TXD,PD2的结构和RXD相同。其次,在RS 485的输出端即A,B两端加入信号限幅二极管D1~D4,其稳压值应保证符合RS 485标准,D1和D3取12 V,D2和D4取7 V,以保证将信号幅度限定在-7~+12 V之间,进一步提高抗过压的能力。考虑到线路的特殊情况(如某一节点的RS 485芯片被击穿短路),为防止总线中其他分机的通信受到影响,在MAX485的信号输出端串联了两个3.3 kΩ的电阻R8和R10,这样本机的硬件故障就不会使整个总线的通信受到影响。在应用系统工程现场施工中,由于通信载体是双绞线,它的特性阻抗为120 Ω左右,所以在线路设计时,在RS 485网络传输线的始端和末端应各接120 Ω的匹配电阻(如图2所示中的R9),以减少线路上传输信号的反射。通过上述几点,可以有效地降低RS 485通信中的干扰。
2.1.3 输出显示和键盘输入电路
液晶显示用的是OCM中128×64的液晶,该液晶显示模块为128×64点阵型液晶显示模块,既可显示各种字符及图形,又可以显示4行汉字,刚好符合该设计要求,显示4路温度,并可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。该设计中,由于单片机接口预留有限,所以LCD与单片机的连接采用串行数据输入方法,数据通过单片机PA7与LCD串行输入端的第4引脚相连;PA4、PA5为片选信号,分别接LCD的第15、第16引脚;PA6作为读/写使能信号,与LCD的第6引脚相连,它不仅接口简单,而且节约了单片机的I/0口资源。键盘输入接口使用到8个按键,采用行列式2×4键盘实现。
2.2 从机电路
从机的主要功能是完成4路温度数据采集,并将这些数据传送给主机;然后接收主机下达的基本设置数据,控制实现温差循环、RS485通信、辅助电加热、管道防冻等功能。RS 485通信与主机相同,下面主要介绍测温和继电器控制部分。
2.2.1 测温电路
测温的关键是
- 基于MMS的即时报警系统设计(01-23)
- 基于ATmega162的智能仪器设计(08-18)
- AVR汇编初探之二《AVR的指令与汇编系统》(01-10)
- Atmega16与DS1302数码管显示程序(12-02)
- ATMEGA16与DS18B20数码管显示(12-02)
- ATmega16利用TWI模块读写24C02程序(12-02)