三、機器人軟件設(shè)計_第1頁
三、機器人軟件設(shè)計_第2頁
三、機器人軟件設(shè)計_第3頁
三、機器人軟件設(shè)計_第4頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、三、機器人軟件設(shè)計三、機器人軟件設(shè)計主講:高順強主講:高順強E-mail:2 PWM控制方法 PWMPWM脈寬調(diào)制脈寬調(diào)制 PWM是Pulse Width Modulation的縮寫,就是脈沖寬度調(diào)制的意思 。周期不變,占空比變化。周期不變,占空比變化。PWMONONONOFFttttT占空比4 電壓有效值電壓有效值 若我們的高電平是5V電源電壓,低電平是0V電壓,則我們可以得到的平均電壓為:ON5VtT平均電壓占空比 電源電壓5V0V1V0.2V5V20.4V5V40.8V55V0V5V0V占空比20%占空比40%占空比80%5 PWMPWM開關(guān)開關(guān)L298L298內(nèi)部開關(guān)管內(nèi)部開關(guān)管 我們

2、通過控制單片機產(chǎn)生相應(yīng)占空比的PWM波形來控制L298內(nèi)部的開關(guān)管的開通與關(guān)斷。6 以橋A為例,其控制方法有兩種: 1、PWM加在IN1、IN2上; 2、PWM加在ENA上;7 1 1、PWMPWM加在加在IN1IN1、IN2IN2上;上;IN1 IN2ENAOUT1-OUT2電機01OUT1OUT2正轉(zhuǎn)01OUT1OUT2反轉(zhuǎn)001停止*0停止8 2、 PWM加在ENA上;IN1 IN2ENAOUT1-OUT2電機1 10OUT1OUT2正轉(zhuǎn)01OUT1OUT2反轉(zhuǎn)00停止*0停止9 確定:光耦傳輸?shù)姆绞绞钦壿嬚壿嫞垂怦羁刂贫溯斎?,則輸出端輸出0;光耦控制端輸入1,則輸出端輸出1。A

3、-+MG1U3U4U5R4200R5200R6200R84.7KR94.7KR104.7KVsR160.5R170.5D91N4007D131N4007D101N4007D111N4007D121N4007D141N4007D151N4007D161N4007U6U7U8R7200R12200R13200R114.7KR144.7KR154.7K+C14+C15A-+MG2OUT1OUT2OUT3OUT4SEHSE_ASENSE_BC9104C10104SENSE_A1OUT12OUT23Vs4EN_A6IN15IN27GND8Vss9IN310EN_B11IN412OUT313OUT414S

4、ENSE_B15L298U10L298NEN_BIN3IN4EN_AIN1IN2VCC5.0VssP1.0P1.1P1.2P1.3P1.4P1.5結(jié)論:結(jié)論:單片機管腳輸出的控制信號,即為L298的控制信號。10假設(shè)要求P1.0口輸出以下波形:0t1TT=10msT=10ms,占空比,占空比60%60%程序如何設(shè)計?三個時間點,兩個時間段:tON 0-t1 P1.0=1tOFF t1-T P1.0=0用到定時器11將T=10msT=10ms分成分成N N等份,如取等份,如取N=100N=100,則設(shè)定定,則設(shè)定定時器時間時器時間100us100us。即每。即每100us100us產(chǎn)生一次定時中

5、產(chǎn)生一次定時中斷,每次中斷斷,每次中斷count+count+;0t1Tt1=10mst1=10ms* *60%=6ms60%=6ms所以所以count60count60 count60時,時,P1.0=0;P1.0=0; count=100 count=100時,時,count=0;count=0;count=60count=60時,時,即為即為t1t1時刻;時刻;12PWM控制程序例解moter drive13 在工程實際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制規(guī)律為比例、積分、微分控制,簡稱PID控制,又稱PID調(diào)節(jié)。PID控制器問世至今已有近70年歷史,它以其結(jié)構(gòu)簡單、穩(wěn)定性好、工作可靠、調(diào)整方便

