專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

單片機控制可控硅調(diào)光不閃電路+程序

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2009年09月12日   【字體:

       單片機控制可控硅調(diào)光,是件比較麻煩的事情,開始是沒加過零檢測,結(jié)果不管怎么做pwm頻率多高,都很閃,用了下面這個后就不閃了.在51hei單片機開發(fā)板上測試成功。 要調(diào)光的話,moc3063是不行的,3063是過零導(dǎo)通的,對交流電源的控制結(jié)果只能是對半波,而不能斬波,通常要調(diào)光,調(diào)壓的話用3052,配合交流過零信號硬件,也可用變壓器+二極管做過零檢測電路.過零信號邊沿觸發(fā)中斷,在過零后延時輸出控制信號給光藕,使可控硅導(dǎo)通,過零前邊沿關(guān)閉控制信號,使可控硅自然關(guān)斷,完成一個半波的斬波控制,調(diào)整延時值就可以調(diào)節(jié)輸出電壓了,當(dāng)然,延時值根據(jù)電源頻率及定時器分頻比不同,有相應(yīng)的取值范圍,一般可以用外中斷負責(zé)過零邊沿觸發(fā),一個邊沿(至于哪個邊沿與過零信號硬件結(jié)構(gòu)有關(guān))負責(zé)關(guān)閉可控硅,一個邊沿負責(zé)延時計算,并寫入定時器,由定時器中斷來打開可控硅 .

來段視頻先看哈效果哦

聯(lián)系QQ:125739409 ,手機15886684881

 
單片機驅(qū)動可控硅調(diào)光電路



'改變INT1中斷中的"移相值",即可改變輸出電壓,這里T2分頻比為1024,可根據(jù)主頻計算出移相值取值范圍
'程序采用電平觸發(fā),脈沖觸發(fā)可作相應(yīng)修改
'若主頻12M,電源50Hz,則移相值計算約為0--117,但實際使用0-105就可以了,太大了會移相到過零位置,使可控硅不能關(guān)斷
'單片機類型atmege16,開發(fā)者:http://www.torrancerestoration.com email:372xcom1@21cn.com 下面是主要的程序
'主程序:
'略
ldi r16,4                   'INT1上升,下降沿都中斷
Out Mcucr,R16
ldi r16,128              'INT1中斷允許,INT0,INT2中斷禁止
Out Gicr,R16

ldi r16,7
Out Tccr2,R16        'T2開始循環(huán)計數(shù)
in r17,timsk
andi r17,127           '暫時禁止T2比較匹配中斷(T2比較匹配中斷在中斷程序中啟閉)
Out Timsk,R17

sei
'-------------------------中斷服務(wù)程序------------------------------------------
Int_comp2:      '移相中斷
push r17
in r17,sreg
push r17
   cbi porta,5       '觸發(fā)信號輸出
in r17,timsk
andi r17,127       '禁止T2比較匹配中斷
out timsk,r17
pop r17
out sreg,r17
pop r17
reti


Int1_isr:            '電源同步中斷
push r17
in r17,sreg
push r17
sbis pind,3       'int1引腳(電源同步)狀態(tài)=1則跳行,上升沿中斷
rjmp falling
'上升沿中斷
sbi portA,5         '關(guān)觸發(fā)
rjmp isr_over
Falling:
'下降沿中斷
   ldi r17,0
   Out Tcnt2,R17          'T2清零
   lds r17,移相值
   Out Ocr2,R17
'清中斷標(biāo)志,確保中斷正確執(zhí)行
in r17,tifr
ori r17,128            '清T2匹配標(biāo)志
Out Tifr,R17
in r17,timsk
ori r17,128
Out Timsk,R17         '允許T2比較匹配中斷
Isr_over:
pop r17
Out Sreg,R17
pop r17
Reti

上面的是的是AVR的匯編程序,51的也可以實現(xiàn)的,就是用定時器的溢出中斷啦,溢出值-移相值=初始值
觸發(fā)可控硅用脈沖方式,計算好觸發(fā)脈沖寬度對應(yīng)的計數(shù)初值
 同步信號輸入--下沿中斷寫計數(shù)初值,開始計數(shù)--計數(shù)器溢出中斷,判標(biāo)志=0,打開可控硅,寫觸發(fā)脈沖初值,寫標(biāo)志=1---再次溢出中斷,判標(biāo)志=1,關(guān)可控硅,清零標(biāo)志--------再次同步中斷,51的代碼我這里就不貼出來了,需要者可聯(lián)系我手機15886684881,QQ號碼是125739409加入時請注明"調(diào)光"哦 

關(guān)閉窗口