基于ATmgea8型单片机的加热控制系统 |
介绍基于ATmega8型单片机的温度测量度加热控制系统。分析系统的工作原理,详尽讨论系统的硬件电路和软件流程。实验证明,该系统工作可靠,稳定性高。 1 引言 温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。文中介绍的温度测量及加热控制系统以ATmega8型AVR系列单片机为核心部件,通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控简便。实验证明该温控系统具有很高的可靠性和稳定性。 2 系统结构及控制算法 2.1 系统总体结构 温度采集电路以模拟电压形式将现场温度传至单片机。单片机通过自身集成的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单片机 3.2 现场温度采集 式中,A/D_Data是A/D转换后得到的10位数字量,AD_Max是10位A/D转换器参考电压对应的数字量,此处为0x03ff。温度测量绝对误差为400/210℃,相对误差小于0.1%,符合系统精度要求。 3.3 数码管显示电路 此显示电路采用“单片机→串入并出芯片→数码管”的动态显示技术。单片机与74HCl64型串入并出电路使用同步串口SPI方式连接,单片机工作在主机模式,时钟输出端SCK接至74HCl64的CLK引脚,数据输出端MOSI接至74HCl64的数据输入引脚AB。 由于采用动态显示技术,编程时必须注意每次更新显示数值应先将待显示字段送到74HCl64,再通过PC1——PC4使能数码管中某一位点亮,否则就会发生错位显示现象。 3.4 加热驱动电路 ATmega8根据现场温度和用户设定的目标温度及相关控制参数算出实时控制量。将此控制量写入单片机定时器l的OClA寄存器,以决定输出PWM波的占空比。在PWM波的高电平期间,通过限流保护电阻器R4的双向光电耦合器上电工作,双向可控硅TRIACl栅极被经由R1、R2和双向光电耦合器的信号触发导通,加热电路得电工作;PWM波低电平期间,双向光电耦合器截止,双向可控硅TRIACl栅极无触发信号被关断,加热电路断电停止工作。 电路中的R3、C2组成阻容吸收单元,可减小可控硅关断时加热电路中感性元件所产生的自感电动势对可控硅的过压冲击。R1、C1组成低通滤波单元,能降低双向光电耦合器误触发对后续电路的影响。同时,双向光电耦合器的使用彻底隔离了强弱电路,避免了大功率器件对单片机的干扰。 4 软件设计 上位机监控程序基于Visual C++6.0环境开发。使用微软公司提供的MsComm控件有效避免了直接调用Win32API造成的编程繁琐等弊端,以较少代码量实现本系统要求的全双工异步通信。用户可通过上位机程序完成温控参数设定、温度数据保存和离线分析等操作。 5 结束语 笔者设计的温度测量及加热控制系统充分发挥了ATmega8型单片机的特点,结合现有技术,大大降低了硬件电路的设计复杂度。该系统已经设计制作完成,并在仿真深海高温热液环境的试验中取得了良好效果,具有控温准确、操控界面友好、稳定性高、抗干扰能力强等优点。 |