新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機控制可控硅調(diào)光不閃電路+程序

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

作者: 時間:2012-11-24 來源:網(wǎng)絡 收藏

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

點擊瀏覽下一頁
單片機驅(qū)動可控硅調(diào)光電路

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

ldir16,7
OutTccr2,R16'T2開始循環(huán)計數(shù)
inr17,timsk
andir17,127'暫時禁止T2比較匹配中斷(T2比較匹配中斷在中斷程序中啟閉)
OutTimsk,R17

sei
'-------------------------中斷服務程序------------------------------------------
Int_comp2:'移相中斷
pushr17
inr17,sreg
pushr17
cbiporta,5'觸發(fā)信號輸出
inr17,timsk
andir17,127'禁止T2比較匹配中斷
outtimsk,r17
popr17
outsreg,r17
popr17
reti


Int1_isr:'電源同步中斷
pushr17
inr17,sreg
pushr17
sbispind,3'int1引腳(電源同步)狀態(tài)=1則跳行,上升沿中斷
rjmpfalling
'上升沿中斷
sbiportA,5'關觸發(fā)
rjmpisr_over
Falling:
'下降沿中斷
ldir17,0
OutTcnt2,R17'T2清零
ldsr17,移相值
OutOcr2,R17
'清中斷標志,確保中斷正確執(zhí)行
inr17,tifr
orir17,128'清T2匹配標志
OutTifr,R17
inr17,timsk
orir17,128
OutTimsk,R17'允許T2比較匹配中斷
Isr_over:
popr17
OutSreg,R17
popr17
Reti

上面的是的是AVR的匯編程序,51的也可以實現(xiàn)的,就是用定時器的溢出中斷啦,溢出值-移相值=初始值觸發(fā)可控硅用脈沖方式,計算好觸發(fā)脈沖寬度對應的計數(shù)初值
同步信號輸入--下沿中斷寫計數(shù)初值,開始計數(shù)--計數(shù)器溢出中斷,判標志=0,打開可控硅,寫觸發(fā)脈沖初值,寫標志=1---再次溢出中斷,判標志=1,關可控硅,清零標志--------再次同步中斷

調(diào)光開關相關文章:調(diào)光開關原理


評論


相關推薦

技術專區(qū)

關閉