基于ATmgea8单片机设计的加热控制系统
1 引言
温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。文中介绍的文化测量及加热控制系统以 ATmega8型AVR系列单片机为核心部件,通过对系统软件和硬件设计的合理规划,发挥单片机自身集成众多系统级功能单元的优势,在不减少功能的前提下有效降低了硬件成本,系统操控简便。实验证明该温控系统具有很高的可靠性和稳定性。
2 系统结构及控制算法
2.1系统总体结构
温度测量及加热系统控制的总体结构如图1所示。系统主要包括现场温度采集、实时温度显示、加热控制参数设置、加热电路控制输出、与上位机串行通信和系统核心ATmega8型单片机等。
温度采集电路以模拟电压形式将现场温度传至单片机。单片机通过自身集成的 A/D转换器将模拟电压转化为控制系统可用的数字量。单片机结合现场温度与用户设定的目标温度,按照已经编程固化的增量式PID控制算法计算出实时控制量。以此控制量使能光电隔离驱动电路,决定加热电路的工作状态,使炉温逐步稳定于用户设定的目标值。系统运行过程中的各种状态参量均由数码管实时显示,并通过RS232串口与上位计算机进行全双工通信。用户直接在上位机完成温度测量和加热控制的全部操作。
2.2系统控制算法
系统采用基于增量式 PID算法的脉宽调制(PWM)控制方法,即PWM方波的占空比由增量式PID算法求得。增量式PID算法的输出量为
Δ Un=Kp[(en-en-1)+(T/Ti)en+(Td/T)(en-2 en-1+en-2)] (1)
式中, en、en-1、en-2分别为第n次、n-1次和n-2次的偏差值,Kp、Ti、Td分别为比例系数、积分系数和微分系数,T为采样周期。
单片机每隔固定时间 T将现场温度与用户设定目标温度的差值带入增量式PID算法公式,由公式输出量决定PWM方波的占空比,后续加热电路根据此PWM方波的占空比决定加热功率。现场温度与目标温度的偏差大则占空比大,加热电路的加热功率大,使温度的实测值与设定值的偏差迅速减少;反之,二者的偏差小则占空比减小,加热电路加热功率减少,直至目标值与实测值相等,达到自动控制的目的。
3 硬件设计
3.1 ATmega8单片机[1]
ATmega8型单片机是ATMEL公司推出的基于AVR RISC结构的高档Flash型单片机。其核心将32个工作寄存器和指令集连接在一起,所有工作寄存器都与ALU(算术逻辑单元)直接相连,实现了1个时钟周期执行1条指令同时访问(读写)二个独立寄存器的操作。这种结构提高了代码效率,使得大部分指令的执行时间仅为一个时钟周期。因此,ATmega8具有接近1 MI /s/MHz的性能,运行速度比普通CISC单片机高10倍。
ATmega8型单片机内集成了执行速度为二个时钟周期的硬件乘法器、8KB的Flash程序存储器、512字节的E2PROM、2个具有比较模式的8位定时器、1个具有比较和捕获模式的16位定时器、3路最大精度为16位的PWM输出、8通道10位A/D转换器,SPI/TWI同步串口及USART异步串口。ATmega8片内集成的众多系统级功能单元为控制系统的开发提供了很大的便利。设计的过程中,尽量通过软件编程简化硬件电路,有效缩短了开发周期。
3.2 现场温度采集
现场温度由温度传感器获得。在本系统中,温度传感器选用 Pt100铂电阻器,利用铂金属自身阻值随温度变化的特性测温。铂电阻经变送器放大及线性化处理,输出4mA—20mA的标准直流信号,对应用于现场温度0℃— 400℃ ,通过 150Ω高精度金属膜电阻转化为0.6V—3V直流电压信号。此模拟电压信号符合ATmega8自带A/D转换器输入要求,连接至ATmega8的PC0即可进行A/D转换。
ATmega8内部集成有8通道10位高速A/D转换器。本系统只选用通道PC0作为A/D转换的模拟电压输入。A/D转换的参考电压使用系统自带的Vcc。基于前述,输入10位A/D转换器的模拟电压0.6V—3V代表 0℃ — 400℃ ,则现场温度 T可以表示为:
T=400[(3.0-Vcc)(AD_Data/AD_Max)]/(3.0-0.6)] (2)
式中,A/D_Data是A/D转换后得到的10位数字量,AD_Max是10位A/D转换器参考电压对应的数字量,此处为0x03ff。温度测量绝对误差为400/210℃,相对误差小于0.1%,符合系统精度要求。
至此,温度值由非电模拟量转换为数字量,可以直接用于单片机内部加热控制算法的运算。实际编程时,为了降低采样过程瞬态误差的干扰,运用了算术均值滤波的方法,即最终参与控制运算的温度值 T通过10次采样的温度值求算术平均取得。
3.3 数码管显示电路
加热过程中,被控对象的实际温度,用户设定的目标炉温等参量通过数码管显示电路实时显示。数码管显示电路的原理如图2所示。
此显示电路采用“单片机
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)