線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2490
推到 Plurk!
推到 Facebook!

以8951控制triac的問題

缺席
阿鴻
一般會員


發表:9
回覆:8
積分:3
註冊:2005-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-10 13:20:47 IP:218.168.xxx.xxx 未訂閱
程式如下:
    ;輸入電壓220VAC/60HZ輸出可5段調整利用8051之INT0檢測交流零電位時使TRIAC/ON
;控制導通時間達到輸出電壓變化(60HZ=16.67ms)                    ORG        0
                AJMP        START
                ORG        03H
                AJMP        INT0    START:                SETB        P1.1
                MOV        IE,#10000001B        ;啟動中斷開關
                MOV        SP,#70H
                SETB        IT0
                MOV        20H,#83                ;TRIAC ON 8.3MS
                MOV        21H,#104        ;TRIAC ON 10.4MS
                MOV        22H,#125        ;TRIAC ON 12.5MS
                MOV        23H,#146        ;TRIAC ON 14.6MS        
                MOV        24H,#166        ;TRIAC ON 16.6MS
                MOV        A,20H                 ;初值為ON8.3MS    PWM_LOOP:        JNB        P1.0,AC_1        ;按下時輸出電壓約110VAC
                JNB        P1.4,AC_2        ;按下時輸出電壓約137VAC
                JNB        P1.5,AC_3        ;按下時輸出電壓約164VAC
                JNB        P1.6,AC_4        ;按下時輸出電壓約192VAC
                JNB        P1.7,AC_5        ;按下時輸出電壓約220VAC(TRIAC全ON)
                
                SETB        P1.1                ;TRIAC        OFF
                AJMP        PWM_LOOP                    INT0:                CLR        P1.1                ;零電位中斷時啟動MOC3021
                ACALL        DELAY_MS        ;防彈跳
                RETI    AC_1:                ACALL        DELAY_16MS        ;防彈跳        
                MOV        A,20H
                AJMP        PWM_LOOP
AC_2:                ACALL        DELAY_16MS        ;防彈跳
                MOV        A,21H
                AJMP        PWM_LOOP
AC_3:                ACALL        DELAY_16MS        ;防彈跳
                MOV        A,22H
                AJMP        PWM_LOOP
AC_4:                ACALL        DELAY_16MS        ;防彈跳
                MOV        A,23H
                AJMP        PWM_LOOP
AC_5:                ACALL        DELAY_16MS        ;防彈跳
                MOV        A,24H
                AJMP        PWM_LOOP
;________________________________________________
;
;                DELAY TIME=2*R6*R7
;________________________________________________
DELAY_MS:
                
                MOV        R6,A
D1:
                MOV        R7,#50
                DJNZ        R7,$
                DJNZ        R6,D1
                RET
;________________________________________________
;
;                防彈跳副程式
;________________________________________________
DELAY_16MS:
                
                MOV        R7,#40
D2:
                MOV        R6,#200
                DJNZ        R6,$
                DJNZ        R7,D2
                RET                
                
                END
我想輸入電壓220vac 輸出可有5段電壓(110...到..220vac) 使用cd4001做零電位判斷.接到int0再控制moc3021(光藕合)去觸發triac on/off時間達到控制電壓的目的. 請問以上程式是否可以.... 我試了一直無法正常動作.. 零電位判斷以示波器看為正常(有一負緣脈衝) 但一接到int0就不見了 麻煩各位... 發表人 - ㊣ 於 2005/05/10 13:36:02
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-10 13:34:25 IP:221.169.xxx.xxx 未訂閱
http://focus.ti.com/lit/an/slaa043a/slaa043a.pdf 參考一下別人的線路設計跟使用方式。^_^
阿鴻
一般會員


發表:9
回覆:8
積分:3
註冊:2005-03-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-13 11:36:05 IP:218.168.xxx.xxx 未訂閱
謝謝板主大大回應:關於連結別人作品部份.研究好久.一直搞不懂.很抱歉. 先說目前狀況如下: 程式部份修改: < class="code"> 中斷沒 push pop INT0: PUSH PSW PUSH A PUSH R6 PUSH R7 CLR P1.1 ;零電位中斷時啟動MOC3021 ACALL DELAY_MS ;防彈跳 POP R7 POP R6 POP A POP PSW RETI 動作一樣無法正確.先確定中斷是否正常.用另一個程式測試.交流60HZ中斷60次為一秒.用7段顯示器顯示.結果可正常動作顯示數值. 依MOC3021 DATASHEET接法接線控制TRIAC.以一秒MOC3021給hi電位.一秒給LO電位.以為輸出端會一秒0V一秒為220VAC.結果也沒有.一直為220VAC. 給MOC3021 20ma電流用電表量輸出端會從開路狀態變為有阻抗.但移掉電流後.狀態仍保持有阻抗.移掉三用電表再量就開路了.這是正常嗎? 之前都用RC控制TRIAC相位.現在想用8951來控制卻一直有問題.仍努力中. 若有先進知悉.還望解惑...謝謝 發表人 - 阿鴻 於
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-13 12:32:45 IP:221.169.xxx.xxx 未訂閱
呵。不要叫我看 code 啦。超過五行,我就有閱讀障礙了。 再給你看看人家 PIC 怎麼設計 TRIAC 的。 這個也有 source code. http://www.microchipc.com/sourcecode/PIC_Hi-Tech_C_Mike_Pearces_phase_controller_TRIAC_or_IGBT_50-60Hz.zip http://ww1.microchip.com/downloads/en/AppNotes/00958A.pdf

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-13 12:37:27 IP:211.22.xxx.xxx 未訂閱
新手請先看過版規. po程式碼請縮排. 煩請修改配合,謝謝!
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-04-30 4:25:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!