在pid演算法中,我們如果只是使用單個閉環pid控制會出現很多的不足。例如我們在單獨使用位置環時,在電機未能達到預設位置時,電機的執行狀態是100%pwm滿偏執行的,這樣在我們實際運用時,如果我們使用的電機功率很高就會造成速度過快的現象。所以在電機的控制過程中,最好是多環控制。
在設計過程中,我是不斷地嘗試得出的結果。最終得出將位置環和速度環的輸出疊加的方法,在位置沒有到達預設位置時雖然位置環的輸出會是滿偏,但滿偏會讓速度出現偏差,速度環就會輸出負值反過來抑制總的輸出,這樣我們就可以在實現位置環的同時也有了速度環的控制。但注意的是在快達到預設位置時需要將速度環關閉。
位置式pid用於位置環
int pid_output()
增量式pid用於速度環
int pid1_output()
結合
float myabs
(float a)
float set_pwm
(float moto1)
if(pid.ek>
-100
&&pid.ek <
100)
out=0;
else
out=
pid1_output()
;pwm=
set_pwm
(pid_output()
)+out;
程式原始碼: 直流電機pwm 直流電機的調速方法
直流電機的調速方法 一 概述 一是調節電樞電壓,二是調節勵磁電流,1 常見的微型直流電機,其磁場都是固定的,不可調的永磁體,所以只好調節電樞電壓。調節電樞電壓方法 常用的一是可控矽調壓法,再就是脈寬調變法 pwm pwm的h型屬於調壓調速。pwm的h橋只能實現大功率調速。國內的超大功率調速還要依靠可...
直流電機,伺服電機和步進電機的區別
直流電機 直流電機是兩線連續旋轉電動機,兩線分別是電源和地線。接通電源後,直流電機將開始旋轉,直到斷開電源,大多數直流電機都以每分鐘高轉數 rpm 運轉。可以通過使用pwm來控制 脈衝寬度調製 技術,快速脈衝電源on off的技術。迴圈開啟 關閉比率所消耗的時間百分比定義了電動機的速度。例如,如果電...
直流電機,伺服電機和步進電機的區別
為不同的應用選擇合適的電動機取決於一些設計標準,例如位置精度要求,成本,驅動功率的可用性,扭矩和加速度要求。總體而言,直流,伺服和步進電機 等電動機最適合不同的應用。但是,步進電機 非常適合於高保持轉矩和較低加速度的應用。許多人誤解為直流電機,伺服電機和步進電機之間存在巨大差異。為了了解這三個電動機...