![]() |
發布時間: 2015-5-29 21:23
正文摘要:我用單片機觸發可控硅,輸出最大值只有132v,用示波器看了一下波形,過零點檢測沒問題 ,導通角接近于零,可能是什么問題導致的電壓只有一百多伏? |
單片機IO口驅動電流太小了。 |
yesonjob 發表于 2015-6-1 20:01 非常感謝 |
yesonjob 發表于 2015-6-1 08:20 不會,用示波器看了 |
gaozhaohong 發表于 2015-5-30 13:03 明天試一下,謝謝,十分感謝 |
leeyeage 發表于 2015-5-30 12:58 你這個問題,我已經試驗過了,無論是觸發脈沖時間加長,還是出發時刻后移,效果都不變,我想問題應該不在程序上,謝謝回復 |
我在給別人做項目,其他模塊程序都已經調試完,就在可控硅這卡住了,在這里拜托各位了,硬件都換了一遍,程序也調試了好幾遍,就是不見效果 |
yesonjob 發表于 2015-5-29 21:47 我試了一下問題還是沒有解決,但還是要謝謝你 |
用的是 bt137 單片機用的是60s2,觸發用的是定時器,用示波器看觸發脈沖很穩定,用萬用表測只有132v,調節電壓只能調節0到132v,就是找不到問題出在哪 |
今天我試驗成功了,通過軟件調節觸發時間(導通角)可以實現調節交流電壓220/185/160/130V,硬件原理圖如下,實際參數也是圖中所標注的,我沒接電機是直接用萬用表測量motor兩端電壓的。圖中沒貼出直流穩壓電路部分,P1.0是單片機輸出觸發信號的(低電平有效),int0輸出的是過零信號給單片機外部中斷。 軟件還需要優化一下,按鍵調節那里沒處理好(應該是和中斷有時間沖突),按鍵有時失靈,貼出簡單的程序。 #include <reg52.h> sbit singal=P1^0; //觸發信號 sbit key=P1^1; //調壓的按鍵 char t; //調節導通角的時間 void delayms(unsigned int x) { unsigned int i,j; for(i=x;i>0;i--) { for(j=110;j>0;j--); } } void main() { EA=1; EX0=1; IT0=1; //外部中斷下降沿觸發 singal=1; while(1) { if(key==0) { t++; if(t==4) { t=0; } while(!key); } } } void ex0()interrupt 0 { delayms(t); singal=0; delayms(5-t); singal=1; } |
QQ圖片20150601195219.png (36.24 KB, 下載次數: 319)