新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的數(shù)字PID實(shí)現(xiàn)直流電機(jī)調(diào)速(智能車)

        基于單片機(jī)的數(shù)字PID實(shí)現(xiàn)直流電機(jī)調(diào)速(智能車)

        作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
        現(xiàn)在做很多的智能車,都需要對(duì)車速進(jìn)行控制.或勻速或變速,在調(diào)速算法中,PID的經(jīng)典永垂不朽.

        其實(shí),簡(jiǎn)單的51單片機(jī)尚能輕易的實(shí)現(xiàn)平滑良好的調(diào)速,更不用說(shuō)性能優(yōu)良的單片機(jī).然而,要做到最好,是需要很高的專業(yè)水平和動(dòng)手能力.但是,工程上能達(dá)到我們的目標(biāo)即可.

        本文引用地址:http://www.104case.com/article/201611/320366.htm

        抱著"夠用就好"的思想,我們來(lái)開(kāi)始我們的調(diào)速旅程:

        所謂的PID是肯定基于一個(gè)閉環(huán)系統(tǒng)而言的,什么是閉環(huán)系統(tǒng)呢,我簡(jiǎn)單的介紹一下:

        看上面的這個(gè)系統(tǒng),就不是一個(gè)閉環(huán)系統(tǒng),而是一個(gè)開(kāi)環(huán)系統(tǒng).再看下面的這個(gè)就是閉環(huán)系統(tǒng):

        上圖這個(gè)系統(tǒng)就是典型的閉環(huán)系統(tǒng).大家也許看出來(lái)了,"開(kāi)環(huán)"系統(tǒng),就是系統(tǒng)沒(méi)有反饋,是個(gè)"打開(kāi)的環(huán)",而閉環(huán)系統(tǒng),是有反饋的,是一個(gè)完整的環(huán)形.

        正是這個(gè)反饋,就可以將當(dāng)前電機(jī)的轉(zhuǎn)速傳遞給系統(tǒng)控制端,如果電機(jī)轉(zhuǎn)速快了,控制器就讓它慢點(diǎn)(比如可以降低電機(jī)兩端的電壓),同樣,如果速度傳感器檢測(cè)到轉(zhuǎn)速低了,就應(yīng)該讓電機(jī)兩端的電壓提高一點(diǎn).就是在這樣的不斷矯正中,電機(jī)的速度會(huì)保持恒定.當(dāng)然,這個(gè)矯正的周期是非常短的,矯正的速度是很快的.

        有人說(shuō),不就是多了就少點(diǎn),少了就多點(diǎn)嘛,干嘛使用什么玄乎的PID?

        對(duì),你說(shuō)對(duì)了,"多了就少點(diǎn),少了就多點(diǎn)"這本身就是PID里面的一種:P控制--只使用了P算法.

        接下來(lái)我們就看看到底什么是PID,為什么要使用PID,怎么樣使用PID:

        P--比例

        I--積分

        D--微分

        我們來(lái)一條一條的講解P,I,D的含義及其意義:

        P--比例部分

        這個(gè)很好理解.比如說(shuō),速度傳感器發(fā)現(xiàn),當(dāng)前速度是1200(每分鐘).而我們?cè)O(shè)定的速度值為1000,那么就差別了200,這時(shí),如果我設(shè)定P為0.1,如果輸入的電壓就應(yīng)該是Uo-0.1x200.看到了沒(méi)有,這里的比例的意思就是"倍數(shù)",就是你要把這個(gè)偏差放大多少倍."放大"本身就是一個(gè)比例嘛.知道了這個(gè),你就可以寫一個(gè)PID控制里面的P控制了.很多時(shí)候,不需要I和D控制,單單一個(gè)P控制就足夠了.到了這里你就可以控制電機(jī)的速度了.

        I--積分部分.

        這個(gè)積分其實(shí)也很好理解.它是一個(gè)積分運(yùn)算.有的時(shí)候偏差不是很大,所以繼續(xù)運(yùn)行下去,會(huì)使系統(tǒng)存在一個(gè)偏差.但是你如果使用I運(yùn)算將這個(gè)偏差累加起來(lái),到了一定大小的時(shí)候就進(jìn)行處理.這樣就能防止系統(tǒng)的誤差累計(jì).其實(shí),在程序中,這個(gè)過(guò)程就是對(duì)一個(gè)小偏差的連續(xù)累加罷了.

        D--微分部分.

        這個(gè)部分也比較好理解.所謂的微分就是對(duì)變量求導(dǎo)唄,意思就是一個(gè)量的變化率唄.所以,微分部分就是能夠?qū)⒆兞孔兓史湃胗?jì)算中.這個(gè)量在編程中其實(shí)就是求上次的偏差和這次的偏差的差罷了.



        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 台中市| 西贡区| 如东县| 乃东县| 星子县| 博湖县| 南召县| 清远市| 长子县| 祁门县| 泰安市| 紫金县| 玛纳斯县| 湖口县| 安化县| 邓州市| 长寿区| 宕昌县| 琼中| 临洮县| 辰溪县| 金坛市| 闻喜县| 富民县| 仙居县| 南投市| 泸定县| 弋阳县| 富宁县| 东至县| 罗平县| 漾濞| 平武县| 甘孜| 桐庐县| 翁源县| 旺苍县| 兴宁市| 贺州市| 平乐县| 洞口县|