电磁炉的检锅原理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 HT45R38电磁炉检锅原理
文件编码文件编码::HA0135S
简介
电磁炉是国内近几年发展得比较快的一种小家电,电磁炉具有如下的优点:无明火、无烟、节电、省时、容易使用等。

电磁炉的发展经历了早期纯硬件控制到现在微电脑单片机控制的阶段。

Holtek 的A/D 型MCU 在电磁炉中得到广泛地运用,其特点在于成本低、效益高、开发周期短等。

Holtek 用于电磁炉控制的MCU 有:HT46R47、HT46R22、HT46R23、HT46R12A 、HT46R14A 、HT46R32、HT46R34、HT46R322、HT46R342、HT45R38等。

常用的电磁炉检锅方法有电流检锅和脉冲检锅两种方法,本文中我们重点介绍脉冲检锅方法。

脉冲检锅方法有以下优点:检锅功率低、检锅距离稳定、分辨率高、不受输入电压高低影响、不受线盘大小影响、不受谐振电容影响。

电磁炉检锅原理
检锅脉冲输入到
HT45R38
开关机控制
PWM0功率控制
图2-1 探锅线路图
电磁炉中的检锅原理为:在无负载(无锅)情况下,即使IGBT处于关断状态(设置PA2
为低),由线圈盘L2和谐振电容C3构成的振荡电路也会作较长时间的阻尼振荡(它的谐振
周期大约40us),致使两个同步信号(如图2-1中V1和V2)交替变化,使得比较器(如图
2-1之U1-A)交替翻转,最后由外部中断线(图2-1之V3)得到更多之计数脉冲﹔相反,
在有负载(有锅)情况下,如果PA2为低,由L2和C3组成的振荡电路作阻尼振荡之时间
几乎为零(这里指能产生谐振的总时间几乎为零,即会马上停止振荡,不是谐振频率为零,
它的谐振周期会比无Load 时要大一点,在45us左右),故此时由INT检测之计数脉冲就会
比较少。

其大概的检锅Timing如图2-2所示。

基于此原理,就可以先给PA2一个高准位让IGBT工作一段时间并且系统开始计数,然后
让PA2输出低准位(IGBT不工作),再让系统计数器件计数一段时间,最后把总计数与设
置之标准值进行比较,就可以知道有无锅之存在了。

对于移锅原理,就相对简单了。

在加热过程中,本系统会每隔2s进行移锅处理,处理过程
中,先停止加热,然后进行探锅程序处理,如果有锅就按先前方式加热,否则如果连续10
次都检不到锅就停止加热。

2
图2-2探锅Timing Wave Form
检锅软件设计说明
检锅软件设计的具体方法为:每隔两秒时间进行一次检锅,每次检锅时先使PWM0工作
100ms。

再开机1ms,1ms之后关机,然后读取计数脉冲值,若该值大于18H时则认为无锅,
小于18H时认为有锅。

当连续10次检测到无锅时,则自动关机。

具体程序代码如下:
;-----------pan_detection()----------------------
PAN_DETECTION:
MOV A, 10
SUB A, pan_count ;判断是否连续10次检测到无锅
SZ C
JMP PAN_COUNT_BLW10
CALL RESET_ALL_DATA ;若连续10次检测到无锅,那么RESET相关参数
CALL BEEP1 ;若连续10次检测到无锅报警
MOV A, 60 ;风扇延时1分钟关机
MOV second_delay_fan, A
MOV A, 1
MOV display_state, A ;设置显示状态
3
MOV A, 120
MOV minute_delay_poff, A ;重新设置自动关机时间
JMP EXIT_PAN_DETECTION
PAN_COUNT_BLW10:
SZ second_delay_pan ;每隔两秒检锅一次,此处判断两秒时间是否到时JMP EXIT_PAN_DETECTION
PAN_DETECTION_TIME_ARRIVED:
SNZ err_check ;若已在出错状态那么不再进行检锅
JMP $+3
SZ second_delay_err
JMP EXIT_PAN_DETECTION
SZ pan_detect_step ;检锅分两步进行,第一步进行初始化工作
JMP PAN_DETECTION_STEP_EQU1
MOV A, power_level ;判断一下功率级别,若power_level=3,则不需重新
;设置PWM0 之值
SUB A, 3
SZ C
JMP $+3
MOV A, 080h ;设定PWM0之值
MOV PWM0, A
SET PA0_START_PWM ;开启PWM0进行检锅
CLR int_count ;检锅计数值清除为零
MOV A, 25 ;设定PWM输出时间值25*4ms=100ms
MOV pan_time, A
MOV A, 1 ;切换到下一个状态
MOV pan_detect_step, A
JMP EXIT_PAN_DETECTION
PAN_DETECTION_STEP_EQU1:
SZ pan_time ;判断PWM输出时间是否到时
JMP EXIT_PAN_DETECTION
PAN_TRY_AGAIN: ;在此步PWM已工作100MS CLR ET0I
CLR EEI1
CLR ERCOCI ;Clear External OSC Interrupt。

