Re: 請問如何控制定電流~
|
||||
---|---|---|---|---|
新會員
|
參照:
我少畫到了~sorry 我的mos是用N(IRF840) ,我是用Visio畫的,Visio的mos只有一種選擇 已重新上傳新的圖了~謝謝
發表於: 2009/6/16 21:34
|
|||
|
Re: 請問如何控制定電流~
|
||||
---|---|---|---|---|
高級會員
|
你这个是buck电路吗?怎么没有看到你的续流二极管啊.
mos应该是pmos吧.
發表於: 2009/6/16 19:21
|
|||
|
請問如何控制定電流~
|
||||
---|---|---|---|---|
新會員
|
小弟想要利用16F877A這顆IC做一個定電流的實驗,想要將電流定在200mA,試過以PWM和IO去觸發MOSFET,但我用I/O去做電流都無法定在我所設定的值內,以PWM去做之後更慘,送電後IC幾乎可以用來煎蛋了,不是數隻腳燒了就是整顆燒掉。
~以下是我用PWM和IO下去做的寫的程式~我都是看 台科大 洪正瑞 出的那本書下去改的~希望大大能幫我看一下錯在哪是程式還是電路的錯?可以的話能請大大寫一個簡單的定電流的程式給小弟參考一下~謝謝 附上我的電路圖~ ----以PWM觸發---- LIST p=16F877A #INCLUDE<p16F877A.INC> D1 EQU 0X20 D2 EQU 0X21 ORG 00H START: BSF STATUS,RP0 ;切換到BANK1 BCF TRISC,2 ;設定PORTC<2>為輸出接腳 CLRF ADCON1 ;設定AD轉換值的格式為向左靠 BCF STATUS,RP0 ;切換到BANK0 MOVLW B'10000001' MOVWF ADCON0 ADCONVERT: CALL DELAY BSF ADCON0,GO ;AD轉換開始 ADWAIT: NOP BTFSS PIR1,ADIF ;AD轉換是否完成 GOTO ADWAIT ;否,跳到ADWAIT執行 BCF PIR1,ADIF ;是,清除AD中斷旗標位元 MOVF ADRESH,W MOVWF D2 NOP BCF STATUS,C ;進位旗標C設為0 MOVLW .102 SUBWF D2,W ;W=D2-W SKPC ;如果進位旗標C為1則跳一行 GOTO PP1 GOTO PP2 PP1: CALL DELAY MOVLW .24 ;頻率10k MOVWF PR2 BCF STATUS,RP0 MOVLW B'00010110' MOVWF CCPR1L MOVLW B'00000101' MOVWF T2CON MOVLW B'00101100' MOVWF CCP1CON GOTO ADCONVERT PP2: CALL DELAY MOVLW .24 MOVWF PR2 BCF STATUS,RP0 MOVLW B'00000010' MOVWF CCPR1L MOVLW B'00011001' MOVWF T2CON MOVLW B'00101100' MOVWF CCP1CON GOTO ADCONVERT DELAY: MOVLW .50 ;延遲副程式 MOVWF D1 DLY1: DECFSZ D1,F GOTO DLY1 RETURN END ----以I/O觸發---- LIST p=16F877A #INCLUDE<p16F877A.INC> D1 EQU 0X20 D2 EQU 0X21 ORG 00H START: BSF STATUS,RP0 CLRF ADCON1 CLRF TRISC BCF STATUS,RP0 MOVLW B'10000001' MOVWF ADCON0 ADCONVERT: CALL DELAY BSF ADCON0,GO ADWAIT: NOP BTFSS PIR1,ADIF ;AD轉換是否完成 GOTO ADWAIT ;否,跳到ADWAIT執行 BCF PIR1,ADIF ;是,清除AD中斷旗標位元 MOVF ADRESH,W MOVWF D2 BCF STATUS,C ;進位旗標C設為0 MOVLW .102 SUBWF D2,W SKPC ;如果進位旗標C為1則跳一行 GOTO PP1 GOTO PP2 PP1: BSF PORTC,0 GOTO ADCONVERT PP2: BCF PORTC,0 GOTO ADCONVERT DELAY: MOVLW .50 ;延遲副程式 MOVWF D1 DLY1: DECFSZ D1,F GOTO DLY1 RETURN END Attach file: (0.00 KB)
發表於: 2009/6/16 16:01
Edited by KaPioLonq on 2009年06月16日 21:32:23
Edited by KaPioLonq on 2009年06月16日 21:33:04 Edited by KaPioLonq on 2009年06月16日 21:34:44 Edited by KaPioLonq on 2009年06月16日 21:36:21 |
|||
|