Browsing this Thread:
2 Anonymous Users
|
請問使用4011做最大功率追蹤問題??
|
|
新會員
Joined
: 2007/12/4 13:46 最後登入時間
: 2009/6/8 10:46
Group:
註冊會員
Level : 2 HP : 0 / 46 MP : 5 / 2288 EXP : 86
|
目前小弟用4011的A/D及馬達PWM做擾動觀察法的增減載控制,
void Show_ADC(void) { unsigned int V ; unsigned int I ; unsigned int P ;
IFS0bits.ADIF = 0; ADCON1bits.ASAM = 1; while(!IFS0bits.ADIF); ADCON1bits.ASAM = 0; V = (ReadADC10(0)>>6) ; // VR2 I = (ReadADC10(1)>>6) ; // VR1 { P=V*I; Ps=Vs*Is; if (P >= Ps) { if (V < Vs) PDC1 = PDC1 - 0x0001; //增減載控制 else PDC1 = PDC1 + 0x0001; } else { if (V > Vs) PDC1 = PDC1 - 0x0001; else PDC1 = PDC1 + 0x0001; } Vs=V; Is=I; } }
以上判斷增減載程式, 電壓與電流控制是使用模擬板上的VR1以及VR2, 在單步執行時都可以往正確的方向增減載,
一開始的dutycycle = 0x07FF以及period = 0x07FF; 但是直接run時波寬會一直變小直到歸0, 觀察PDC1暫存器,內容值會一直往上數,也超過PTPER的值,
想請問各位,雖然說已經有做了中斷旗標會不會是因為A/D取樣方面速度還是太快導致還沒讀取A/D值就做增減載判斷呢?? 以至於增減載判斷錯誤呢??
還是小弟的程式上還有些問題呢??
還請各位幫小弟解惑一番...謝謝
發表於: 2008/9/23 12:04
|
|
You can view topic.
你 不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.