新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ATmega16的远程温差循环控制器的设计

基于ATmega16的远程温差循环控制器的设计

作者: 时间:2013-12-11 来源:网络 收藏

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 测温电路

测温的关键是选择合适的感温元件和合理的测温电路参数。这里选用一种负温度系数的热敏电阻器(NTC),它采用玻壳封装,体积小,响应快,价格低,安装方便。水温测量使用NTC测温电阻TG40B503(25℃时,阻值50 kΩ,B值4 050 K,玻璃封装),经A/D转换后由程序查表,控制精确、选择合理的电路参数,在0~99℃范围内误差可小于1 ℃,具有良好的一致性。NTC热敏电阻的温度特性一般可用下面的公式表示:

RT=RT0exp(B/T-B/T0) (1)

式中:RT,RT0分别为热敏电阻器在温度T(单位:K)和T0(单位:K)时的阻值(单位:Ω)。B为热敏电阻器的电阻温度系数(单位:K)。热敏电阻测温电路如图3所示:RT1~RT4为本设计所使用的热敏电阻;PA0~PA3为从机单片机的A/D接口。

基于ATmega16的远程温差循环控制器的设计

2.2.2 继电器控制电路

系统输出功率控制有4路,分别有从机单片机PB0~PB3端口控制温差循环、电加热循环、防冻循环等功能。当主机按“温差循环”键时,主机将把信号发送给从机,从机再将RB0置高,启动手动循环,再次按“循环”键,程序使RB0输出低电平口,关闭手动循环。其他功能与“温差循环”基本相同。为了防止继电器可能干扰单片机的控制电路部分,在单片机PB输出口与继电器驱动接口电路之间加入了光电耦合器TLP521_2,如图4所示。

基于ATmega16的远程温差循环控制器的设计

3 系统软件设计

该设计的软件编程并不复杂,主要有以下几个模块:LCD显示、RS 485通信、A/D软件滤波、行列键盘、继电器控制等。这里主要介绍对RS 485通信、A/D数据的处理。

3.1 RS 485通信格式

在该设计中,虽然只是双机通信,但是为了以后扩展的需要,通信采用轮询方式。通信的发起端是主机,每次通信都是由主机发送指令开始,然后从机接收指令,根据接收到的指令,判断执行相应的动作。指令共有3种,所以用2位二值代码。代码有:00为查询,01为设置参数,02为手动指令传输。

通信流程如下:

(1)主机隔100 ms发查询帧,从机返回传感器数值数据帧;

(2)设置参数、状态等:主机发设置参数帧,从机返回设置确认帧;

(3)若在定时时间内没有收到从机返回数据,则重新发送,一直到从机正确返回。

3.2 A/D数据的处理

测试中发现,若不对A/D转换后的温度数据进行处理,直接用于温差循环控制,会使继电器不时出现误动作。即使在芯片外的测温电路中加入了各种滤波电路,仍不见改善。因此推断该干扰可能来自于A/D转换模块内部。考虑到该系统中现场温度的变化较缓慢,适合采用滑动窗口平均法进行数字滤波。在采用数字滤波方法对A/D转换后得到的连续64个温度数据进行平均后,有效消除了A/D转换后的噪声。

4 结 语

以ATmega16为核心的远程,使用RS 485方案,可以很好地解决问题。该设计方案具有使用元件少,成本低,抗干扰性好等优点。该控制器的功能实用,控制准确可靠,人机对话界面直观,操作简便,能满足各种分体承压式太阳能热水器对温差循环和电加热控制的要求。已经成功用于分体承压太阳能热水器的控制中,亦可用于太阳能热水工程中用于温差循环控制,具有良好的应用前景。


上一页 1 2 下一页

关键词: ATmega16 温差循环控制器 远程通信

评论


相关推荐

技术专区

关闭