6、而成為工業(yè)控制的主要技術(shù)之一。特點:穩(wěn)、快、準。PID算法14 當(dāng)被控對象的結(jié)構(gòu)和參數(shù)不能完全掌握,或得不到精確的數(shù)學(xué)模型時,控制理論的其它技術(shù)難以采用時,系統(tǒng)控制器的結(jié)構(gòu)和參數(shù)必須依靠經(jīng)驗和現(xiàn)場調(diào)試來確定,這時用PID控制技術(shù)最為方便。15 即當(dāng)我們不完全了解一個系統(tǒng)和被控對象,或不能通過有效的測量手段來獲得系統(tǒng)參數(shù)時,最適合用PID控制技術(shù)。PID控制,實際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、 積分、微分計算出控制量進行控制的。16 小明接到這樣一個任務(wù):有一個水缸缸底有個洞漏水(而且漏水的速度還不一定固定不變),要求水面高度維持在某個位置,一旦發(fā)現(xiàn)水面高度低于

7、要求位置,就要往水缸里加水。 PID的小故事 17 小明接到任務(wù)后就一直守在水缸旁邊,時間長就覺得無聊,就跑到房里看小說了,每30分鐘來檢查一次水面高度。水漏得太快,每次小明來檢查時,水都快漏完了,離要求的高度相差很遠,小明改為每3分鐘來檢查一次,結(jié)果每次來水都沒怎么漏,不需要加水,來得太頻繁做的是無用功。幾次試驗后,確定每10分鐘來檢查一次。這個檢查時間就稱為采樣周期采樣周期 。18 開始的時候小明用瓢加水,水龍頭離水缸有十幾米的距離,經(jīng)常要跑好幾趟才加夠水,于是小明又改為用桶加,一加就是一桶,跑的次數(shù)少了,加水的速度也快了,但好幾次將缸給加溢出了,不小心弄濕了幾次鞋,小明又動腦筋,我不用瓢

8、也不用桶,老子用盆,幾次下來,發(fā)現(xiàn)剛剛好,不用跑太多次,也不會讓水溢出。這個加水工具的大小就稱為比例系數(shù)比例系數(shù)。19 小明又發(fā)現(xiàn)水雖然不會因加過量而溢出了,但有時會高過要求位置比較多,還是有打濕鞋的危險。他又想了個辦法,在水缸上裝一個漏斗,每次加水不直接倒進水缸,而是倒進漏斗讓它慢慢加。這樣溢出的問題解決了,但加水的速度又慢了,有時還趕不上漏水的速度。于是他試著變換不同大小口徑的漏斗來控制加水的速度,最后終于找到了滿意的漏斗。漏斗的時間就稱為積分時間積分時間。20 小明終于喘了一口,但任務(wù)的要求突然嚴了,水位控制的及時性要求大大提高,一旦水位過低,必須立即將水加到要求位置,而且不能高出太多,

9、否則不給工錢。小明又為難了!于是他又開動腦筋,終于讓它想到一個辦法,常放一盆備用水在旁邊,一發(fā)現(xiàn)水位低了,不經(jīng)過漏斗就是一盆水下去,這樣及時性是保證了,但水位有時會高多了。他又在要求的水面位置上面一點將水缸鑿一孔,再接一根管子到下面的備用桶里這樣多出的水會從上面的孔里漏出來。這個水漏出的快慢就稱為微分時間微分時間。21 從硬件PID電路說起:PID電路階躍響應(yīng)2211111( )( )1( )fofiRV ssCA sRV sRsCsC 11111ffffRRsRCRRsR C 上式括號內(nèi)第一、二兩項表示比例運算;第三項表示微分運算;第四項表示積分運算。23 圖b表示在輸入階躍信號情況下,輸出

