0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文讀懂直流電機(jī)控制算法

電子工程技術(shù) ? 來源:電子工程技術(shù) ? 作者:電子工程技術(shù) ? 2023-05-06 09:26 ? 次閱讀

通常我們在控制小車運(yùn)動的時候不知道如何精確的對小車軌跡進(jìn)行控制。在不懂得小車控制算法精髓的時候,我們是無法對小車進(jìn)行精確的控制的。目前絕大多數(shù)小車都是用PID控制算法來實現(xiàn)對小車的運(yùn)動控制的?,F(xiàn)在很多玩家就只知道一種調(diào)節(jié)方法,就是比例調(diào)節(jié),即向左偏就向右調(diào)節(jié),向右偏就向左調(diào)節(jié),最容易想到,也是最容易用軟硬件實現(xiàn)的,但是結(jié)果也是最容易出問題的。當(dāng)時的感覺就是小車太靈敏了,忽左忽右,不是很穩(wěn)定。后來查了資料后知道了其他的調(diào)節(jié)方式。

控制算法:

電機(jī)控制算法的作用是接受指令速度值,通過運(yùn)算向電機(jī)提供適當(dāng)?shù)尿?qū)動電壓,盡快地和盡快平穩(wěn)地使電機(jī)轉(zhuǎn)速達(dá)到指令速度值,并維持這個速度值。換言之,一旦電機(jī)轉(zhuǎn)速達(dá)到了指令速度值,即使在各種不利因素(如斜坡、碰撞之類等使電機(jī)轉(zhuǎn)速發(fā)生變化的因素)的干擾下也應(yīng)該保持速度值不變。為了提高機(jī)器人小車控制系統(tǒng)的控制精度,選用合適的控制算法顯得十分必要??刂扑惴ㄊ侨魏伍]環(huán)系統(tǒng)控制方案的核心,然而并非越復(fù)雜、精度越高的算法越好,因為比賽要求非常高的實時性,機(jī)器人必須在非常短的時間內(nèi)作出靈敏的反應(yīng),所以現(xiàn)代的一些先進(jìn)控制算法,比如模糊控制、神經(jīng)元網(wǎng)絡(luò)控制等就不能應(yīng)用到小車控制系統(tǒng)里。本系統(tǒng)選用了最常規(guī)、最經(jīng)典的PID控制算法,通過實際應(yīng)用取得了很好的效果。下圖是PID控制原理結(jié)構(gòu)圖。

40b3c760-eb54-11ed-90ce-dac502259ad0.jpg

圖 PID控制系統(tǒng)原理結(jié)構(gòu)框圖

1 比例項

控制回路中的第一個偏差轉(zhuǎn)換環(huán)節(jié)就是比例項。這一環(huán)節(jié)簡單地將偏差信號乘以常數(shù)K 得到新的CV值(值域為-100~100)。基本的比例控制算法如下:

loop:

PV=ReadMotorSpeed()

Error=SP-PV

CV=Error*Kprop

Setpwm(cv)

Goto loop

其中SP為設(shè)定值,PV為反饋值,Error為誤差。

上一段程序中的SetPWM()函數(shù)并非將CV值作為絕對的PWM占空比來對待。否則,不斷降低的偏差值會使輸出值接近零,而且由于電機(jī)工作時需要持續(xù)的PWM信號,控制系統(tǒng)將會使電機(jī)穩(wěn)定在低速運(yùn)轉(zhuǎn)狀態(tài)上,從而導(dǎo)致控制系統(tǒng)策略失敗。

相反,CV值一般被取作當(dāng)前PWM占空比的改變量,并被附加到當(dāng)前的PWM占空比上。這也要求SetPWM()函數(shù)必須將相加后得到的PWM占空比限制在0%~100%。正的CV值將使電機(jī)兩端電壓增加。負(fù)的CV值將使電機(jī)兩端電壓降低。如果CV值等于0,則無需改變但前占空比。較低的K 值會使電機(jī)的速度響應(yīng)緩慢,但是卻很平穩(wěn)。較高的K 值會使速度響應(yīng)更快,但是卻可能導(dǎo)致超調(diào),即達(dá)到穩(wěn)定輸出前在期望值附近振蕩。過高的K 值會導(dǎo)致系統(tǒng)的不穩(wěn)定,即輸出不斷震蕩且不會趨于期望值。

2 積分項

