中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 智能車速度控制pid(電機閉環(huán)控制算法)

        智能車速度控制pid(電機閉環(huán)控制算法)

        作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
        智能車電機閉環(huán)控制算法
        對于智能車的電機閉環(huán)控制算法,我之所以標題沒有寫上“智能車電機PID
        閉環(huán)控制算法”是因為PID 算法根本就不是特別好的適用于智能車這種變化很
        快的系統(tǒng),對于智能車,電機的調(diào)速可以說是時時刻刻再進行調(diào)速控制的,我
        上面說描述的經(jīng)典PID 算法,都是針對一些惰性系統(tǒng),也就是說是變化比較慢
        的系統(tǒng)的,所以對于智能車的電機調(diào)速采用完完整整的PID 算法,是根本不可
        取的,及時采用了,你必須要經(jīng)過一些變換和改進才能使用。以上的簡述只是
        鄙人自己的看法,如有錯誤,請各位高手指正。
        現(xiàn)在估計您會疑問,PID 不適用于智能車的電機控制,那什么才適用呢?
        鄙人原來做過智能車,從鄙人本身的理解,P 算法控制電機,也就是比例控制
        是最好的,反應(yīng)速度快,控制精度高,不存在積分和微分效應(yīng),非常適用于適
        用于控制周期短的系統(tǒng),當然,對于一些特殊的邏輯控制算法,可能要采用PD
        算法,用微分來做補償,防止震蕩和超調(diào)。
        下面來說下電機控制算法從開始的加入到最終的確定的方法:
        當然這一切的前提就是安裝了編碼器,車速有反饋,只有加上編碼器,有
        了反饋,才能組成一個閉環(huán)系統(tǒng)。當然您也可以加上碼盤,或者霍爾開關(guān)等一
        切可以返回車速的東西都可以。
        (1) 首先建議在車速比較慢的時候,采用PID 算法來控制電機,為
        什么開始要建議您采用PID 呢?主要是為了讓您更加深刻理解
        PID 算法的精髓和調(diào)試步驟方法等,有助于以后對控制算法更加
        深入的研究和書寫。調(diào)試PID 三個參數(shù)的方法,很多地方都提
        供了,我在這里簡單的說下:首先將ID 參數(shù)都變?yōu)?,先調(diào)整
        P 比例參數(shù),調(diào)整到速度基本上跟您給定的速度差不多,也就是
        說基本穩(wěn)定在您給定的脈沖數(shù),當然這個時候會非常的震蕩,
        不要擔心,接下來調(diào)整I,調(diào)整I 的結(jié)果就是震蕩會消除很多,
        但是車速會變化緩慢,也就是說會有一些延遲,然后再調(diào)整D,
        調(diào)整D 的結(jié)果就是增強調(diào)節(jié)的靈活性和預(yù)見性,在給定速度變
        化的過程中,能夠以一個平穩(wěn)過渡來變換,而且速度可以長時
        間穩(wěn)定在給定速度附近,然后PID 三個參數(shù)的基本范圍就確定
        了,然后再根據(jù)實際的跑車來微調(diào)這些參數(shù),當然在您調(diào)試PID
        之前,請仔細閱讀PID 理論知識,這樣有助于您的調(diào)試和理解,
        當您把PID 調(diào)整好以后,您就基本上領(lǐng)會了PID 的精髓,對于
        以后的調(diào)試作用非常大。這里的給定速度,就相當于上面對溫
        度例子中說的設(shè)定溫度。意思是一樣一樣的。
        (2) 當您對PID 掌握以后,您能做到給定多少速度,就能讓車速穩(wěn)
        定在這個給定速度左右,可以適當?shù)奶岣唿c車速,慢慢的觀察
        效果,你會發(fā)現(xiàn)當速度增加的時候,車速的控制會變得越來越
        糟糕,調(diào)節(jié)緩慢,靈活性差。這個時候您就可以試著去掉I 積分
        環(huán)節(jié),然后再重新調(diào)整參數(shù),按照上面說的,然后繼續(xù)觀察效
        果,試著提高速度,繼續(xù)觀察,因為車速畢竟很慢,很多細節(jié)
        我們都能看到,所以您就可以看到PID 到PD 變換以后,實際的
        效果是增加多少,也算是一種進步,這個時候,經(jīng)典的PID 公
        式已經(jīng)被我們簡化,不要擔心,您可以多多實驗多多觀察,可
        能在這個變換之間,您能受到很多啟發(fā),會產(chǎn)生很多思路,誰
        以后的調(diào)試車子都是有好處的。所以搞智能車,自己一步
        一步的進步學(xué)習,遠遠比去某些淘寶店鋪購買現(xiàn)成的程序?qū)W到
        的東西更多,體會的也更多,思維開闊的也更多。
        (3) 在您的車速在3M 內(nèi)的時候,我強烈建議您采用PD 算法,因為
        PD 算法是最好調(diào)整,最容易控制的。當然這個時候我也強烈建
        議您加上P 控制,P 控制的話,不是說就單純的P*偏差然后得
        到的值給定PWM,而是一定要加上一些邏輯控制,不加上邏輯
        控制而是直接運用比例公式來給定PWM 值,將會帶來很多問
        題,具體的邏輯控制講解,在以后我會寫出相關(guān)的文檔,謝謝。
        采用增量式編碼器為反饋的智能車電機閉環(huán)調(diào)速系統(tǒng):
        其實借助于我上面舉得例子,到這里,您可能已經(jīng)明白對于智能車來
        說閉環(huán)系統(tǒng)是一個必須的,不可脫離的。當然,您可能已經(jīng)完全明白智能
        車電機閉環(huán)調(diào)速系統(tǒng)怎么做,并且您可能也做的更好,要比我在這里所說
        的更加的先進更加的有創(chuàng)意更加的有效果。所以在這里我只是簡單的說說,
        謝謝。
        首先,我們需要時刻反饋當前的智能車速度給單片機或者 ARM,讓
        系統(tǒng)知道當前速度,有助于控制。
        我們先說說為什么我們要反饋車子速度,要知道車子當前的速度?因
        為我們的CPU 利用傳感器采集道路信息,通過CPU 收集和處理變化,系
        統(tǒng)就能知道車子當前的狀態(tài),比如是在直到上?還是在進入彎道?還是在
        彎道內(nèi)?還是正在出彎道?還是在上坡?還是穿過了起跑線?有了這些信
        息,我們首先就是對舵機的控制,控制車子根據(jù)什么道路情況來進行轉(zhuǎn)彎,
        轉(zhuǎn)彎的方向,大小,都是靠這些數(shù)據(jù)來實現(xiàn),當然當前的速度值也是控制
        舵機轉(zhuǎn)向大小的一個附加因素,這樣更加的有利于我們及時處理不同彎道。
        知道了這些信息,就跟我們開車一樣,我們要轉(zhuǎn)彎了,得感知我們車的速
        度,怎么感知啊,就靠汽車自帶的速度表,這樣我們就可以通過控制剎車
        或者油門還有方向盤來控制車子平穩(wěn)的轉(zhuǎn)過彎道,不同的彎道,不同的速
        度,轉(zhuǎn)彎的控制和剎車的控制都是不同的。如果我們不知道當前的速度,
        那么很可能因為拐彎速度過快,導(dǎo)致翻車,或者側(cè)滑,造成危險。智能車
        情況跟真車是一樣的,我們必須知道車子當前速度,比如我們智能車拐彎
        安全速度是3M/S,所謂安全速度就是車子順利安全且沒有較大側(cè)滑過彎時
        的速度,在進入彎道前我們車子的速度是4M/S,當傳感器感知要進入彎道
        了,通過跟安全速度對比,我們發(fā)現(xiàn)智能車的速度遠大于安全彎道速度,
        這個時候我們就要剎車,把車子速度快速降低到3M/S,這樣保證我們順利
        快速的過彎。在這里您可能問3M/S 的安全速度怎么來?其實很簡單這個
        速度是靠實驗來的,不用什么計算,完全屬于經(jīng)驗值,根據(jù)跑道的材料、
        車子機械性能和彎道的角度來決定,所以為什么我們要比賽的時候要試車,
        試車中一個最重要的環(huán)節(jié)就是熟悉比賽跑道所用的材料,用于我們實驗車
        子的安全速度等。
        對于智能車的速度反饋,在這里我就針對增量式編碼器來說,其實碼
        盤啊,霍爾啊,他們原理都一樣。光電增量式編碼器不同于絕對值編碼器,
        絕對值編碼器在編碼器轉(zhuǎn)動一周的每個特定位置都有一個確定的值輸出,
        增量式編碼器轉(zhuǎn)動一圈,固定輸出一定的脈沖,無法確定轉(zhuǎn)動到哪個位置,
        對外輸出一般為方波,這樣有助于MCU 進行數(shù)據(jù)采集。
        有了編碼器,我們通過齒輪、皮帶等將編碼器跟電機或者傳動輪進行
        連接,這樣電機轉(zhuǎn)動的時候,就會帶動編碼器轉(zhuǎn)動,然后編碼器就能向外
        輸出方波,接到單片機上,我們就能進行采集編碼器脈沖了。有了脈沖,
        可能您又要問這個脈沖沒有規(guī)律性,隨著轉(zhuǎn)動不停的增加,到底怎么來衡
        量速度?您這個時候啊,動動手,觀察觀察數(shù)據(jù)特點,您會發(fā)現(xiàn),當車速
        度比較快的時候啊,脈沖數(shù)自增的速度比較快,也就是說,轉(zhuǎn)速越快,頻
        率越高,單位時間內(nèi)的脈沖數(shù)就越多,這樣立刻有了靈感,我們用定時器
        設(shè)置一個中斷,這個中斷的時間為5MS,那么每5MS 我們就采集編碼器
        一次脈沖值,當采集完畢后,我們就對脈沖數(shù)寄存器清零,這樣在5MS
        內(nèi),得到的脈沖數(shù)越多,說明車子速度越快,到這里車速就解決了。到這
        里您可能會說:還沒完呢,還沒轉(zhuǎn)換為速度呢?要把這個脈沖根據(jù)距離和
        時間轉(zhuǎn)換為具體的XX 米/秒的速度。您的這個想法很好,但是真的是沒
        有必要,我們根本沒有必要浪費時間去計算這個,因為我們本來就是想知
        道速度,脈沖數(shù)的多少已經(jīng)就能衡量速度大小了,我們何必要很麻煩的轉(zhuǎn)
        換為具體速度? 一定時間內(nèi)的脈沖數(shù)已經(jīng)夠了,夠我們底層硬件進行判斷
        計算了。既然我們反饋的數(shù)據(jù)類型為脈沖數(shù),所以我們所給定的速度也對
        應(yīng)的到脈沖數(shù),比如50 個脈沖代表速度3M/S,80 個代表4M/S 的速度,
        這樣通過道路類型給定脈沖數(shù),就能實現(xiàn)電機的閉環(huán)控制了,是不是很簡
        單?到這里我知道又有人會疑問,50 個脈沖對應(yīng)3M/S,80 個脈沖對應(yīng)4M/S
        是怎么得到的?其實這個更簡單,很多人做智能車容易把簡單問題復(fù)雜化,
        其實很多問題都可以用幾行程序解決,比如那個坡道,很多人用了很多復(fù)
        雜方法解決,比如加一個開關(guān)啊,加個加速度啊,加個陀螺儀啊,根本沒
        有必要,程序幾行就搞定了。具體的脈沖對應(yīng)速度,您固定給定一個脈沖
        讓車子跑跑到一圈,然后記下時間,跑道實際長度除以時間,就是對應(yīng)速
        度,你只是需要大概知道對應(yīng)就行了,不用一個一個實驗,具體的X 米/
        秒是宏觀上我們感知的,跟單片機沒有任何關(guān)系。


        評論


        技術(shù)專區(qū)

        關(guān)閉