10、電壓的波形。 在自動控制系統(tǒng)中,比例-積分-微分運算經(jīng)常用來組成 PID調(diào)節(jié)器。在常規(guī)調(diào)節(jié)中,比例運算、積分運算常用來提高調(diào)節(jié)精度,而微分運算則用來加速過渡過程。242082002141( )RsCA sR 2082142142001RRsRC 214200TRC為積分時間 硬件PID控制算法應(yīng)用例解PI控制模型 25PID控制,實際中也有PI和PD控制。PID控制器就是根據(jù)系統(tǒng)的誤差,利用比例、積分、微分計算出控制量進行控制的。比例(比例(P)控制)控制比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關(guān)系。當(dāng)僅有比例控制時系統(tǒng)輸出存在穩(wěn)態(tài)誤差(Steady-state er

11、ror)。 26積分(積分(I)控制)控制在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關(guān)系。對一個自動控制系統(tǒng),如果在進入穩(wěn)態(tài)后存在穩(wěn)態(tài)誤差,則稱這個控制系統(tǒng)是有穩(wěn)態(tài)誤差的或簡稱有差系統(tǒng)(System with Steady-state Error)。為了消除穩(wěn)態(tài)誤差,在控制器中必須引入“積分項”。積分項對誤差的調(diào)節(jié)取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩(wěn)態(tài)誤差進一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統(tǒng)在進入穩(wěn)態(tài)后無穩(wěn)態(tài)誤差。 27微分(微分(D)控制)控制在微分控制中,控制器

12、的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關(guān)系。自動控制系統(tǒng)在克服誤差的調(diào)節(jié)過程中可能會出現(xiàn)振蕩甚至失穩(wěn)。其原因是由于存在有較大慣性組件(環(huán)節(jié))或有滯后(delay)組件,具有抑制誤差的作用,其變化總是落后于誤差的變化。解決的辦法是使抑制誤差的作用的變化“超前”,即在誤差接近零時,抑制誤差的作用就應(yīng)該是零。28微分(微分(D)控制(續(xù))控制(續(xù)) 這就是說,在控制器中僅引入“比例”項往往是不夠的,比例項的作用僅是放大誤差的幅值,而目前需要增加的是“微分項”,它能預(yù)測誤差變化的趨勢,這樣,具有比例+微分的控制器,就能夠提前使抑制誤差的控制作用等于零,甚至為負值,從而避免了被控量的嚴重超調(diào)

13、。所以對有較大慣性或滯后的被控對象,比例+微分(PD)控制器能改善系統(tǒng)在調(diào)節(jié)過程中的動態(tài)特性。 29控制公式:30PID控制器參數(shù)整定的方法很多,概括起來有兩大類: 一是理論計算整定法。它主要是依據(jù)系統(tǒng)的數(shù)學(xué)模型,經(jīng)過理論計算確定控制器參數(shù)。這種方法所得到的計算數(shù)據(jù)未必可以直接用,還必須通過工程實際進行調(diào)整和修改。 二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。 PID控制器參數(shù)整定31Kp=100/PKi= kp*T/IKd= kp*D/T 理論計算整定法32現(xiàn)在一般采用的是臨界比例法。利用該方法進行PID控制器參數(shù)的整定步驟

14、如下:(1)首先預(yù)選擇一個足夠短的采樣周期讓系統(tǒng)工作(2)僅加入比例控制環(huán)節(jié),直到系統(tǒng)對輸入的階躍響應(yīng)出現(xiàn)臨界振蕩,記下這時的比例放大系數(shù)和臨界振蕩周期(3)在一定的控制度下通過公式計算得到PID控制器的參數(shù)。工程整定法33PID參數(shù)的設(shè)定:是靠經(jīng)驗及工藝的熟悉,參考測量值跟蹤與設(shè)定值曲線,從而調(diào)整P、I、D的大小。PID控制器參數(shù)的工程整定,各種調(diào)節(jié)系統(tǒng)中P、I、D參數(shù)經(jīng)驗數(shù)據(jù)以下可參照:溫度T: P=2060%,T=180600s,D=3-180s壓力P: P=3070%,T=24180s,液位L: P=2080%,T=60300s,流量L: P=40100%,T=660s。34自控理論書

15、上的常用口訣:自控理論書上的常用口訣:參數(shù)整定找最佳,從小到大順序查先是比例后積分,最后再把微分加曲線振蕩很頻繁,比例度盤要放大曲線漂浮繞大灣,比例度盤往小扳曲線偏離回復(fù)慢,積分時間往下降曲線波動周期長,積分時間再加長曲線振蕩頻率快,先把微分降下來動差大來波動慢。微分時間應(yīng)加長理想曲線兩個波,前高后低4比1一看二調(diào)多分析,調(diào)節(jié)質(zhì)量不會低35PID控制算法程序框架/溫度控制溫度控制PID算法程序算法程序unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint )unsigned int dError,Error;Error = pp