積分正好與微分相對。假如有一個描述變化率(微分)的表達(dá)式,那么對該表達(dá)式的積分就將得到隨時間變化的原物理量。如加速度的積分是速度,速度的積分是位移。

在PID控制回路中,偏差的積分代表從控制開始時算起所有偏差積累的總和。該總和被常數(shù)K 所乘后再添加到回路輸出中。在回路中,如果沒有積分環(huán)節(jié),盡管控制系統(tǒng)也會趨于穩(wěn)定,但是由于某種原因輸出值可能最終也無法達(dá)到SP值。

一個簡單但完全的PID控制器地偽代碼實現(xiàn)如下:

loop:

PV=ReadMotorSpeed()

LastError=Error

Isum=Isum+Error

Error=SP-PV

Rate=Error-LastError

CV=Error*Kprop+Krate*Rate+Kint*Isum

SetPWM(CV)

Goto loop

由于積分項會越來越大,這就會使控制回路在SP值的改變時響應(yīng)變慢,某些應(yīng)用場合在CV值達(dá)到取值邊界(如為:-100~100)時會停止累加Isum。在SP值改變時,也可以除去Isum項。

3 微分項

任何變量的微分項被用來描述該變量是如何相對于另一個變量(多位時間)變化的。換句話說,任何變量的微分項就是它隨時間的變化率。如位移隨時間的變化率是速度。速度相對于時間的微分是加速度。

在PID控制器中,值得關(guān)心的是偏差信號相對于時間的微分,或稱變化率。絕大多數(shù)控制器將微分項定義為:

Rate=(E-E )/T

式中,E為當(dāng)前偏差,E 為前次偏差值,T為兩次測量的時間間隔。負(fù)的變化率表明偏差信號的改善。當(dāng)微分項被具體應(yīng)用于控制器中時,將一個常數(shù)乘以該微分項,并將它加到比例項上,就可以得到最終的CV值計算公式:

CV=( K E)+( K Rate)

當(dāng)偏差信號接近零時,CV值將為負(fù),所以當(dāng)偏差信號開始改善時,微分項的作用將逐漸減弱校正輸出量。在某些場合下,微分項還有利于超調(diào)量的消除,并可以允許使用較大的K 值,從而可以改善響應(yīng)的快速性。微分環(huán)節(jié)還預(yù)示了偏差信號的變化趨勢。當(dāng)控制對象對控制器的輸出響應(yīng)遲緩時,微分環(huán)節(jié)的作用尤為明顯。

含有微分項的控制算法的偽代碼實現(xiàn)如下:

loop:

PV=ReadMotorSpeed()

LastError=Error

Error=SP-PV

Rate=Error-LastError

CV=Error*Kprop+Krate*Rate

SetPWM(CV)

Goto loop

4 PID的整定方法

在整定PID控制器參數(shù)時,可以根據(jù)控制器的參數(shù)與系統(tǒng)動態(tài)性能和穩(wěn)態(tài)性能之間的定性關(guān)系,用實驗的方法來調(diào)節(jié)控制器的參數(shù)。有經(jīng)驗的調(diào)試人員一般可以較快地得到較為滿意的調(diào)試結(jié)果。在調(diào)試中最重要的問題是在系統(tǒng)性能不能令人滿意時,知道應(yīng)該調(diào)節(jié)哪一個參數(shù),該參數(shù)應(yīng)該增大還是減小。

為了減少需要整定的參數(shù),首先可以采用PI控制器。為了保證系統(tǒng)的安全,在調(diào)試開始時應(yīng)設(shè)置比較保守的參數(shù),例如比例系數(shù)不要太大,積分時間不要太小,以避免出現(xiàn)系統(tǒng)不穩(wěn)定或超調(diào)量過大的異常情況。給出一個階躍給定信號,根據(jù)被控量的輸出波形可以獲得系統(tǒng)性能的信息,例如超調(diào)量和調(diào)節(jié)時間。應(yīng)根據(jù)PID參數(shù)與系統(tǒng)性能的關(guān)系,反復(fù)調(diào)節(jié)PID的參數(shù)。

如果階躍響應(yīng)的超調(diào)量太大,經(jīng)過多次振蕩才能穩(wěn)定或者根本不穩(wěn)定,應(yīng)減小比例系數(shù)、增大積分時間。如果階躍響應(yīng)沒有超調(diào)量,但是被控量上升過于緩慢,過渡過程時間太長,應(yīng)按相反的方向調(diào)整參數(shù)。

