利用双向可控硅调压的问题,程序给出的导通角表跟可控制的导通脚是怎样的关系,由于本人不懂这可控硅的导通角与调压的关系上网查了些资料也没能搞明白,哪位热心高手能帮忙解决一下的,感激不尽,最好讲祥细点!
使用外部X1中断,寄存器组2
检测过〇点,给定时器T1赋初值
--------------------------------------*/
void pass0(void) interrupt 2 using 2
{
unsigned char code powertab[]={0xd8,0xf0,0xe2,0x63,0xe5,0x25,0xe8,0x3e,0xeb,0x16,0xed,0xda,0xf0,0xb2,0xf3,0xcb,0xf7,0x8d,0xf7,0x8d};//10个功率档位的可控硅导通角延时参数表
TH1=powertab[2*heatpower]-1;
TL1=powertab[2*heatpower+1]; //市电过零后,根据当前设置的档位给定时器T1赋延时参数
ET1=1; //允许定时器T1中断
TR1=1; //打开定时器T1
}
/*------------------------------------------
可控硅触发信号控制函数 void triacctrl(void)
使用定时器T1中断,寄存器组3
向可控硅送出触发信号
------------------------------------------*/
void triacctrl(void) interrupt 3 using 3
{
register unsigned char i;
triac=0; //输出可控硅导通信号
ET1=0; //关闭定时器T1中断
TR1=0; //终止定时器运行
for (i=0;i<2;i++); //延时,保证导通信号有足够的宽度
triac=1; //完成可控硅导通信号
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
想想还有一点,像我上面这程序,那不是要非常平凡开和关那个可控硅?????外部过一次零,定时器启动一次,导通一次可控硅,第二次过零再启动一次,是这样子的吗?再一次麻烦您帮我分析多一次谢谢!
void pass0(void) interrupt 2 using 2
这个函数看来是外部的过零触发。而后根据heatpower和那个表进行计算,并设置、开启定时器T1。
T1溢出后,void triacctrl(void) interrupt 3 using 3 中断响应,对端口引脚进行控制。
每次过零都要执行一次上述的过程。 和俺上面几个帖子说的一样。。
这个也并不算频繁啊,才10mS一次。。即便你不用单片机做,可控硅也要10mS一次(两个半周)。
-----------------------------------------------------------------------
谢谢!也就是说可控硅在工作时是不断的过零不断的都要触发导通脚啦,八楼说的单片机不控制它,可控制也是要半个周期触发一次!
一周热门 更多>