MOV A, 50
MOV time_var, A ;设定延时时间(Delay time=50*6+2=302us)SET EEI0 ;开外部0中断
SET PA2_ENABLE_PWM ;开机
4
CALL DELAY_XUS ;int_count=12~14@26kHz
CLR EEI0
CLR PA2_ENABLE_PWM ;关机
MOV A, 200
MOV time_var, A ;设定延时时间(Delay time=200*6+3=1202us)
SET EEI0 ;开外部0中断
CALL DELAY_XUS ;延时if have pan, int_count+=1~3,
;else int_count+=48~51
CLR EEI0 ;关闭外部0中断
SET EEI1 ;开启外部中断1
SET ET0I ;开启外部中断0
SET ERCOCI ;Set External OSC Interrupt
SZ int_count ;so, when no pan,
;int_count=12+12*4=60=3cH
JMP INT_COUNT_LG0 ;when have pan, int_count=14+3=17,
;considerate error
;add 4 again. so standard
;value=18H(adjustable)
CLR PA0_START_PWM ;Disable PWM0 output
CALL BEEP ;电路故障时发BB声
MOV A, 08h ;设定侦错索引值
MOV err_number, A ;Circuit error case
SET err_check ;设定侦错旗标
INC pan_count ;侦错计数器加1
JMP INT_COUNT_ALNORMAL
INT_COUNT_LG0:
MOV A, 18h ;根据计数脉冲个数(int_count),判断是否有锅存在
SUB A, int_count
SZ C
JMP INT_COUNT_BLWMAX
SZ pan_count ;当第一次检测到无锅时,不立刻设定侦错旗标,而要重检一次JMP DETECTION_FAIL
INC pan_count
CLR int_count
JMP PAN_TRY_AGAIN ;第一次检测到无锅转去重检
DETECTION_FAIL:
CLR PA0_START_PWM ;Disable PWM0 output
CALL BEEP
CLR flag_pan_detect ;清除无锅旗标
MOV A, 1
MOV err_number, A ;设置错误代码索引号have no pan
5
SET err_check ;设置侦错旗标
INC pan_count ;无锅计数器加1,若连续检到20次无锅,则自动关机
JMP INT_COUNT_ALNORMAL
INT_COUNT_BLWMAX: ;到此处则为有锅存在
CLR err_check ;清掉侦错旗标have pan
CLR err_number ;将侦错旗标索引号清除为零
CLR pan_count
SET flag_pan_detect ;设置已检到锅旗标
INT_COUNT_ALNORMAL:
MOV A, 2
MOV second_delay_pan, A ;设置2秒检锅定时器,每隔两秒进行一次检锅
CLR pan_detect_step
EXIT_PAN_DETECTION:
RET
;-----------end of pan_detection()---------------
小结
此文中我们重点介绍了HT45R38电磁炉中的检锅原理,在软件代码中讲述了检锅的具体实
现过程。

检锅的目的在于若一段时间内检测到无锅,那么应关掉电磁炉停止加热。

参考文献
HT45R38说明书。

以上数据均可至网站下载:、。

6。

相关文档
最新文档