原创 电磁炉入门(2)-程序分析

2014-5-8 17:02 2998 15 14 分类: MCU/ 嵌入式 文集: 电磁炉入门

主函数main()

    while (1)
    {
if(Test_10mSedA)
{
Clr_10mSedA;
T10msCheck();
}
if(Test_OneSedA)
{
Clr_OneSedA;
T1sCheck();
}
PvCheck();
if(ErrFlag)
{
Set_PvWait;
Delay_Pv = 3;
Set_IGBTOff;
continue;
}
else
{
if(Test_PvWait) continue;
}
IgbtCheck(); 
if(ErrFlag) {Set_IGBTOff; continue;}
HsrCheck();
if(ErrFlag) {Set_IGBTOff; continue;}
CoilCheck();
if(ErrFlag) {Set_IGBTOff; continue;}
PanCheck();
if(ErrFlag) {Set_IGBTOff; continue;}
CurCheck();
if(Test_OnOff)
{
FzCheck();
PwmCtrl();
}
else
{
InitVar();
}
    }
    主函数首先执行10ms和1s定时运行函数,其次进行电源电压检测PvCheck()、IGBT温度检测IgbtCheck()、 线盘温度检测HsrCheck()、线盘连接检测CoilCheck()、锅具温度检测PanCheck()、电流检测CurCheck(),待一切检测正常后再判断是否开机,如开机则进行锅具检测(判断是否有锅)FzCheck()、最后再进行PWM调整。
   关于三个温度检测、电压检测、电流检测,见原理图可知通过热敏电阻、电阻分压、电流互感器进行AD转换采样。
   主要锅具检测如下:
void FzCheck(void)
{
uchar i = 13;
uchar j = 0;
uchar k = 0;
if(Test_NoAd) return; //如果当前处于禁止控制状态,则不予处理
if(Test_NoFz) //无锅检测
{
if(Delay_3s == 0) //3S时间到检测
{
CCAP0H = PWM50DUTY;       //PWM0的占空比为50% ((64-32)/64)
Set_IGBTOff; //关IGBT
Set_PzCheck; //锅具检测口置高
while(i--); //等待8us
i = 13;
Delay_3s = 3; //下次检测等待3s
EA = 0;
Clr_IGBTOff; //开IGBT
_nop_();
_nop_();
Clr_PzCheck; //锅具检测口拉低
while(i--); //等待8us
Set_PzCheck; //输出高电平准备读
Set_IGBTOff; //关IGBT
for(i = 0; i < 255; i++)//连续读取255次IO电平状态
{
_nop_();
_nop_();
_nop_();
_nop_();
if(Test_PzCheck) j++; //高电平个数
else k++; //低电平个数
}
EA = 1;
if(k < 100) //有锅低电平个数小于100(如无锅则高电平个数与低电平个数几乎相等)
{
i = 13;
Clr_NoFz; //设置有锅
Clr_IGBTOff; //开IGBT
_nop_();
_nop_();
Clr_PzCheck; //锅具检测口拉低
while(i--); //等待8us
Set_PzCheck; //输出高电平准备读
}
}
}
时序如下:
PWM信号在检锅期间始终为百分之五十,待启动后再调整PWM,进行功率调节。实测最低百分之三十以下,则不能工作。
注意:当检验到有锅后,START再次输出一个低脉冲进行启动工作。
20140507100430192.jpg

文章评论3条评论)

登录后参与讨论

用户424103 2014-5-28 09:12

蒙牛,没想到电磁炉用到IGBT

用户377235 2014-5-27 21:34

程序尽显天朝山寨本色。

用户403664 2014-5-7 10:28

关注!
相关推荐阅读
用户1527862 2015-11-04 08:42
开关电源(5)-如何入门2
反激式开关电源 第一步确定Lp,之前的文章中提到如何确定。 第二步确定Np,前面有2个重要的公式,确定Np需要第三个重要的公式了,法拉第电磁感应定律E=nΔΦ/Δt...
用户1527862 2015-10-19 14:15
开关电源(4)- 变压器同名端测量
      有的变压器次级线比较粗,而没有焊接到骨架引脚上,只是简单的做了记号,发现有搞错记号的!     现终于找到一个测量变压器同名端的方法,需要一台示波器。示波器通常有个输出校验的端...
用户1527862 2015-10-14 15:58
开关电源(3)-元器件选择注意点
1、肖特基二极管       它的阳极和阴极之间往往存在很大的电容。肖特基二极管两端电压的每次改变(当肖特基两端电压几乎没有电压的时候,变化最大)的时候,这个电容都一定会被充电和放电。流...
用户1527862 2015-10-13 12:14
开关电源(2)-占空比为何小于0.5
一直不清楚为什么反激式开关电源占空比要小于0.5,今天知道了那么一点点!占空比大于50%时系统可能出现不稳定性,可能会产生次谐波振荡;另外,在电路拓扑结构选择上也有局限,在升压型和降压-升压型电路中,...
用户1527862 2015-10-12 11:46
开关电源(1)-如何入门
  在我们的设计电路中,不可缺少的部分就是电源了,以前做电路电源是用工频变压器降压然后整流,后来流行开关电源了,就直接买开关电源模块。 一直很好奇这开关电源模块,想把它直接画在自己设计的电路中...
用户1527862 2015-03-13 14:28
电磁炉入门(6)-硬件分析:线盘
    前面介绍过电磁炉基本原理,主要是LC震荡,这个L就指的是线盘,关于线盘总结一下个人经验:       1、线盘必须用多股线圈绕制而成,为了是防止高频趋肤效应,下面的公式是计算趋肤深...
我要评论
3
15
关闭 站长推荐上一条 /2 下一条