基于ATmgea8型单片机的加热控制系统

发布者:Joyful888Life最新更新时间:2012-01-14 关键字:温度控制  单片机  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型单片机的特点,结合现有技术,大大降低了硬件电路的设计复杂度。该系统已经设计制作完成,并在仿真深海高温热液环境的试验中取得了良好效果,具有控温准确、操控界面友好、稳定性高、抗干扰能力强等优点。

关键字:温度控制  单片机  ATmega8  脉宽调制 引用地址:基于ATmgea8型单片机的加热控制系统

上一篇:ATmegal62的特点及其在多种系统中的应用
下一篇:基于ADuC848的钻井压力数据采集系统

推荐阅读最新更新时间:2024-03-16 12:50

Proteus超声波测距仿真电路图+单片机源程序
大多数人感觉超声波测距proteus仿真是无法实现的,虽然proteus自带的库有GUR03和SRF04两种模型,但是却与实际传感器使用方法相差甚远,即使求助度娘也很难找到简单易懂的教程。 之前很多人想做超声波测距仿真但都没有找到很好的办法去实现,在软件里没有这样的元件,有人用一个按键开关去模拟仿真,这样仿真出来的效果,非常不好。还有人用555时基电路产生一个延时信号(555电路作为超声波仿真的内部元件),来模拟超声波头发送后遇到回波返射回来的这阶段时间,来对单片机超声波测距单片机系统进行模拟,能完成对超声波测距模块大致仿真,但需要繁杂的设计。 下面是一个超声波测距模块的proteus模型,能直接用于proteus仿真,
[单片机]
Proteus超声波测距仿真电路图+<font color='red'>单片机</font>源程序
一种新的单片机“看门狗”电路软件设计方法
    摘要: 单片机控制系统“看门狗”电路的有效性,除硬件电路的可靠性以外,主要取决于如何正确给“看门狗”电路进行复位(即“喂狗”),文章在介绍了一种采用MAX706和89C52构成的硬件电路的基础上,给出了一种新颖可靠的“看门狗”电路软件设计方法。     关键词: 抗干扰  单片机  看门狗  MAX706  89C52     随着MCS-51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机”。笔者通过近几年的设计实践及不断试验,总结了一套可靠的“看门狗”硬件电路及软件设计方法。由于一些专业期刊曾经刊登过许多关于“看门
[工业控制]
单片机的数字滤波器设计
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。在互联网行业快速发展的今天,数据采集已经被广泛应用于互联网及分布式领域,数据采集领域已经发生了重要的变化。 而在数据采集中存在着各种噪声。滤除噪声的方法有很多种,既有数字滤波器,也有模拟滤波器。这里我们采用了基于单片机和C语言来设计并开发数字滤波系统。 我们针对于单片机数据采集系统中经常出现的随机干扰,通过手动输入来模拟数据采集过程,验证了几种使用较为普遍的克服随机干扰的
[单片机]
51单片机片外扩展RAM
一.概述 普通51单片机可以片外扩展ROM和RAM各64K字节的空间,在实际应用中很少扩展外部ROM,一般都是扩展RAM,因为普通51单片机的内部RAM实在太少,只有128-256字节,处理数据量较大时往往不够用。而片外扩展RAM需要占用P0口、P2口和P3.6、P3.7,消耗了18个IO口,导致IO口又不够用。为了解决以上矛盾,大容量的51单片机(增强型51单片机)应运而生,这种单片机一般内置1K-16K的RAM和16K-64K的ROM,价格也相对昂贵。在某些情况下,用普通51单片机通过片外扩展RAM要比直接使用增强型51单片机更能节约成本。所以,学习51单片机片外扩展RAM是很有必要的。 二.电路设计 在WSF-51DB
[单片机]
51<font color='red'>单片机</font>片外扩展RAM
单片机实现7段数码管显示
这个是我学习单片机过程中所做的第一个实验,我们上课实验用的是汇编的程序,但是个人觉得还是用c语实现时更为简洁!这个例子可以用proteus进行仿真. 单片机选择常用的AT89C52,用与控制7段数码管的显示,共有4位7段共阴极数码管,用于显示数据.另外所需的器件如下: 1、74ls273地址锁存器,用于字位锁存器和字型锁存器,上升沿锁存。 2、74ls02双输入或非门,与74ls04、单片机的读写信号一起选中锁存器74ls273,决定数码管的字段和字位的显示内容。 3、74ls04是6输入非门,对单片机输出的片选信号取反,和74ls02一起决定锁存器的片选。 4、7407集电极开路的6正相高压驱动器,提供数码观字型显示的
[单片机]
<font color='red'>单片机</font>实现7段数码管显示
单片机的多机无线短信通信系统设计
现代通信技术的迅速发展使得许多应用领域都采用无线的通信方式进行数据传输。编解码芯片PT2262、PT2272组成的电路,由于具有体积小、功耗低、功能强、成本低等特点,广泛应用于各类的无线遥控器、无线报警器以及玩具等其他小型电器装置。但是,这种电路极少用在多个字节数据的通信方面,具有一定的局限性。本文主要介绍利用433 MHz高频发射模块和接收模块来制作多机无线ASCII码格式的短信通信。该通信方式是在433MHz高频发射模块和接收模块的基础上自己定义无线传输协议,实现任意两机之间的多个字节数据通信。 1 硬件系统设计 本系统主要由PICl6F877A单片机构成控制系统,周围4个模块分别是:按键输入模块、显示输出模
[单片机]
<font color='red'>单片机</font>的多机无线短信通信系统设计
51单片机Keil C51的使用(C语言)
实验目的: 初步掌握Keil(C51语言)和SUN ES59PA实验仪的操作和使用,能够输入和运行简单的程序。 实验设备: SUN ES59PA实验仪一套、具有一个RS232串行口并安装Keil C51的计算机一台。 实验原理及环境: 1.在计算机上已安装Keil C51软件。这个软件既可以与硬件(SUN ES59PA实验仪)连接,在硬件(单片机)上运行程序;也可以不与硬件连接,仅在计算机上以虚拟仿真的方法运行程序。如果程序有对硬件的驱动,就需要与硬件连接;如果没有硬件动作,仅有软件操作,就可以使用虚拟仿真。 2. 实验的硬件环境: A3区:CPU总线、I/O接口 片选区 JP37,JP45:地址线A0..A7;
[单片机]
51<font color='red'>单片机</font>Keil C51的使用(C语言)
stm32单片机待机模式的设计
一 待机模式简介 在stm32的低功耗模式中,待机模式可以实现系统的最低功耗,在这种模式下,只需要2uA左右的电流。 三 待机唤醒程序分析 实验现象: 将程序下载到开发板上后,LED灯会不断地亮灭,当按下KEY2键超过3s时,LED灯灭,标志着单片机进入待机模式,再按下KEY1键,这时唤醒单片机,LED又开始不断地亮灭亮灭。 程序中用到的一些宏定义 #definemacEXTI_GPIO_CLK(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO) #definemacEXTI_GPIO_PORTGPIOC #definemacEXTI_GPIO_PINGPIO_Pin_13 #definem
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved