基于ATmega16L单片机的温度控制系统设计

发布时间:2010-3-15 11:42    发布者:李宽
关键词: 单片机 , 温度控制 , 系统设计
1 引言

随着科学技术的进步,检测行业发展快速,除了检测项目和内容不断扩大,更重要的是检测愈来愈科学化、职能化,主要表现在检测过程及检测结果由计算机监控和显示。多点温度的采集控制近年来在检测行业应用较为广泛,其中以微机为核心的监控技术价格低廉,使用方便,应用也最普遍。

本文主要介绍基于ATmega16L单片机的温度控制系统的设计,具体包括炉温的采集和控制、LCD显示以及PC机绘制温度变化的曲线图等。硬件和软件设计采用模块化的思想,系统集成度较高。

2 系统的硬件设计

图1为系统硬件的总体结构图。系统由主控制器、温度传感器、运算放大电路、液晶显示电路、键盘电路、串口通信电路等构成。由结构图1可看出,系统模块较多,所以应合理分配I/O 口资源,各模块以ATmega16L单片机为核心相连接。

1.gif

2.1 主控制器

系统主控制器采用ATmega16L,该单片机是一款高性能、低功耗的8位AVR微处理器,具有先进的RISC结构,内部有大容量的ROM、RAM、 Flash和EEPROM,集成4通道PWM,SPI串行外设接口,同时具有8路10位A/D转换器,对于数据采集系统而言,外部无需单独的A/D转换器,从而可节省成本。另外,该单片机提供JTAG调试接口,可采用自制的简易JTAG仿真器进行程序调试。

2.2 温度采集电路

图2为温度采集电路。该电路主要由温度传感器AD590和差分运算放大器AD524组成,其中温度传感器AD590是一种新型的两端式恒流器件。激励电压范围是4~30 V,测温范围为-55~+150℃。当AD590的电流流过一个5 kΩ的电阻时,温度升高1 K,该电阻上的电压增加5 mV,即转换成5 mV/K。因此,温度在0~100℃间变化时,电阻电压在1.365~1.865 V间变化。运算放大器AD524用于把绝对温度转换成摄氏温度。

2.gif

2.3 温度控制电路

该电路主要由光电耦合器和可控硅组成,如图3所示。单片机发出的控制信号(PWM)经驱动器后控制光电耦合器的工作状态。当光电耦合器工作后,使双向可控硅的触发极处于高电平,可控硅处于导通状态,进而控制加热棒的工作。

3.gif

2.4 其他电路

(1)显示电路系统的模块较多,I/0接口紧张,显示器选用液晶显示器TCl602A,接口采用高4位数据传输方式。

(2)键盘电路系统采用非矩阵式键盘,该键盘结构简单,使用方便,不会占用较多I/O,适用于按键个数较少的场合。

(3)串口电平转换 电路电平转换由MAX488器件完成,MAX488为RS-488收发器,速度高于MAX232,简单易用,单+5 V供电,外接少量器件即可完成从TTL电平到RS-488电平的转换。

3 系统软件设计

系统采用分层控制方式保证温度控制系统稳定。下位机采用ATmega16L单片机作为硬件开发核心,采用C语言编程。上位机采用工控机作为监控系统,采用 Visual Basic6.0编程,两层之间采用RS-488通讯实现数据交换。在单片机部分,软件设计采用模块化设计方法,整个软件可分为主程序、按键处理程序、 A/D转换程序、增量式PID处理程序、串行通信程序和显示处理程序、数据保存处理程序、看门狗处理程序。

(1)主程序 系统主程序主要完成系统各部件初始化操作,此外,在系统开始运行后等待按键处理。图4为其流程。

4.gif

(2)按键处理程序 键盘处理程序通常采用查询方法实现按键的识别,CPU只要一有空闲就调用键盘扫描程序,查询键盘,识别键值,并予以处理。

(3)A/D转换程序 ATmega16有一个10位包括采样保持电路的逐次逼近型A/D转换器,该转换器与一个8通道模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。通过设置ADCSRA寄存器的ADEN即可启动A/D转换器,只有当ADEN置位时,参考电压及输入通道选择才生效。向A/D转换器启动转换位 ADSC位写“1”可启动单次转换。在转换过程中此位保持为高电平,直到转换结束触发中断。然后被硬件清零。

(4)增量式PID处理程序 该温度控制系统具有滞后性、时变性和非线性,不可能建立该系统的精确数学模型,因此如果使用常规的线性控制理论,要达到满意的控制效果非常困难。采用  增量式数字PID控制器,可解决这个难题。

增量式PID是指数字控制器的输出只是控制量的增量,由于计算机输出的是增量,所以误动作时对输出的影响较小。控制增量的确定仅与最近的k、k-1、k- 2次的采样有关,所以能够较容易地通过加权处理而获得较好的控制效果。另外,对于数字控制系统,由于A/D转换器位数的限制,其输出控制量受最小和最大值的限制,系统加入抗积分饱和法对其优化。图5为增量式PID控制算法程序流程。

5.gif

以下是增量式PID控制的程序代码:

6.gif

(5)串行通信程序 系统与上位计算机之间采用RS-488的串行数据传输方式。单片机采用中断方式接收数据,而发送数据则采用查询方式。

(6)显示处理程序 LCD-TC1602A LCD接口设计采用4位控制方式,使用4位数据线D4~D7控制时序分两次传送,先传送高4位数据,再传送低4位数据。

(7)数据读写处理程序 ATmega16单片机内部集成有512 B的EEPROM,它是作为一个独立的数据空间而存在的。ATmesa16单片机通过对相关寄存器的操作实现对EEPROM按字节读写。

(8)看门狗处理程序 ATmega16单片机内部集成有硬件看门狗,看门狗由片内独立的振荡器驱动,设置看门狗的步骤为:先初始化并打开看门狗,然后把喂狗指令放在循环程序中。

4 系统测试分析

各个模块测试完成后,将下位机由测试端的硬件通过串口与PC机连接,构成完整的温度测试系统。在上位机中运行Visual Basic编写的监控程序,通过下位机的键盘设置加热炉温度为80℃.单击“打开通信端口”,选择所要通信的端口后,单击“开始测温”,这时下位机就会向上位机发送实时温度值,并实时绘出温度趋势曲线。

当单击“结束”时,整个系统停止工作。上位机显示的温度趋势曲线如图6所示,测试结果显示,该系统对加热炉温度的采集和控制比较准确。

7.gif

5 结束语

充分利用AVR ATmega16单片机的内部资源,系统集成 度高,系统利用增量式PID算法改变PWM的输出值,然后控制可控硅的开关,最终使被控对象的温度值趋向于给定的温度值。该系统操作容易、可靠性好,具有较高的实用价值。就其采样频率和分辨率来说属于中速类型,适合于对数据采样频率要求不是特别高的应用场合。

参考文献

   1. 陈胜勇,张凯翔.多点温度采集控制系统的分析与研究[J].宁夏机械,2007(1):19-22.
   2. 夏益民,杜敏.AT89C2051在加热炉温度采集系统中的应用[J].电子世界,2005(10):35-37.
   3. 李震,洪添胜.基于AVR单片机和PID算法的水温控制器[J].国外电子测量技术,2006,25(6):47-50.
   4. 程德福,林君.智能仪器[M].北京:机械工业出版社,2005.
   5. 刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003.
   6. 杨锦.数字PID控制中的积分饱和问题[J].华电技术,2008,30(6):64-67.

作者:夏益民 (广东工业大学自动化学院,广东,广州,510006) 周卓斌 (华鼎半导体科技有限公司广州开发部,广东,广州,510630)
刊 名:来源: 电子设计工程 2009(12)
本文地址:https://www.eechina.com/thread-9393-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表