Re: 程式請教
|
||||
---|---|---|---|---|
初級會員
|
我明白了!
謝謝您詳細的說明 ^^ 我再嘗試看看
發表於: 2009/4/8 12:12
|
|||
|
Re: 程式請教
|
||||
---|---|---|---|---|
初級會員
|
TO:jason680
為何兩者要減RPM1 是跟啥有關? 謝謝!
發表於: 2009/4/8 9:19
|
|||
|
Re: 程式請教
|
||||
---|---|---|---|---|
初級會員
|
TO:OuO
如果要做PID控制 那以您這樣的敘訴可以嗎? 不是要命令和迴授相減才對?
發表於: 2009/4/8 9:16
|
|||
|
Re: 程式請教
|
||||
---|---|---|---|---|
資深會員
|
>>我將命令轉速(RPM1)和實際轉速(RPM2)作迴授比較
>>if((RPM1-RPM2)<RPM1) 感覺code與敍述有所不同 (RPM1-RPM2) < RPM1 兩者同減 RPM1 (RPM1-RPM2) - RPM1 < RPM1 - RPM1 最後變 -RPM2 < 0 (如果 RPM2為正,則永遠為ture) 好像與你所述不同
發表於: 2009/4/7 21:20
|
|||
|
Re: 程式請教
|
||||
---|---|---|---|---|
資深會員
|
希望命令轉速(RPM1) > 實際轉速(RPM2) 時輸出 大一點OC1RS=588.8;
而實際轉速(RPM2) > 命令轉速(RPM1) 時輸出小一點 OC1RS=147.2; 只要直接如下即可: if(RPM1 > RPM2) OC1RS=588.8; if(RPM2 > RPM1) OC1RS=147.2;
發表於: 2009/4/7 21:17
|
|||
|
程式請教
|
||||
---|---|---|---|---|
初級會員
|
如下程式
我將命令轉速(RPM1)和實際轉速(RPM2)作迴授比較 進而控制PWM duty 我設定命令轉速小於實際轉速 然而在跑程式時 其狀態都處在OC1RS=588.8 不是應該會執行OC1RS=147.2這行才對嗎? 我有注意到溢位的情形 請問,我的程式哪行敘訴有錯? 謝謝! if((RPM1-RPM2)<RPM1) OC1RS=588.8; else if ((65536+(RPM1-RPM2))>(65536-RPM1)) OC1RS=147.2;
發表於: 2009/4/7 18:43
|
|||
|