如果消除誤差的速度較慢,可以適當(dāng)減小積分時間,增強(qiáng)積分作用。

反復(fù)調(diào)節(jié)比例系數(shù)和積分時間,如果超調(diào)量仍然較大,可以加入微分控制,微分時間從0逐漸增大,反復(fù)調(diào)節(jié)控制器的比例、積分和微分部分的參數(shù)。

總之,PID參數(shù)的調(diào)試是一個綜合的、各參數(shù)互相影響的過程,實際調(diào)試過程中的多次嘗試是非常重要的,也是必須的。

具體有以下幾種方法:

(1)試湊法

試湊法就是人工選擇PID參數(shù),使控制系統(tǒng)響應(yīng)達(dá)到預(yù)定要求,這種方法既簡單又復(fù)雜,說簡單是,如果你有經(jīng)驗和運(yùn)氣的話,那么在SIMULINK中,可能很快就達(dá)到了目標(biāo),說難的是,在現(xiàn)場實戰(zhàn)中,可能費(fèi)了很大時間和精力來調(diào)整三個參數(shù),也沒有完成任務(wù)。

(2)臨界比例度法

臨界比例度法就是僅在P作用下,調(diào)整比例度使系統(tǒng)等幅振蕩,然后根據(jù)公式算出PID值,效果如圖1所示,圖中左半部分是系統(tǒng)等幅振蕩,右半部分是控制效果。下圖是通過MATLAB 仿真的PID臨界比例度法控制的曲線效果圖。

40c31d50-eb54-11ed-90ce-dac502259ad0.jpg

圖1 PID臨界比例度法控制的曲線

(3)衰減曲線法

衰減曲線法 就是僅在P作用下,調(diào)整比例度使系統(tǒng)響應(yīng)曲線以4:1或10:1比率衰減,然后根據(jù)公式算出PID值,效果如圖2所示,圖中左半部分是系統(tǒng)衰減曲線,右半部分是控制效果。下圖是通過MATLAB 仿真的PID衰減曲線法控制的曲線效果圖。

40d72a52-eb54-11ed-90ce-dac502259ad0.jpg

圖2 PID衰減曲線法控制的曲線

(4)反應(yīng)曲線法

反應(yīng)曲線法就是在開環(huán)狀態(tài)下,加階躍信號,然后用一階加純滯后系統(tǒng)逼近原系統(tǒng),然后根據(jù)由Z-N或C-C公式算出PID值,效果如圖3所示,圖中左半部分是系統(tǒng) 響應(yīng)曲線 , 右半部分是控制效果。圖4是一個三階系統(tǒng),臨界比例度法 求得的有關(guān)參數(shù)。下圖是通過MATLAB 仿真的PID反應(yīng)曲線法控制的曲線效果圖。

40f96ef0-eb54-11ed-90ce-dac502259ad0.jpg

圖3 PID反應(yīng)曲線法控制的曲線

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6738

    瀏覽量

    111579
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    212

    文章

    29233

    瀏覽量

    210760
  • 直流電機(jī)
    +關(guān)注

    關(guān)注

    36

    文章

    1719

    瀏覽量

    71134
  • PID
    PID
    +關(guān)注

    關(guān)注

    37

    文章

    1479

    瀏覽量

    86859
  • 控制算法
    +關(guān)注

    關(guān)注

    4

    文章

    169

    瀏覽量

    22076

原文標(biāo)題:一文讀懂直流電機(jī)控制算法的精髓