16、-SetPoint - NextPoint; / 偏差pp-SumError += Error; / 積分dError = pp-LastError - pp-PrevError; / 當(dāng)前微分pp-PrevError = pp-LastError;pp-LastError = Error;return (pp-Proportion * Error / 比例項+ pp-Integral * pp-SumError / 積分項+ pp-Derivative * dError); / 微分項36PID控制過程推演 SetPoint=10(設(shè)定的值) NextPoint=5(傳感器值) Error

17、=0; pp-SumError=0; dError =0; pp-LastError =0; pp-PrevError =0;初始狀態(tài):37NextPoint=5;Error = pp-SetPoint NextPoint =5;pp-SumError = pp-SumError + Error = 5;dError = pp-LastError - pp-PrevError = 0;pp-PrevError = pp-LastError = 0;pp-LastError = Error = 5;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 *

18、dError = 0.7*5+0.5*5+0.5*0 = 6。第一個采樣周期:38NextPoint=6;Error = pp-SetPoint NextPoint =4;pp-SumError = pp-SumError + Error = 9;dError = pp-LastError - pp-PrevError = 5;pp-PrevError = pp-LastError = 5;pp-LastError = Error = 4;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 * dError = 0.7*4+0.5*9+0.5*5 =

19、9.8。第二個采樣周期:39NextPoint=7;Error = pp-SetPoint NextPoint =3;pp-SumError = pp-SumError + Error = 12;dError = pp-LastError - pp-PrevError = -1;pp-PrevError = pp-LastError = 4;pp-LastError = Error = 3;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 * dError = 0.7*3+0.5*12+0.5*(-1) = 7.5。第三個采樣周期:40NextPoi

20、nt=9;Error = pp-SetPoint NextPoint =1;pp-SumError = pp-SumError + Error = 13;dError = pp-LastError - pp-PrevError = -1;pp-PrevError = pp-LastError = 3;pp-LastError = Error = 1;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 * dError = 0.7*1+0.5*13+0.5*(-1) = 6.7。第四個采樣周期:41NextPoint=10;Error = pp-SetP

21、oint NextPoint =0;pp-SumError = . = 0;dError = pp-LastError - pp-PrevError = -2;pp-PrevError = pp-LastError = 1;pp-LastError = Error = 0;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 * dError = 0.7*0+0.5*0+0.5*(-2) = -1。第五個采樣周期:遇陷削弱積分I=042NextPoint=10;Error = pp-SetPoint NextPoint =0;pp-SumError =

22、. = 0;dError = pp-LastError - pp-PrevError = -1;pp-PrevError = pp-LastError = 0;pp-LastError = Error = 0;返回值(即調(diào)整量):0.7 * Error + 0.5 * pp-SumEror + 0.5 * dError = 0.7*0+0.5*0+0.5*(-1) = -0.5。第六個采樣周期:43NextPoint=10;Error = pp-SetPoint NextPoint =0;pp-SumError = . = 0;dError = pp-LastError - pp-PrevError = 0;pp-PrevError = pp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論