单片机在电磁炉功率控制中的应用
引言
近年来,随着环保和节能意识的逐步提高,一种新兴的"绿色的厨具"--电磁炉正在家庭中普及。它改变了传统的明火烹调方式,利用电磁感应原理,使电流通过内置的线圈时产生磁场,磁场内的磁力线感应到铁制器皿,产生无数高速运动的小涡流,涡流产生的巨大循环能量转换为有效热能,使锅具自行高速加热,最终直接加热食物。电磁炉的热效率达到90%以上,同时它无烟无灰,无污染,不升高室温,不产生一氧化碳等有害物质,安全环保。电磁炉还采用了微电脑控制,能够随意控制温度。正是由于上述种种优点,电磁炉在发达国家的家庭普及率已经达到80%以上。
为了提高电热转换率,家用电磁炉一般采用的是高频电磁炉,须将工频电整流成直流电后再逆变成20kHz以上的高频振荡电流,在高频下,稳定功率输出和实时检测就成了设计的难点和关键所在。采用Holtek公司产的A/D型单片机HT46R22可以方便地实现定温控制、实时检测、报警检测和功率控制,本文着重介绍功率控制的实现。
1 功率控制设计原理
1.1 电磁炉的工作原理
电磁炉的工作原理如图1所示,由主电路和控制电路构成。主电路中220V交流电经整流滤波后加在由电容C1及C2和电感L1与IGBT管S组成的电压谐振变换器上。变换器主要起两个作用,一是将工频转换为20~40kHz的高频交流电,二是将电能转换为磁能。高频交流电加在励磁线圈上,通过电磁感应,直接作用于锅具底部,产生涡流,使锅具迅速加热。控制电路采用单片机HT46R22作为主控制芯片,它能实现许多必要的检测和保护,同时由它产生控制所需的PWM信号,控制电磁炉的输出功率。
1.2 电磁炉的功率控制原理
功率控制,就是当工频交流电稳定的情况下,电磁炉能按设定的功率稳定地输出,以使电磁炉能稳定地工作。因为,负荷电流能反映输出功率的大小,所以,控制的对象可以转化为负荷电流,同时将负荷电流的大小设计为由PWM信号的占空比决定,占空比越大,负荷电流就越大。
用户设定的火力档(功率档)依次为1600W、1400W、1200W、1000W、800W,实测原电磁炉的输出功率(W)、负荷电流(A)、市电电压(V)、负荷电流检测值CRU电压(V)及PWM占空比的关系如表1所列。
表1 输出功率与负荷电流占空比等关系
输出功率/W | 1600 | 1400 | 1200 | 1000 | 800 |
负荷电流/A | 7.33 | 6.21 | 5.5 | 5.02 | 3.67 |
市电电压/V | 220 | 220 | 220 | 220 | 220 |
占空比 | 58 | 47 | 40 | 35 | 22 |
CRUmax/V | 4.48 | 3.68 | 3.24 | 2.88 | 2 |
CRUmin/V | 3.76 | 3.16 | 2.80 | 2.52 | 1.76 |
由表1可以得到PWM信号占空比和负荷电流得关系曲线如图2所示。
2 功率控制的实现
2.1 单片机HT46R22
HT46R22是Holtec公司生产的一种8位高性能精简指令集单片机,特别适合于需要A/D转换的产品设计。其管脚分布如图3所示。
它有3个I/O口,一个PWM输出通道。其低功耗、可编程分频器、计数器、振荡器选择、多通道A/D转换、PC通信等功能,使之广泛应用于工业控制、马达控制、消费类产品等。
2.2 硬件设计
控制电路采用的是双闭环控制,原理图如图4所示。
单片机HT46R22的脚14(PD0)可以输出一通道的PWM信号,它和电流负反馈信号经过直流控制电平形成电路形成直流控制电平,同时,来自主电路的电流检测信号和电压检测信号经锯齿波发生电路后形成锯齿波,锯齿波和直流控制电平相比较就得到了控制电磁炉主电路中的S开通关断的控制脉冲。
比较电压V+恒定,而V-随输出功率变化,当输出功率大于设定功率时,得到低电平的控制电平,输出窄开通脉冲,降低输出功率,反之亦然。这样,就通过一个闭环调节控制达到了稳定输出功率的目的。
2.3 软件设计
功率控制的软件设计是电磁炉软件设计的主要部分,采用汇编语言编程,其中变量说明如下:
1)加热/定温状态切换标志heatflg 1为加热,0为定温,开机初始化为1,只有键盘可改变此标志;
2)加热档位寄存器heatreg和计数器heatcnt heatreg高5位低电平有效,每一位对应一加热档,heatreg7为"保温"控制显示比较方便;heatcnt对5档进行计数,0为"炒",控制查表比较方便;开机初始化 heatreg=f7h,heatcnt=0,为"炒"档,只有键盘可改变此标志;
3)最小火力控制变化定时计数器minpowcnt 在定时器中断中将其减为0后,传入主程序,当处于"加热-保温"时,主程序重置此计数器,并将控制线反转。
源程序及解释如下:
; 功 率 控 制
powctrl:
mov r0, a ;以 下 为 计 算 PWM=128* Ptab/VOL- 28
mov a, 80h
mov r1, a
call mul ;ro,r1=128* Ptab
mov a, VOLADN
add a, offset adcbfr
mov mp, a ;指 向 市 电 电 压 ADC值
mov a, j ar
mov r2, a
call div ;r1=r0,r1/VOL
mov a, r1
sub a, 28 ;PWM=r1- 28,值 在 A中
mo
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)