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

  • 格式:doc
  • 大小:623.00 KB
  • 文档页数:12

基于ATmega16L单片机的温度控制系统设计随着科学技术的进步,检测行业发展快速,除了检测项目和内容不断扩大,更重要的是检测愈来愈科学化、职能化,主要表现在检测过程及检测结果由计算机监控和显示。

多点温度的采集控制近年来在检测行业应用较为广泛,其中以微机为核心的监控技术价格低廉,使用方便,应用也最普遍。

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

硬件和软件设计采用模块化的思想,系统集成度较高。

2 系统的硬件设计图1为系统硬件的总体结构图。

系统由主控制器、温度传感器、运算放大电路、液晶显示电路、键盘电路、串口通信电路等构成。

由结构图1可看出,系统模块较多,所以应合理分配I/O 口资源,各模块以ATmega16L单片机为核心相连接。

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.3 温度控制电路该电路主要由光电耦合器和可控硅组成,如图3所示。

单片机发出的控制信号(PWM)经驱动器后控制光电耦合器的工作状态。

当光电耦合器工作后,使双向可控硅的触发极处于高电平,可控硅处于导通状态,进而控制加热棒的工作。

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为其流程。

(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控制算法程序流程。

以下是增量式PID控制的程序代码:(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所示,测试结果显示,该系统对加热炉温度的采集和控制比较准确。

5 结束语充分利用AVR ATmega16单片机的内部资源,系统集成度高,系统利用增量式PID算法改变PWM的输出值,然后控制可控硅的开关,最终使被控对象的温度值趋向于给定的温度值。

该系统操作容易、可靠性好,具有较高的实用价值。

就其采样频率和分辨率来说属于中速类型,适合于对数据采样频率要求不是特别高的应用场合。

基于ATmgea8型单片机的加热控制系统[日期:2008-11-18 15:17:00] 作者:未知来源:介绍基于ATmega8型单片机的温度测量度加热控制系统分析系统的工作原理,详尽讨论系统的硬件电路和软件流程实验证明,该系统工作可靠,稳定性高l 引言温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域文中介绍的温度测量及加热控制系统以ATmega8型AVR系列单片机为核心部件,通过对系统软件和硬件设计的合适规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控简便实验证明该温控系统具有很高的可靠性和稳定性2 系统结构及控制算法2.1 系统总体结构温度测量及加热控制系统的总体结构如图1所示系统主要包括现场温度采集、实时温度显示、加热控制参数设置、加热电路控制输出、与上位机串行通信和系统核心ATmega8型单片机等温度采集电路以模拟电压形式将现场温度传至单片机单片机通过自身集成的A/D转换器将模拟电压转化为控制系统可用的数字量单片机结合现场温度与用户设定的目标温度,按照已经编程固化的增量式PID控制算法计算出实时控制量以此控制量使能光电隔离驱动电路,决定加热电路的工作状态,使炉温逐步稳定于用户设定的目标值系统运行过程中的各种状态参量均由数码管实时显示,并通过RS232串口与上位计算机进行全双工通信用户直接在上位机完成温度测量和加热控制的全部操作2.2 系统控制算法系统采用基于增量式PID算法的脉宽调制(PWM)控制方法,即PWM方波的占空比由增量式PID算法求得增量式PID算法的输出量为式中,en、en-1、en-2分别为第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分别为比例系数、积分系数和微分系数,T为采样周期单片机每隔固定时间T将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定PWM方波的占空比,后续加热电路根据此PWM方波的占空比决定加热功率现场温度与目标温度的偏差大则占空比大,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减小;反之,二者的偏差小则占空比减小,加热电路加热功率减小,直至目标值与实测值相等,达到自动控制的目的3 硬件设计3.1 ATmega8单片机ATmega8型单片机是ATMEL公司推出的基于AVR RISC结构的高档Flash型单片机其核心将32个工作寄存器和指令集连接在一起,所有工作寄存器都与ALU(算术逻辑单元)直接相连,实现了1个时钟周期执行1条指令同时访问(读写)二个独立寄存器的操作这种结构提高了代码效率,使得大部分指令的执行时间仅为1个时钟周期因此,ATmega8具有接近l MI/s/MHz的性能,运行速度比普通CISC单片机高10倍ATmega8型单片机内集成了执行速度为二个时钟周期的硬件乘法器、8 KB的Flash程序存储器、512字节的E2PROM、2个具有比较模式的8位定时器、1个具有比较和捕获模式的16位定时器、3路最大精度为16位的PWM输出、8通道10位A/D转换器,PI/TWI同步串口及USART异步串口ATmega8片内集成的众多系统级功能单元为控制系统的开发提供了很大便利设计过程中,尽量通过软件编程简化硬件电路,有效缩短了开发周期3.2 现场温度采集现场温度由温度传感器获得在本系统中,温度传感器选用Ptl00铂电阻器,利用铂金属自身阻值随温度变化的特性测温铂电阻经变送器放大及线性化处理,输出4 mA~20 mA的标准直流信号,对应于现场温度0℃~400℃,通过150 Ω高精度金属膜电阻转化为O.6 V~3 V直流电压信号此模拟电压信号符合ATmega8自带A/D转换器输入要求,连接至ATmega8的PC0即可进行A/D转换ATmega8内部集成有8通道10位高速A/D转换器本系统只选用单通道PCO作为A/D转换的模拟电压输入A/D转换的参考电压使用系统自带的Vcc基于前述,输入10位A/D转换器的模拟电压0.6V~3 V代表0℃~400℃,则现场温度T可以表示为:式中,A/D_Data是A/D转换后得到的10位数字量,AD_Max是10位A/D转换器参考电压对应的数字量,此处为0x03ff温度测量绝对误差为400/210℃,相对误差小于0.1%,符合系统精度要求至此,温度值由非电模拟量转换为数字量,可以直接用于单片机内部加热控制算法的运算实际编程时,为了降低采样过程瞬态误差的干扰,运用了算术均值滤波的方法,即最终参与控制运算的温度值T 通过10次采样的温度值求算术平均取得3.3 数码管显示电路加热过程中,被控对象的实际温度、用户设定的目标炉温等参量通过数码管显示电路实时显示数码管显示电路的原理如图2所示此显示电路采用“单片机→串入并出芯片→数码管”的动态显示技术单片机与74HCl64型串入并出电路使用同步串口SPI方式连接,单片机工作在主机模式,时钟输出端SCK接至74HCl64的CLK引脚,数据输出端MOSI接至74HCl64的数据输入引脚AB单片机将需要显示的8位字段码通过SPI传至74HCl64,由74HCl64输出8位并行逻辑电平驱动示通过使用同步串口SPI与74HCl64型串入并出芯片驱动数码管的8位字段码,比传统并行驱动方式节约6个单片机I/O口,并且利用ATmega8自带的硬件SPI单元,无需软件模拟SPI通信由于采用动态显示技术,编程时必须注意每次更新显示数值应先将待显示字段送到74HCl64,再通过PC1——PC4使能数码管中某一位点亮,否则就会发生错位显示现象3.4 加热驱动电路ATmega8的I/0口输出负载能力最大为40mA,无法直接驱动工业环境中使用的电炉、电机等大功率设备,必须通过中间驱动电路实现单片机对功率设备工作状态的控制实际应用中,通常采用继电器或交流接触器间接驱动由于继电器或交流接触器具有机械接触特点,因而在很大程度上降低了控制系统整体的稳定性和可靠性为了避免机械接触开关的缺点,本系统选用以可控硅为主体的完全光电隔离的中间驱动电路可控硅是大功率开关型半导体器件,能在高电压、大电流条件下工作,具有无机械接触、体积小、便于安装等优点,广泛应用于电力电子设备中加热驱动电路示意图如图3所示ATmega8根据现场温度和用户设定的目标温度及相关控制参数算出实时控制量将此控制量写入单片机定时器l的OClA寄存器,以决定输出PWM波的占空比在PWM波的高电平期间,通过限流保护电阻器R4的双向光电耦合器上电工作,双向可控硅TRIACl栅极被经由R1、R2和双向光电耦合器的信号触发导通,加热电路得电工作;PWM波低电平期间,双向光电耦合器截止,双向可控硅TRIACl栅极无触发信号被关断,加热电路断电停止工作电路中的R3、C2组成阻容吸收单元,可减小可控硅关断时加热电路中感性元件所产生的自感电动势对可控硅的过压冲击R1、C1组成低通滤波单元,能降低双向光电耦合器误触发对后续电路的影响同时,双向光电耦合器的使用彻底隔离了强弱电路,避免了大功率器件对单片机的干扰4 软件设计系统程序由主程序、温度采集子程序、加热控制子程序、键盘扫描子程序、串行通信子程序和中断子程序等部分组成主程序主要完成加热控制系统各部件的初始化和自检,以及实际测量中各个功能模块的协调键盘扫描和控制算法等子程序利用ATmega8丰富的中断资源,在外部中断和定时器溢出中断子程序中完成上述工作与上位机的串行通信采用ATmega8自带的UART硬件传输中断,以满足数据双向传输的异步性和实时性要求单片机温度采集子程序和加热控制子程序流程如图4所示上位机监控程序基于Visual C++6.0环境开发使用微软公司提供的MsComm控件有效避免了直接调用Win32API造成的编程繁琐等弊端,以较少代码量实现本系统要求的全双工异步通信用户可通过上位机程序完成温控参数设定、温度数据保存和离线分析等操作5 结束语笔者设计的温度测量及加热控制系统充分发挥了ATmega8型单片机的特点,结合现有技术,大大降低了硬件电路的设计复杂度该系统已经设计制作完成,并在仿真深海高温热液环境的试验中取得了良好效果,具有控温准确、操控界面友好、稳定性高、抗干扰能力强等优点。