文章出處:【微信號:EngicoolArabic,微信公眾號:電子工程技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    直流電機(jī)控制方法的Matlab仿真研究

    針對無刷直流電機(jī)控制方法進(jìn)行了深入研究 。根據(jù)無刷直流電機(jī)實際物理模型建立相應(yīng)的數(shù)學(xué)模型,電機(jī)使用雙閉環(huán)進(jìn)行控制 。根據(jù)
    發(fā)表于 03-27 12:15

    如何設(shè)計電機(jī)控制算法控制無刷直流電機(jī)的速度?

    如何使用六步換向(梯形控制控制無刷直流電動機(jī)?如何設(shè)計電機(jī)控制算法
    發(fā)表于 07-21 06:55

    脈寬調(diào)制器控制直流電機(jī)

    實驗  脈寬調(diào)制器控制直流電機(jī) 、實驗?zāi)康? 1.學(xué)習(xí)脈寬調(diào)制控制直流電機(jī)的基本工作原理。
    發(fā)表于 05-08 08:37 ?4005次閱讀
    脈寬調(diào)制器<b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>

    直流電機(jī)

    什么是直流電機(jī) 使用直流電源的電機(jī)叫做直流電機(jī)。因此只要把直流電機(jī)的端子接到直流電源上,就可以
    發(fā)表于 01-09 15:05 ?4114次閱讀
    <b class='flag-5'>直流電機(jī)</b>

    直流電機(jī)PWM控制

    直流電機(jī)PWM控制設(shè)計:基于VHDL語言實現(xiàn)直流電機(jī)PWM控制設(shè)計,有仿真,有程序,有結(jié)論
    發(fā)表于 11-08 18:51 ?52次下載

    直流電機(jī)控制器的特點_直流電機(jī)控制器的彈簧調(diào)整要點

    若起桿時,直流電機(jī)控制器有運(yùn)轉(zhuǎn)而直流電機(jī)控制器不動作,說明平衡拉簧拉力不足,調(diào)節(jié)拉簧狀態(tài)或增加拉簧,直至直流電機(jī)
    發(fā)表于 04-03 17:26 ?1901次閱讀

    直流電機(jī)控制

    直流電機(jī)控制說明。
    發(fā)表于 05-19 09:45 ?36次下載

    直流電機(jī)PID控制

    直流電機(jī)PID控制(固緯3030電源)-該文檔為 直流電機(jī)PID控制資料,講解的還不錯,感興趣的可以下載看看…………………………
    發(fā)表于 07-26 11:55 ?49次下載
    <b class='flag-5'>直流電機(jī)</b>PID<b class='flag-5'>控制</b>

    直流電機(jī)PWM控制

    直流電機(jī)PWM控制(電源技術(shù)屬于哪個期刊)-直流電機(jī)PWM控制,有需要的可以參考!
    發(fā)表于 09-15 15:29 ?142次下載
    <b class='flag-5'>直流電機(jī)</b>PWM<b class='flag-5'>控制</b>

    無刷直流電機(jī)、永磁同步電機(jī)及FOC控制算法簡介

    無刷直流電機(jī)(BLDC)、永磁同步電機(jī)電機(jī)(PMSM)電機(jī)以及FOC控制算法簡介 內(nèi)轉(zhuǎn)子永磁同步電機(jī)
    發(fā)表于 03-09 10:09 ?22次下載
    無刷<b class='flag-5'>直流電機(jī)</b>、永磁同步<b class='flag-5'>電機(jī)</b>及FOC<b class='flag-5'>控制</b><b class='flag-5'>算法</b>簡介

    無刷直流電機(jī)和有刷直流電機(jī)的區(qū)別

      無刷直流電機(jī)和有刷直流電機(jī)是兩種不同類型的直流電機(jī)。
    發(fā)表于 03-17 18:20 ?8685次閱讀

    直流電機(jī)控制的基本方法

    直流電機(jī)種最基本的電動機(jī)類型之,其速度和方向可以通過控制電流來實現(xiàn)。直流電機(jī)常常作為工業(yè)控制
    發(fā)表于 03-26 22:21 ?8465次閱讀

    直流電機(jī)方程

    Matlab 仿真——直流電機(jī)速度控制(1)直流電機(jī)建模 TMotor上位機(jī)軟件的控制算法,其中KT就是“
    發(fā)表于 03-30 13:52 ?1次下載
    <b class='flag-5'>直流電機(jī)</b>方程

    直流電機(jī)的勵磁是直流電嗎?直流電機(jī)勵磁的作用?

    是指直流電機(jī)的勵磁線圈直接與電機(jī)繞組相連,形成閉路,通過在繞組中產(chǎn)生磁場來達(dá)到勵磁的目的。根據(jù)勵磁電源的不同,自勵磁又可以分為磁場電源自勵磁和電樞電源自勵磁兩種方式。 磁場電源自勵磁是指通過將定的
    的頭像 發(fā)表于 01-18 16:07 ?3654次閱讀

    直流電機(jī)的應(yīng)用原理及控制原理是什么?

    直流電機(jī)(Direct Current Motor,簡稱DC Motor)是種將直流電能轉(zhuǎn)換為機(jī)械能的電機(jī)。它廣泛應(yīng)用于各種工業(yè)和民用設(shè)備中,如電動車輛、機(jī)床、起重機(jī)、電梯、家用電器
    的頭像 發(fā)表于 10-22 14:23 ?979次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品