智能車制作全過程(飛思卡爾)43_第1頁(yè)
智能車制作全過程(飛思卡爾)43_第2頁(yè)
智能車制作全過程(飛思卡爾)43_第3頁(yè)
智能車制作全過程(飛思卡爾)43_第4頁(yè)
智能車制作全過程(飛思卡爾)43_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 HYPERLINK /king_of_wind/181718/message.aspx# l # 智能車制作全過程(飛思卡爾)如果我寫得好,請(qǐng)頂我一下,我將再接再厲!(本人在很久以以前做的一輛輛用來比賽的的智能車-獲得華北一一等獎(jiǎng),全國(guó)國(guó)二等獎(jiǎng),有有許多可改進(jìn)進(jìn)地方.)下面我們來立即即開始我們的的智能車之旅旅: 首先,一一個(gè)系統(tǒng)中,傳感器至關(guān)關(guān)重要. 不管你你的CPU的的速度如何的的快,通信機(jī)機(jī)制如何的優(yōu)優(yōu)越,系統(tǒng)的的精度永遠(yuǎn)無無法超越傳感感器的精度 .是的,在這個(gè)系統(tǒng)統(tǒng)中,傳感器器的精度,其其準(zhǔn)確性就顯顯得至關(guān)重要要.如果你問問我傳感器的的電路,呵呵呵,我早就和和大家分享了了,在我發(fā)表表的

2、日志中,有一篇的文章章就詳細(xì)的說說明了傳感器器的硬件電路路以及可以采采取的信號(hào)采采樣方式. 傳感器器安裝成一排排,如上面排排列.(就是是個(gè)一字排列列,沒有什么么特別) 接下來來,看看我們們?nèi)绾翁幚韨鱾鞲衅鞯玫降牡男畔? 大家看到到了.結(jié)構(gòu)很很簡(jiǎn)單,我們們已經(jīng)搞定了了傳感器通路路.下面我們們來看看多機(jī)機(jī)的控制方面面的問題: 其實(shí),不不管是便宜還還是比較貴的的舵機(jī),都是是一樣的用法法.舵機(jī)的特特點(diǎn)就是不同同的占空比方方波就對(duì)應(yīng)著著舵機(jī)的不同同轉(zhuǎn)角.當(dāng)然然不同的舵機(jī)機(jī)有不同的頻頻率要求.比比如我用的這這個(gè)舵機(jī):方方波頻率500HZ.怎么么改變占空比比?這個(gè)不就就是PWM模模塊的功能嘛嘛.PWM模模塊

3、可以輸出出任意占空比比的方波.只只要你控制其其中的占空比比寄存器,就就可以直接控控制舵機(jī)的轉(zhuǎn)轉(zhuǎn)角.你只要要將傳感器的的狀態(tài)和這個(gè)個(gè)占空比對(duì)應(yīng)應(yīng)上,不就OOK了?就這這么簡(jiǎn)單,做做到這里,你你就可以讓你你的車在跑道道上跑了! 接下來,我們的工作作是讓智能車車更加完善:速度要穩(wěn)定定. 在當(dāng)前的的系統(tǒng)結(jié)構(gòu)中中,要使一個(gè)個(gè)系統(tǒng)更穩(wěn)定定更可靠,閉閉環(huán)系統(tǒng)是一一個(gè)選擇.(如果你不知知道什么是閉閉環(huán)系統(tǒng),可可以參照我的的文章里面的的一篇基于于單片機(jī)的PPID電機(jī)調(diào)調(diào)速),既既然是一個(gè)閉閉環(huán)系統(tǒng),速速度傳感器是是必不可少的的,用什么樣樣的傳感器做做為速度反饋饋呢:仔細(xì)看,和后輪之間間有一條皮帶帶的這個(gè)貌似似電

4、機(jī)的東西西,就是我的的速度傳感器器,它的學(xué)名名叫旋轉(zhuǎn)編編碼器.這這個(gè)器件的特特點(diǎn)就是:每每轉(zhuǎn)一圈,就就會(huì)從輸出端端輸出一定的的脈沖,比如如我這個(gè)旋轉(zhuǎn)轉(zhuǎn)編碼器是5500線的,就是轉(zhuǎn)一圈圈輸出5000個(gè)脈沖.因因此,我只要要在單位時(shí)間間內(nèi)計(jì)數(shù)輸出出端輸出的脈脈沖數(shù),我就就可以計(jì)算出出車輛的速度度.顯然,這這個(gè)速度可以以用來作為PPID速度調(diào)調(diào)節(jié)的反饋. 現(xiàn)在有了了反饋,我們們需要的是調(diào)調(diào)節(jié)智能車驅(qū)驅(qū)動(dòng)電機(jī)的速速度了,如何何來調(diào)速,就就成了必須解解決的問題了了.我用的是是驅(qū)動(dòng)芯片MMC338886. 其實(shí),這個(gè)個(gè)芯片就是一一個(gè)功率放大大的模塊.我們知道,單片片機(jī)輸出的PPWM信號(hào)還還是TTL信信號(hào),

5、是不能能直接用來驅(qū)驅(qū)動(dòng)電機(jī)的.非要通過功功率模塊的放放大不可.這這個(gè)道理其實(shí)實(shí)很簡(jiǎn)單,就就像上次我給給大家畫的哪哪個(gè)電子琴電電路的放大電電路一樣: 看看上面的那個(gè)個(gè)三極管,就就是將TTLL電路的電流流放大,才能能夠來驅(qū)動(dòng)蜂蜂鳴器.其實(shí)實(shí)這里的這個(gè)個(gè)MC338886就是這這樣的一個(gè)作作用.而且我我們自己也完完全可以用三三極管自己搭搭建一個(gè)這樣樣的功率放大大電路,當(dāng)然然,驅(qū)動(dòng)能力力肯定不如這這里的這個(gè)MMC338886(如我們們用三極管就就搭建了超過過MC338886的電路路,摩托羅拉拉就不會(huì)賣幾幾十塊錢一個(gè)個(gè)了.呵呵.)知道了這這個(gè)MC333886的工工作原理,就就好說了,一一句話,通過過PWM

6、來調(diào)調(diào)節(jié)電機(jī)的速速度.當(dāng)方波波中高電平占占的比例大,電機(jī)的平均均電壓肯定高高,轉(zhuǎn)速肯定定快.也就是是說,PWMM的占空比越越大,電機(jī)轉(zhuǎn)轉(zhuǎn)速越高. 看,就這么么簡(jiǎn)單,這個(gè)個(gè)智能車就做做好了.接下下來,我們就就把我們知道道的PID知知識(shí)放到舵機(jī)機(jī)和直流驅(qū)動(dòng)動(dòng)電機(jī)的控制制中去.就可可以達(dá)到一個(gè)個(gè)比較好的控控制效果. 如如果要達(dá)到更更高的水平,肯定機(jī)械方方面的改造也也少不了.當(dāng)當(dāng)然,這不屬屬于本文的討討論范圍.呵呵呵. HYPERLINK /king_of_wind/184358/message.aspx 智能車制作全過過程(飛思卡卡爾-舵舵機(jī)篇 發(fā)表于 20008/11/28 100:00:555

7、感謝大家的支支持!如果我我寫得好,請(qǐng)請(qǐng)頂我一下! 智能車的的制作中,看看經(jīng)驗(yàn)來說,舵機(jī)的控制制是個(gè)關(guān)鍵.相比驅(qū)動(dòng)電電機(jī)的調(diào)速,舵機(jī)的控制制對(duì)于智能車車的整體速度度來說要重要要的多. PIDD算法是個(gè)經(jīng)經(jīng)典的算法,一定要將舵舵機(jī)的PIDD調(diào)好,這樣樣來說即使不不進(jìn)行驅(qū)動(dòng)電電機(jī)的調(diào)速(勻速),也也能跑出一個(gè)個(gè)很好的成績(jī)績(jī). 機(jī)械方方面: 從我們們的測(cè)試上來來看,舵機(jī)的的力矩比較大大,完全足以以驅(qū)動(dòng)前輪的的轉(zhuǎn)向.因此此舵機(jī)的相應(yīng)應(yīng)速度就成了了關(guān)鍵.怎么么增加舵機(jī)的的響應(yīng)速度呢呢?更改舵機(jī)機(jī)的電路?不不行,組委會(huì)會(huì)不允許.一一個(gè)非常有效效的辦法是更更改舵機(jī)連接接件的長(zhǎng)度.我們來看看看示意圖: 從上圖我

8、我們能看到,當(dāng)舵機(jī)轉(zhuǎn)動(dòng)動(dòng)時(shí),左右輪輪子就發(fā)生偏偏轉(zhuǎn).很明顯顯,連接件長(zhǎng)長(zhǎng)度增加,就就會(huì)使舵機(jī)轉(zhuǎn)轉(zhuǎn)動(dòng)更小的轉(zhuǎn)轉(zhuǎn)角而達(dá)到同同樣的效果.舵機(jī)的特點(diǎn)點(diǎn)是轉(zhuǎn)動(dòng)一定定的角度需要要一定的時(shí)間間.不如說(只是比喻,沒有數(shù)據(jù)),舵機(jī)轉(zhuǎn)動(dòng)動(dòng)10度需要要2ms,那那么要使輪子子轉(zhuǎn)動(dòng)同樣的的角度,增長(zhǎng)長(zhǎng)連接件后就就只需要轉(zhuǎn)動(dòng)動(dòng)5度,那么么時(shí)間是1mms,就能反反應(yīng)更快了.據(jù)經(jīng)驗(yàn),這這個(gè)舵機(jī)的連連接件還有必必要修改.大大約增長(zhǎng)0.5倍2倍倍.在今年中,有人使用了了兩個(gè)舵機(jī)分分別控制兩個(gè)個(gè)輪子.想法法很好.但今今年不允許使使用了. 接下來就就是軟件上面面的問題了. 這里的軟軟件問題不單單單是軟件上上的問題,因因?yàn)槲覀円獱?/p>

9、牽涉到傳感器器的布局問題題.其實(shí),沒沒有人說自己己的傳感器布布局是最好的的,但是肯定定有最適合你你的算法的.比如說,常常規(guī)的傳感器器布局是如下下圖: 這里好像像說到了傳感感器,我們只只是略微的一一提.上圖只只是個(gè)示意圖圖,意思就是是在中心的地地方傳感器比比較的密集,在兩邊的地地方傳感器比比較的稀疏.這樣做是有有好處的,大大家看車輛在在行駛到轉(zhuǎn)彎彎處的情況: 相信看到到這里,大家家應(yīng)該是一目目了然了,在在轉(zhuǎn)彎的時(shí)候候,車是偏離離跑道的,所所以兩邊比較較稀疏還是比比較科學(xué)的,關(guān)關(guān)于這個(gè),我我們將在傳感感器中在仔細(xì)細(xì)討論。 在說到接接下來的舵機(jī)機(jī)的控制問題題,方法比較較的多,有人人是根據(jù)傳感感器的狀

10、態(tài),運(yùn)用查表法法差出舵機(jī)應(yīng)應(yīng)該的轉(zhuǎn)角,這個(gè)做法簡(jiǎn)簡(jiǎn)單,而且具具有較好的濾濾波效果,能夠?qū)㈠e(cuò)錯(cuò)誤的傳感器器狀態(tài)濾掉;還有人根據(jù)據(jù)計(jì)算出來的的傳感器的中中心點(diǎn)(比如如第四個(gè)和第第五個(gè)傳感器器檢測(cè)到黑線線,中心點(diǎn)就就是4.5),計(jì)算出舵舵機(jī)需要的轉(zhuǎn)轉(zhuǎn)角,這個(gè)做做法也比較的的簡(jiǎn)單,但是是必須有一個(gè)個(gè)濾波的過程程,必須要濾濾掉錯(cuò)誤的傳傳感器狀態(tài).比如說:現(xiàn)現(xiàn)在傳感器第第四個(gè),第五五個(gè)和第111個(gè)檢測(cè)到了了黑線,顯然然第11個(gè)應(yīng)應(yīng)該是個(gè)傳感感器檢測(cè)錯(cuò)誤誤.應(yīng)該把它它濾掉.關(guān)于于這個(gè)如何濾濾波,我們待待會(huì)在后面將將進(jìn)行討論.還有人的做做法就是采用用PID算法法,這個(gè)方法法比較的好,其實(shí)也不是是很難,就是是P

11、ID參數(shù)數(shù)整定的時(shí)候候有些麻煩. 大家可以以自己選擇喜喜歡的方法. 關(guān)于濾波,有些許的方方法: 1.平均值值排序法. 這個(gè)方法法大家肯定一一聽就知道是是怎么回事.就是不急于于執(zhí)行,先多多次檢測(cè)被測(cè)測(cè)傳感器,累累加,求平均均值.這個(gè)方方法不錯(cuò),特特別在單片機(jī)機(jī)中.比如:你如果連續(xù)續(xù)采集8次,累加,最后后你只要右移移三位(vaalue=vvalue3;)就就是valuue=vallue/8的的結(jié)果.畢竟竟,在單片機(jī)機(jī)中,右移比比除法要快嘛嘛. 2.中間值值算法. 這個(gè)算法法也簡(jiǎn)單,顧顧名思義,就就是取不大不不小的中間的的值.這個(gè)算算法就需要把把幾次采集的的值排序,然然后使用中間間的那個(gè)值. 3.遞

12、推濾濾波. 這個(gè)濾波波方法比較的的受認(rèn)可,但但是執(zhí)行起來來也有風(fēng)險(xiǎn)所所在.先說這這個(gè)算法,就就是根據(jù)當(dāng)前前值(傳感器器的中心點(diǎn)所所在值),推推算接下來的的傳感器中心心點(diǎn)的量,如如果發(fā)現(xiàn)前后后變化劇烈,就視為干擾擾因素,忽略略.這個(gè)算法法看起來比較較的好.但是是風(fēng)險(xiǎn)就在于于:如果出現(xiàn)現(xiàn)了錯(cuò)誤,并并且錯(cuò)誤的中中心點(diǎn)成為的的當(dāng)前值,那那么以錯(cuò)誤的的中心點(diǎn)為基基準(zhǔn),正確的的中心點(diǎn)就成成了干擾.這這樣就會(huì)出現(xiàn)現(xiàn)極端情況.為了避免這這個(gè)情況,我我們應(yīng)該有一一個(gè)檢查的模模塊,檢查當(dāng)當(dāng)前的中心點(diǎn)點(diǎn)是否有效.這個(gè)檢查,我們也許可可以結(jié)合前面面兩種方法,在一定時(shí)間間對(duì)中心點(diǎn)的的有效性進(jìn)行行檢查. 4.限幅幅濾波.

13、 這個(gè)在舵舵機(jī)的控制中中,特別是使使用計(jì)算的方方法獲得PWWM信號(hào)占空空比的(用來來控制舵機(jī)的的轉(zhuǎn)角),更更是尤為重要要.這個(gè)濾波波的思路就是是規(guī)定一個(gè)最最大值和一個(gè)個(gè)最小值,當(dāng)當(dāng)計(jì)算出的值值低于最小值值時(shí),令其等等于最小值;大于最大值值時(shí),令其等等于最大值. HYPERLINK /king_of_wind/181718/message.aspx 智能車制作全過過程(飛思卡卡爾) 發(fā)表于 20008/11/15 222:28:001 如果我寫得好,請(qǐng)頂我一下下,我將再接接再厲!(本人在很久以以前做的一輛輛用來比賽的的智能車-獲得華北一一等獎(jiǎng),全國(guó)國(guó)二等獎(jiǎng),有有許多可改進(jìn)進(jìn)地方.)下面我們來立即

14、即開始我們的的智能車之旅旅: 首先,一一個(gè)系統(tǒng)中,傳感器至關(guān)關(guān)重要. 不管你你的CPU的的速度如何的的快,通信機(jī)機(jī)制如何的優(yōu)優(yōu)越,系統(tǒng)的的精度永遠(yuǎn)無無法超越傳感感器的精度 .是的,在這個(gè)系統(tǒng)統(tǒng)中,傳感器器的精度,其其準(zhǔn)確性就顯顯得至關(guān)重要要.如果你問問我傳感器的的電路,呵呵呵,我早就和和大家分享了了,在我發(fā)表表的日志中,有一篇的文章章就詳細(xì)的說說明了傳感器器的硬件電路路以及可以采采取的信號(hào)采采樣方式. 傳感器器安裝成一排排,如上面排排列.(就是是個(gè)一字排列列,沒有什么么特別) 接下來來,看看我們們?nèi)绾翁幚韨鱾鞲衅鞯玫降牡男畔? 大家看到到了.結(jié)構(gòu)很很簡(jiǎn)單,我們們已經(jīng)搞定了了傳感器通路路.下面我

15、們們來看看多機(jī)機(jī)的控制方面面的問題: 其實(shí),不不管是便宜還還是比較貴的的舵機(jī),都是是一樣的用法法.舵機(jī)的特特點(diǎn)就是不同同的占空比方方波就對(duì)應(yīng)著著舵機(jī)的不同同轉(zhuǎn)角.當(dāng)然然不同的舵機(jī)機(jī)有不同的頻頻率要求.比比如我用的這這個(gè)舵機(jī):方方波頻率500HZ.怎么么改變占空比比?這個(gè)不就就是PWM模模塊的功能嘛嘛.PWM模模塊可以輸出出任意占空比比的方波.只只要你控制其其中的占空比比寄存器,就就可以直接控控制舵機(jī)的轉(zhuǎn)轉(zhuǎn)角.你只要要將傳感器的的狀態(tài)和這個(gè)個(gè)占空比對(duì)應(yīng)應(yīng)上,不就OOK了?就這這么簡(jiǎn)單,做做到這里,你你就可以讓你你的車在跑道道上跑了! 接下來,我們的工作作是讓智能車車更加完善:速度要穩(wěn)定定. 在當(dāng)

16、前的的系統(tǒng)結(jié)構(gòu)中中,要使一個(gè)個(gè)系統(tǒng)更穩(wěn)定定更可靠,閉閉環(huán)系統(tǒng)是一一個(gè)選擇.(如果你不知知道什么是閉閉環(huán)系統(tǒng),可可以參照我的的文章里面的的一篇基于于單片機(jī)的PPID電機(jī)調(diào)調(diào)速),既既然是一個(gè)閉閉環(huán)系統(tǒng),速速度傳感器是是必不可少的的,用什么樣樣的傳感器做做為速度反饋饋呢:仔細(xì)看,和后輪之間間有一條皮帶帶的這個(gè)貌似似電機(jī)的東西西,就是我的的速度傳感器器,它的學(xué)名名叫旋轉(zhuǎn)編編碼器.這這個(gè)器件的特特點(diǎn)就是:每每轉(zhuǎn)一圈,就就會(huì)從輸出端端輸出一定的的脈沖,比如如我這個(gè)旋轉(zhuǎn)轉(zhuǎn)編碼器是5500線的,就是轉(zhuǎn)一圈圈輸出5000個(gè)脈沖.因因此,我只要要在單位時(shí)間間內(nèi)計(jì)數(shù)輸出出端輸出的脈脈沖數(shù),我就就可以計(jì)算出出車輛的

17、速度度.顯然,這這個(gè)速度可以以用來作為PPID速度調(diào)調(diào)節(jié)的反饋. 現(xiàn)在有了了反饋,我們們需要的是調(diào)調(diào)節(jié)智能車驅(qū)驅(qū)動(dòng)電機(jī)的速速度了,如何何來調(diào)速,就就成了必須解解決的問題了了.我用的是是驅(qū)動(dòng)芯片MMC338886.其實(shí),這個(gè)芯片片就是一個(gè)功功率放大的模模塊.我們知知道,單片機(jī)機(jī)輸出的PWWM信號(hào)還是是TTL信號(hào)號(hào),是不能直直接用來驅(qū)動(dòng)動(dòng)電機(jī)的.非非要通過功率率模塊的放大大不可.這個(gè)個(gè)道理其實(shí)很很簡(jiǎn)單,就像像上次我給大大家畫的哪個(gè)個(gè)電子琴電路路的放大電路路一樣: 看看上面的那個(gè)個(gè)三極管,就就是將TTLL電路的電流流放大,才能能夠來驅(qū)動(dòng)蜂蜂鳴器.其實(shí)實(shí)這里的這個(gè)個(gè)MC338886就是這這樣的一個(gè)作作

18、用.而且我我們自己也完完全可以用三三極管自己搭搭建一個(gè)這樣樣的功率放大大電路,當(dāng)然然,驅(qū)動(dòng)能力力肯定不如這這里的這個(gè)MMC338886(如我們們用三極管就就搭建了超過過MC338886的電路路,摩托羅拉拉就不會(huì)賣幾幾十塊錢一個(gè)個(gè)了.呵呵.)知道了這這個(gè)MC333886的工工作原理,就就好說了,一一句話,通過過PWM來調(diào)調(diào)節(jié)電機(jī)的速速度.當(dāng)方波波中高電平占占的比例大,電機(jī)的平均均電壓肯定高高,轉(zhuǎn)速肯定定快.也就是是說,PWMM的占空比越越大,電機(jī)轉(zhuǎn)轉(zhuǎn)速越高. 看,就這么么簡(jiǎn)單,這個(gè)個(gè)智能車就做做好了.接下下來,我們就就把我們知道道的PID知知識(shí)放到舵機(jī)機(jī)和直流驅(qū)動(dòng)動(dòng)電機(jī)的控制制中去.就可可以達(dá)到

19、一個(gè)個(gè)比較好的控控制效果. 如如果要達(dá)到更更高的水平,肯定機(jī)械方方面的改造也也少不了.當(dāng)當(dāng)然,這不屬屬于本文的討討論范圍.呵呵呵. HYPERLINK /king_of_wind/181369/message.aspx 基于單片機(jī)的電電子琴設(shè)計(jì) 發(fā)表于 20008/11/14 111:02:111 如果果我寫得好,請(qǐng)頂我一下下,我將再接接再厲 很多朋友友喜歡搞一些些聲光的東西西,因?yàn)槟芸纯吹?能聽到到,比搞個(gè)什什么通信濾波波要好玩多了了.好!我們們就開始做個(gè)個(gè)電子琴.甚甚至做一個(gè)簡(jiǎn)簡(jiǎn)單的MPP3,呵呵呵,從簡(jiǎn)單開開始.我們先先做電子琴,下一節(jié)再做做MP3. 首先,因因?yàn)槭前l(fā)聲裝裝置,我們得得先

20、了解發(fā)聲聲的原理是什什么,這有助助于我們接下下來的編程: 1.聲音音是由于物體體震動(dòng)產(chǎn)生的的. 2.電流流的變化通過過線圈就可以以使磁場(chǎng)發(fā)聲聲變化. 上圖是一一個(gè)喇叭的工工作原理.不不知道大家看看明白了沒有有.喇叭的電電磁鐵的電源源是接到我們們的發(fā)聲電路路上.當(dāng)電路路中的電路發(fā)發(fā)生變化時(shí),電磁鐵的吸吸引力也發(fā)生生變化.因此此就會(huì)吸合鐵鐵皮.吸合鐵鐵皮的時(shí)候也也帶動(dòng)了薄膜膜的運(yùn)動(dòng).如如果這個(gè)吸合合過程非常的的快.那么薄薄膜就會(huì)發(fā)生生高頻的震動(dòng)動(dòng).這個(gè)震動(dòng)動(dòng)就會(huì)發(fā)出聲聲音. 上面只只是一個(gè)示意意圖.實(shí)際上上的喇叭并不不是磁鐵吸音音鐵框的問題題,鐵框往往往也會(huì)換成一一個(gè)磁鐵,不不過是永磁鐵鐵,這樣不

21、但但可以吸引,還可以排斥斥.聲音幅度度更大. 好了了,總而言之之一句話,就就是來來回回回的震動(dòng)就會(huì)會(huì)產(chǎn)生聲音. 接下來來,我們開始始制作吧:電電路相當(dāng)?shù)暮?jiǎn)簡(jiǎn)單: 看到了吧吧,電路非常常的簡(jiǎn)單.下下面是四個(gè)鍵鍵盤的按鍵開開關(guān).上面就就是一個(gè)三極極管的放大.有人說,我我直接接到單單片機(jī)上就不不行.完全可可以!我為什什么說是個(gè)電電流放大呢,就是要發(fā)生生的功率大,聲音大.如如果你將蜂鳴鳴器直接接到到單片機(jī)的IIO口上,當(dāng)當(dāng)然是可以的的.但是只是是用來驗(yàn)證用用的,聲音太太小,實(shí)際中中是沒有用處處的.不過,我可得提提醒你:你如果這樣接,那就不對(duì)了了.為什么?問題就在于于,單片機(jī)的的IO口的驅(qū)驅(qū)動(dòng)能力是絕絕

22、對(duì)有限的,你現(xiàn)在讓它它直接驅(qū)動(dòng)一一個(gè)功率比較較大(比較LLED而言)蜂鳴器,是是比較吃力的的.但是你卻卻可以這樣設(shè)設(shè)計(jì): 什么?沒沒有發(fā)現(xiàn)有什什么不同?呵呵呵,看看,蜂鳴器的電電壓方向變了了.為什么這這樣做,這就就是一個(gè)開發(fā)發(fā)經(jīng)驗(yàn)問題了了:單片機(jī)的的IO口吸收收電流的能力力要遠(yuǎn)遠(yuǎn)大于于其提供電流流的能力.所所以不管是驅(qū)驅(qū)動(dòng)蜂鳴器還還是驅(qū)動(dòng)LEED發(fā)光二極極管,都要做做成低電平有有效的這種形形式,切實(shí)有有效!(本人的實(shí)驗(yàn)板板,具備上述述模塊,其原原理圖和上述述完全一致.有實(shí)驗(yàn)板的的朋友可以接接著往下做了了) 好了,硬硬件連接OKK了,我們趕趕緊開始我們們的編程吧: 我先說說說算法,要實(shí)實(shí)現(xiàn)一定頻

23、率率的震動(dòng),不不就是將IOO端口進(jìn)行一一定頻率的開開和關(guān)就是了了.要進(jìn)行一一定頻率的開開和關(guān),就必必須有一個(gè)計(jì)計(jì)數(shù).在這里里,定時(shí)計(jì)數(shù)數(shù)器就比較合合適了.自動(dòng)動(dòng)重裝載模式式顯然比較合合適.我們來來看看程序吧吧(鑒于c語(yǔ)語(yǔ)言良好的可可閱讀性,我我們先用c語(yǔ)語(yǔ)言來編寫):#includde #deffine uuint uunsignned innt#deffine uuchar unsiggned cchar#definee SOUNNDER PP0_BITT2 /用宏定定義端口,直直觀.如以后后更改,方便便#defiine S11 P2_BBIT4#ddefinee S2 PP2_BITT5#

24、deffine SS3 P2_BIT6#definne S4 P2_BIIT7#definee YES 0#deffine NNO 1iint YIIN72; /定義一個(gè)個(gè)音階數(shù)組,存放計(jì)數(shù)器器的計(jì)數(shù)初始始值.intt Dir=3,ii;voidd TimeerInitt() /計(jì)計(jì)數(shù)器初始化化函數(shù). TMODD=0 x221; TLL0=0; TTH0=0; TH1=00 xE8; TTL1=0 xxE8; PCCON=0 xx00; TRR0=1; TTR1=1; SCON=0 x50;void main() / 2611 1 /低音音叨 頻率率261 YIN00= (655536-110

25、000/261/22*100)%256; YIIN01= (655366-100000/2611/2*1000)/2556; / 2994 22 YIIN10= (655366-100000/2944/2*1000)%2556; YIN111= (655536-100000/2294/2*100)/256; / 330 3 YIN220= (655536-100000/3330/2*100)%256; YINN211= (665536-100000/330/2*1000)/2566; / 3499 4 YIN30= (655536-110000/349/22*100)%256; YIIN31=

26、 (655366-100000/3499/2*1000)/2556; / 3992 5 YINN400= (665536-100000/392/2*1000)%2566; YYIN41= (655336-100000/3992/2*1100)/2256; / 4440 6 YIN50= (655536-110000/440/22*100)%256; YIIN51= (655366-100000/4400/2*1000)/2556;/ 4994 7 YINN600= (665536-100000/492/2*1000)%2566; YYIN61= (655336-100000/4992/2*11

27、00)/2256; EA=1; /開CPPU中斷 ETT0=1; /開定時(shí)時(shí)計(jì)數(shù)器中斷斷 TiimerInnit(); /調(diào)用用初始化計(jì)數(shù)數(shù)器函數(shù) for(;)/void TTimerOOverFllow () inteerruptt 1 /定時(shí)器器中段函數(shù) iif(S1= =YESS) SOUNNDER=!SOUNDDER; TLL0=YINN000; TH00=YIN01;if(S22= = YYES) SOOUNDERR=!SOUUNDER; TL00=YIN10;THH0=YINN111;if(S3= =YES) SOOUNDERR=!SOUUNDER; TL0=YIN220;TH0=

28、YIN221;if(S44= =YEES) SOUNNDER=!SOUNDDER; TTL0=YIIN30;TTH0=YIIN31; / Clearr thee fflagTF0=00; 相信大家家看得明白程程序,很簡(jiǎn)單單.下載到單單片機(jī)上以后后,按S1鍵鍵,蜂鳴器發(fā)發(fā)出低音1(叨)的聲音音.按S2發(fā)發(fā)2(ruaan)的聲音音. HYPERLINK /king_of_wind/180618/message.aspx 基于單片機(jī)的數(shù)數(shù)字PID實(shí)實(shí)現(xiàn)直流電機(jī)機(jī)調(diào)速(智能能車) 發(fā)表于 20008/11/12 9:45:333 現(xiàn)在做做很多的智能能車,都需要要對(duì)車速進(jìn)行行控制.或勻勻速或變速,在調(diào)速

29、算法法中,PIDD的經(jīng)典永垂垂不朽. 其實(shí),簡(jiǎn)簡(jiǎn)單的51單單片機(jī)尚能輕輕易的實(shí)現(xiàn)平平滑良好的調(diào)調(diào)速,更不用用說性能優(yōu)良良的單片機(jī).然而,要做做到最好,是是需要很高的的專業(yè)水平和和動(dòng)手能力.但是,工程程上能達(dá)到我我們的目標(biāo)即即可. 抱著夠夠用就好的的思想,我們們來開始我們們的調(diào)速旅程程: 所謂的PIID是肯定基基于一個(gè)閉環(huán)環(huán)系統(tǒng)而言的的,什么是閉閉環(huán)系統(tǒng)呢,我簡(jiǎn)單的介介紹一下:看上面的這個(gè)系系統(tǒng),就不是是一個(gè)閉環(huán)系系統(tǒng),而是一一個(gè)開環(huán)系統(tǒng)統(tǒng).再看下面面的這個(gè)就是是閉環(huán)系統(tǒng):上圖這個(gè)系統(tǒng)就就是典型的閉閉環(huán)系統(tǒng).大大家也許看出出來了,開開環(huán)系統(tǒng),就是系統(tǒng)沒沒有反饋,是是個(gè)打開的的環(huán),而閉閉環(huán)系統(tǒng),是

30、是有反饋的,是一個(gè)完整整的環(huán)形. 正是這個(gè)個(gè)反饋,就可可以將當(dāng)前電電機(jī)的轉(zhuǎn)速傳傳遞給系統(tǒng)控控制端,如果果電機(jī)轉(zhuǎn)速快快了,控制器器就讓它慢點(diǎn)點(diǎn)(比如可以以降低電機(jī)兩兩端的電壓),同樣,如如果速度傳感感器檢測(cè)到轉(zhuǎn)轉(zhuǎn)速低了,就就應(yīng)該讓電機(jī)機(jī)兩端的電壓壓提高一點(diǎn).就是在這樣樣的不斷矯正正中,電機(jī)的的速度會(huì)保持持恒定.當(dāng)然然,這個(gè)矯正正的周期是非非常短的,矯矯正的速度是是很快的. 有人說,不就是多了了就少點(diǎn),少少了就多點(diǎn)嘛嘛,干嘛使用用什么玄乎的的PID? 對(duì),你說說對(duì)了,多多了就少點(diǎn),少了就多點(diǎn)點(diǎn)這本身就就是PID里里面的一種:P控制-只使用了PP算法. 接下來我們們就看看到底底什么是PIID,為什么

31、么要使用PIID,怎么樣樣使用PIDD: P-比例例 I-積分分 DD-微分 我們來一條條一條的講解解P,I,DD的含義及其其意義: PP-比例部部分這這個(gè)很好理解解.比如說,速度傳感器器發(fā)現(xiàn),當(dāng)前前速度是12200(每分分鐘).而我我們?cè)O(shè)定的速速度值為10000,那么么就差別了2200,這時(shí)時(shí),如果我設(shè)設(shè)定P為0.1,如果輸輸入的電壓就就應(yīng)該是Uoo-0.1xx200.看看到了沒有,這里的比例例的意思就是是倍數(shù),就是你要把把這個(gè)偏差放放大多少倍.放大本本身就是一個(gè)個(gè)比例嘛.知知道了這個(gè),你就可以寫寫一個(gè)PIDD控制里面的的P控制了.很多時(shí)候,不需要I和和D控制,單單單一個(gè)P控控制就足夠了了.

32、到了這里里你就可以控控制電機(jī)的速速度了. I-積分部分. 這這個(gè)積分其實(shí)實(shí)也很好理解解.它是一一個(gè)積分運(yùn)算算.有的時(shí)候候偏差不是很很大,所以繼繼續(xù)運(yùn)行下去去,會(huì)使系統(tǒng)統(tǒng)存在一個(gè)偏偏差.但是你你如果使用II運(yùn)算將這個(gè)個(gè)偏差累加起起來,到了一一定大小的時(shí)時(shí)候就進(jìn)行處處理.這樣就就能防止系系統(tǒng)的誤差累累計(jì).其實(shí),在程序中,這個(gè)過程就就是對(duì)一個(gè)小小偏差的連續(xù)續(xù)累加罷了. D-微分部分. 這個(gè)個(gè)部分也比較較好理解.所所謂的微分就就是對(duì)變量求求導(dǎo)唄,意思思就是一個(gè)量量的變化率唄唄.所以,微微分部分就是是能夠?qū)⒆兞苛孔兓史湃肴胗?jì)算中.這這個(gè)量在邊城城中其實(shí)就是是求上次的偏偏差和這次的的偏差的差罷罷了. 其

33、實(shí),在在溫度控制中中PID還是是比較有效的的,但是在于于電機(jī)控制這這種速度經(jīng)常常變化的場(chǎng)合合,一個(gè)參數(shù)數(shù)整定好的PP控制就能完完成任務(wù).為為了便于大家家的理解,我我給大家舉一一個(gè)例子吧: HYPERLINK /king_of_wind/180591/message.aspx 關(guān)于對(duì)51單片片機(jī)端口上拉拉電阻的討論論 發(fā)表于 20008/11/11 222:28:333 前一段時(shí)間,看看到實(shí)驗(yàn)室有有個(gè)學(xué)弟設(shè)計(jì)計(jì)了一個(gè)電路路,其中還有有一個(gè)鍵盤電電路,取其原原理是這樣子子的: 據(jù)這位師師弟的意思是是:在沒有按按下按鍵的時(shí)時(shí)候,端口上上是低電平,按下按鍵的的時(shí)候端口上上接上了高電電平. 事實(shí)上上,電

34、路是不不工作的. 問題比較較多: 首先,將電電源直接接到到端口上是絕絕對(duì)不可以的的.當(dāng)按下按按鍵的時(shí)候,會(huì)有很大的的電流進(jìn)入單單片機(jī).在工工程上,這種種往往應(yīng)該加加限流電阻的的.一般選擇擇1K的就可可以.如果選選擇太大的電電阻也不好,因?yàn)殡娮枭仙厦鎵航堤蟠?造成輸入入比應(yīng)有的高高電平低,造造成錯(cuò)誤. 其其次,就算加加了限流,這這個(gè)電路也是是不能工作的的.檢查ATT89C511的DataaSheett就會(huì)發(fā)現(xiàn).技術(shù)手冊(cè)中中說:P0口口是沒有上拉拉電阻的端口口;P1,PP2,P3口口帶有上拉電電阻.問題就就出在這里,什么是上拉拉電阻,來看看看圖:上面這個(gè)圖,是是紅外線接收收的電路圖,看上面的這這

35、個(gè)電阻,就就是上拉電阻阻.我們可以以試圖理解一一下51單片片機(jī)P2口的的這個(gè)上拉電電阻為這種形形式:其中的R就是上上拉電阻.如如果像我的那那個(gè)師弟那樣樣設(shè)計(jì)電路,電路就成了了以下這種形形式了:看,從這個(gè)電路路上,我們可可以清晰的看看出,不管你你按鍵是否按按下,IO端端口上都是高高電平.問題題就在這里,我讓我的這這個(gè)師弟測(cè)測(cè)測(cè)IO端口的的電平在按下下按鍵前后的的變化,結(jié)果果果然不出所所料:不管他他是否按下按按鍵,都是高高電平! 從這里我我們可以看出出:DataaSheett還是有用的的,在設(shè)計(jì)的的時(shí)候,有很很多細(xì)節(jié),需需要注意,否否則,可能功功虧一簣. HYPERLINK /king_of_wi

36、nd/180372/message.aspx 基于或門的超級(jí)級(jí)簡(jiǎn)單的液位位傳感器 發(fā)表于 20008/11/11 166:29:004 前一陣子子,在實(shí)驗(yàn)室室,看到一個(gè)個(gè)朋友在那里里拿著一個(gè)盒盒子鉆,敲,打.滿滿頭大汗,嘴嘴里還嘀咕著著. 你在做做什么呢?我在做做一個(gè)液位傳傳感器,這個(gè)個(gè)杠桿浮漂真真不好弄! 你最最近不是做液液位控制,你你如果用機(jī)械械杠桿,你怎怎么采集數(shù)字字信號(hào)到單片片機(jī)? 我我會(huì)在杠桿上上安裝一個(gè)角角度傳感器. 看來真真是個(gè)麻煩的的事情.回頭突突然想起,我我小學(xué)的時(shí)候候,給我媽媽媽做了一個(gè)檢檢測(cè)下雨的東東西.好像是是五年級(jí)的時(shí)時(shí)候,就是那那種平板,下下上雨了以后后,就會(huì)觸發(fā)發(fā)

37、相關(guān)的電路路(當(dāng)年我是是接上了一張張生日賀卡里里面的音樂芯芯片). 要說說,當(dāng)初,我我還記得,書書上好像是叫叫那種電路為為或門,當(dāng)初我怎么么都不理解,但是現(xiàn)在看看來,原理是是多么的簡(jiǎn)單單. 看看看電路:當(dāng)年的電路是這這樣子的,就就是在板子上上有水,就會(huì)會(huì)接通兩端的的電路.很好好理解,只有有有一處接通通,整個(gè)電路路就是通的,是一個(gè)邏輯輯上或的的關(guān)系,所以以叫或門.當(dāng)當(dāng)然除了或門門,肯定還有有與門. 既然能夠夠檢測(cè)到雨水水,那怎么就就不能檢測(cè)液液位呢(這里里的液體也是是水.),當(dāng)當(dāng)然我們需要要的是要將電電路進(jìn)行些許許的改裝.我我就為我這個(gè)個(gè)朋友設(shè)計(jì)了了一個(gè):你看,我分開處處理,大不了了我挨著掃描描

38、一次看看11到11的引引腳,哪里檢檢測(cè)到了水位位(檢測(cè)到電電壓),我不不就可以方便便的檢測(cè)到液液位了.你可能要說:這這個(gè)占用IOO口也太多了了吧.不不要緊!來,實(shí)用一個(gè)1138譯碼器器不就可以了了,有選擇的的讀取其中的的某個(gè)引腳. 就這么小小的一個(gè)小東東西,做出來來,拿到現(xiàn)場(chǎng)場(chǎng)一試-屢試不爽,試驗(yàn)多次次,沒有出現(xiàn)現(xiàn)過一次誤報(bào)報(bào),簡(jiǎn)單但是是好用. 由這這個(gè)問題我們們看出來了:小學(xué)教育是是多么的重要要啊. HYPERLINK /king_of_wind/179703/message.aspx 基于反射式紅外外線的測(cè)距傳傳感器 發(fā)表于 20008/11/9 23:14:133 如如果我寫得好好,請(qǐng)頂

39、我一一下,我將再再接再厲! 前陣子做做個(gè)小車玩,是走迷宮的的那種.苦于于沒有所謂的的距離傳感器器,就自己做做個(gè)吧.結(jié)果果也犯了不少少錯(cuò)誤.現(xiàn)和和大家分享. 買了幾幾個(gè)兩毛錢一一個(gè)的發(fā)射管管(注意,不不是發(fā)光二極極管,雖然長(zhǎng)長(zhǎng)得一樣,但但是這個(gè)是發(fā)發(fā)射紅外線,你可能肉眼眼看不出它再再發(fā)光,但是是你若是用手手機(jī)或數(shù)碼相相機(jī)的攝像頭頭看,你就會(huì)會(huì)看到它的光光). (發(fā)射管) (接收收管) 看看來比較簡(jiǎn)單單,一個(gè)發(fā)射射,一個(gè)接受受.發(fā)射管發(fā)發(fā)射紅外線,遇到遮擋就就會(huì)反射回來來(遮擋是黑黑色的除外,因?yàn)楹谏樟思t外線線),接收管管接收到紅外外線以后阻值值發(fā)生了變化化,因此可以以利用電阻分分壓改變輸出

40、出電壓.看看看電路:發(fā)射電路,一開開始我就是這這樣,一個(gè)限限流電阻直接接發(fā)射管(紅紅外線發(fā)光管管).后來發(fā)發(fā)現(xiàn)一個(gè)隨之之而來的問題題,就是多個(gè)個(gè)傳感器工作作時(shí)電流比較較的大,達(dá)到到0.5A左左右.而且傳傳感器發(fā)熱嚴(yán)嚴(yán)重.要知道道,發(fā)熱嚴(yán)重重,性能就會(huì)會(huì)嚴(yán)重的降低低.于是想到到,是不是可可以在需要的的時(shí)候開通,不需要的時(shí)時(shí)候關(guān)閉.形形成這種掃描描式的.結(jié)果果衍生出了以以下的電路:這個(gè)電路的原理理也是一目了了然的:當(dāng)單單片機(jī)的IOO口輸出高電電平時(shí),R11所在的支路路有電流I11,因此R22所在的支路路就有I1*E(E為三三極管的放大大倍數(shù),比如如我用的是330).這樣樣,三極管就就相當(dāng)于一個(gè)個(gè)電

41、子開關(guān).單片機(jī)輸出出1的時(shí)候,發(fā)光管接通通,單片機(jī)輸輸出0的時(shí)候候,發(fā)光管截截止.這樣就就起到了用單單片機(jī)來控制制發(fā)光管關(guān)閉閉的效果. 經(jīng)過實(shí)驗(yàn)驗(yàn),發(fā)現(xiàn)該電電路效果非常常的明顯.在在大多數(shù)情況況下,電流表表幾乎檢測(cè)不不到電流的所所在.用精密密的電流表,發(fā)現(xiàn)電流在在5MA左右右.而且整個(gè)個(gè)電路的檢測(cè)測(cè)距離更遠(yuǎn),更準(zhǔn)確.具具體分析其原原因是:長(zhǎng)時(shí)時(shí)間處于發(fā)光光狀態(tài),發(fā)熱熱嚴(yán)重,發(fā)光光管效率降低低,電阻增大大,發(fā)射功率率降低.而間間歇發(fā)射,發(fā)發(fā)光管發(fā)光效效率更高,更更省電. 至于接受受電路,我使使用的就比較較的簡(jiǎn)單. 其中,Soutt為信號(hào)的輸輸出.其實(shí)這這個(gè)電路就太太簡(jiǎn)單了,你你看.紅外線線使著接

42、收管管的電阻發(fā)生生了很大的變變化,所以兩兩個(gè)電阻的比比值就發(fā)生了了變化,根據(jù)據(jù)分壓原理,輸出的電壓壓值也就改變變了. 接下來的的問題就是對(duì)對(duì)現(xiàn)在的這個(gè)個(gè)高電壓和低低電壓進(jìn)行處處理.有人說說,直接接到到單片機(jī)上進(jìn)進(jìn)行編程不就就可以了?不不是的!注意意,這里的輸輸出電壓雖然然也有高和低低,但是這里里的電壓是個(gè)個(gè)模擬量,不是標(biāo)準(zhǔn)準(zhǔn)的TTL電電平.舉個(gè)例例子,我測(cè)得得有反射(前前方有障礙物物)的時(shí)候,電壓是4VV,沒有發(fā)射射(前方?jīng)]有有障礙物)的的時(shí)候,電壓壓是2.1VV.顯然,你你如果直接接接到單片機(jī)上上,單片機(jī)收收到的都是高高電平. 處處理的辦法有有兩個(gè):使用用AD轉(zhuǎn)換或或是使用電壓壓比較器.這這

43、兩個(gè)方法各各有各自的優(yōu)優(yōu)缺點(diǎn),我們們來分析一下下: 一.AD轉(zhuǎn)換 大大家都知道,就是將輸出出的電壓值,用AD芯片片進(jìn)行數(shù)字化化,比如5VV轉(zhuǎn)換成了11200.等等等.這這樣做的好處處是顯而易見見的,我們能能夠方便的對(duì)對(duì)數(shù)據(jù)進(jìn)行處處理.比如,我們令數(shù)值值小于3000的表示沒有有檢測(cè)到障礙礙物或是障礙礙物比較的遠(yuǎn)遠(yuǎn).數(shù)值大于于300的表表示檢測(cè)到障障礙物.而且且硬件上也比比較的簡(jiǎn)單,直接將輸出出接到AD的的輸入引腳即即可(現(xiàn)在的的許多MCUU內(nèi)部都自帶帶ADC,所所以根本就不不需要外圍電電路,直接接接上即可).這樣做的不不足也有,就就是你需要編編寫AD檢測(cè)測(cè)的程序,而而且占用CPPU時(shí)間. 二二.

44、比較器 所謂謂的比較器,就是電壓比比較器,看電電路: 看,就是是這么個(gè)簡(jiǎn)單單的電路,當(dāng)當(dāng)UiU時(shí)時(shí),Uo一直直是低電平;當(dāng)UiUU時(shí),Uo就就是高電平.因此,我們們只要調(diào)節(jié)一一下參考電壓壓,就可以使使著輸出符合合我們的要求求-低于這這個(gè)閥值的時(shí)時(shí)候是高電平平,高于這個(gè)個(gè)閥值的時(shí)候候是低電平.這就實(shí)現(xiàn)了了模擬量轉(zhuǎn)換換為數(shù)字量.看看電路圖圖: 這個(gè)電路路就很簡(jiǎn)單了了,可以看出出多了下面的的那塊電路,是用來調(diào)節(jié)節(jié)基準(zhǔn)電壓的的嘛.也是一一個(gè)電阻分壓壓的原理,這這樣你設(shè)置不不同的閥值,就可以控制制輸出了.比比如:我們剛剛才說的低電電壓是2.11V,高電壓壓是4V,我我們要把這個(gè)個(gè)電平轉(zhuǎn)變成成TTL,因因

45、此我們可以以把基準(zhǔn)電壓壓設(shè)置成3VV,因此經(jīng)過過電壓比較器器,2.1VV就輸出高-5V,44V就輸出低低-1VV.這不就是是TTL嘛. 電路中的比比較器可以使使用便宜的LLM324來來搭建.LMM324是四四運(yùn)放集成塊塊. HYPERLINK /king_of_wind/240152/message.aspx PID系統(tǒng)整定定工程實(shí)踐 發(fā)表于 20009/6/228 9:001:53 【如果我寫的好好,請(qǐng)頂一下下】 參加比比賽或是做項(xiàng)項(xiàng)目也好,PPID的應(yīng)用用非常的廣,不不但可以用在在運(yùn)動(dòng)控制的的電機(jī)調(diào)速,更更可以用在溫溫度控制、電電流控制、電電壓控制等等等動(dòng)態(tài)變量的的控制。 PIDD其實(shí)沒有

46、多多么神秘,還還是那句話:被控量比我我們的預(yù)期量量(輸入量)大大,CPU就就控制其小點(diǎn)點(diǎn);被控量比比我們的預(yù)期期量小,CPPU就控制其其大些。在這這其中在引入入被控量信號(hào)號(hào)的變化率和和誤差累積,就就成了真正的的PID,可可以達(dá)到非常常好的控制效效果。 直流伺服系統(tǒng)的的系統(tǒng)結(jié)構(gòu) 圖1.1 一一個(gè)伺服系統(tǒng)統(tǒng)結(jié)構(gòu)的例子子 由圖11.1可以看看出來,一個(gè)個(gè)基本的伺服服系統(tǒng)由控制制器、功率放放大單元、執(zhí)執(zhí)行機(jī)構(gòu)、反反饋傳感器組組成。控制器器是按照一定定的控制策略略,綜合輸入入量和反饋量量,輸出控制制信號(hào)的邏輯輯裝置,一般般情況下使用用工業(yè)計(jì)算機(jī)機(jī)或是微型計(jì)計(jì)算機(jī)系統(tǒng)(DDSP、MCCU等)來作作為伺服系

47、統(tǒng)統(tǒng)的邏輯中樞樞;功率放大大單元是將計(jì)計(jì)算機(jī)輸出的的控制信號(hào),轉(zhuǎn)轉(zhuǎn)變成一定的的功率信號(hào)來來驅(qū)動(dòng)執(zhí)行機(jī)機(jī)構(gòu);執(zhí)行機(jī)機(jī)構(gòu)(圖1.1中是電動(dòng)動(dòng)機(jī))是將控控制器的控制制信號(hào)轉(zhuǎn)變?yōu)闉橄鄳?yīng)的物理理量,可以是是電動(dòng)機(jī)(用用于運(yùn)動(dòng)控制制)、加熱器器(用于溫度度控制)、功功率開關(guān)管(用用于電流或電電壓控制)等等等;反饋傳傳感器(圖11.1中是位位置檢測(cè)傳感感器)是將執(zhí)執(zhí)行機(jī)構(gòu)的狀狀態(tài)轉(zhuǎn)變?yōu)橄嘞鄳?yīng)的電氣信信號(hào),并反饋饋給控制器的的裝置,它可可以是位置傳傳感器(位置置伺服系統(tǒng))、速速度傳感器(速速度伺服系統(tǒng)統(tǒng))、溫度傳傳感器(溫度度伺服系統(tǒng))、電電流傳感器(電電流伺服系統(tǒng)統(tǒng))、電壓傳傳感器(電壓壓伺服系統(tǒng))等等等。

48、直流伺服系統(tǒng)的的工作原理簡(jiǎn)簡(jiǎn)述 由伺服服系統(tǒng)的原理理框圖1.11就可以看出出,伺服系統(tǒng)統(tǒng)通常是一個(gè)個(gè)閉環(huán)系統(tǒng)。其其工作流程可可以簡(jiǎn)單的描描述為:控制制器接收外界界的輸入,計(jì)計(jì)算相應(yīng)的輸輸出值給功率率放大單元,功功率放大單元元將控制器的的信號(hào)放大,驅(qū)驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)構(gòu)動(dòng)作。反饋饋傳感器采集集執(zhí)行機(jī)構(gòu)或或被控對(duì)象的的狀態(tài),將狀狀態(tài)信息反饋饋給控制器,控控制器根據(jù)接接收到的輸入入值和傳感器器反饋回來的的反饋值,根根據(jù)一定得控控制策略(本本論文中使用用的是PIDD算法),進(jìn)進(jìn)一步調(diào)整輸輸出,使輸出出達(dá)到目標(biāo)值值(輸入值)。 其中,控控制器-CCPU/MCCU 功率率放大-MMOSFETT/MCS33388

49、6/各種電機(jī)驅(qū)驅(qū)動(dòng)芯片 反饋饋傳感器-角度傳感器器(位置伺服服系統(tǒng))/旋旋轉(zhuǎn)編碼器(速速度伺服系統(tǒng)統(tǒng))/溫度傳傳感器(溫度度伺服系統(tǒng))/電流傳感器器(電流伺服服系統(tǒng)) 為了便便于討論,我我編寫了一個(gè)個(gè)上位機(jī)軟件件,實(shí)時(shí)對(duì)伺伺服系統(tǒng)的工工作狀態(tài)進(jìn)行行采集,而且且還可以繪制制出伺服系統(tǒng)統(tǒng)的工作曲線線。 第3章 直流流伺服系統(tǒng)參參數(shù)及其整定定3.1 數(shù)字字PID的參參數(shù)根據(jù)偏差的比例例(P)、積積分(I)、微微分(D)進(jìn)進(jìn)行控制(簡(jiǎn)簡(jiǎn)稱PID控控制),是控控制系統(tǒng)中應(yīng)應(yīng)用最為廣泛泛的一種控制制規(guī)律。實(shí)際際運(yùn)行的經(jīng)驗(yàn)驗(yàn)和理論分析析都表明,這這種控制規(guī)律律對(duì)許多工業(yè)業(yè)過程進(jìn)行控控制時(shí),都能能得到滿意的的

50、效果。不過過,用計(jì)算機(jī)機(jī)實(shí)現(xiàn)PIDD控制,不是是簡(jiǎn)單的將模模擬PID控控制數(shù)字化,而而是進(jìn)一步與與計(jì)算機(jī)的邏邏輯判斷功能能結(jié)合,使PPID控制更更加靈活,更更能滿足生產(chǎn)產(chǎn)過程提出的的要求。 3.1.1 采樣頻率率的選擇(1)采樣周期期應(yīng)遠(yuǎn)小于過過程的擾動(dòng)信信號(hào)的周期。根據(jù)香農(nóng)采樣定定理:采樣頻頻率應(yīng)該大于于或是等于信信號(hào)最高頻率率成分的兩倍倍。這個(gè)定理理給出了采樣樣頻率選擇的的最底線。(2)執(zhí)行機(jī)構(gòu)構(gòu)的類型。在執(zhí)行器的響應(yīng)應(yīng)速度比較慢慢時(shí),過小的的采樣周期將將失去意義,因因此可適當(dāng)選選大一點(diǎn)。 在計(jì)算機(jī)運(yùn)運(yùn)算速度允許許的條件下,采采樣周期短,則則控制品質(zhì)好好。當(dāng)過程的的純滯后時(shí)間間較長(zhǎng)時(shí),一一

51、般選取采樣樣周期為純滯滯后時(shí)間的11/41/8。 (3)給定值的的變化頻率。加到被控對(duì)象上上的給定值變變化頻率越高高,采樣頻率率也應(yīng)該越高高,這樣給定定值的改變可可以迅速得到到反應(yīng)。(4)被控對(duì)象象的特性若被控對(duì)象是慢慢速的熱工業(yè)業(yè)或是化工對(duì)對(duì)象時(shí),采樣樣周期一般取取的比較的大大;若被控對(duì)對(duì)象是較快速速的系統(tǒng),采采樣周期應(yīng)取取得比較小。(5)控制算法法的類型采用PID控制制算法,積分分(I)和微微分(D)作作用都與采樣樣周期T的選選擇有關(guān)系。采采樣周期T太太小,將使微微分作用不明明顯。3.1.2 比例-PP 一般來來說,增加控控制系統(tǒng)的比比例增益,可可以提高系統(tǒng)統(tǒng)的響應(yīng)速度度,同時(shí)也會(huì)會(huì)降低穩(wěn)

52、態(tài)誤差。盡盡管如此,如如果比例增益益太大,系統(tǒng)統(tǒng)超調(diào)就會(huì)增增大,如果KKp再進(jìn)一步增增加,震蕩就就會(huì)加大,系系統(tǒng)就會(huì)變得得不穩(wěn)定。3.1.3 積分-II 為了消消除穩(wěn)態(tài)誤差差,在控制器器中必須引入入“積分項(xiàng)”。積積分項(xiàng)對(duì)誤差差進(jìn)行累加,隨隨著時(shí)間的增增加,積分項(xiàng)項(xiàng)會(huì)逐漸增大。這這樣,即便誤誤差很小,積積分項(xiàng)也會(huì)隨隨著時(shí)間的增增加而加大,它它推動(dòng)控制器器的輸出增大大使穩(wěn)態(tài)誤差差進(jìn)一步減小小,直到等于于零。因此,比比例+積分(PI)控制制器,可以使使系統(tǒng)在進(jìn)入入穩(wěn)態(tài)后無穩(wěn)穩(wěn)態(tài)誤差。但但積分過強(qiáng)同樣樣影響系統(tǒng)的的穩(wěn)定性。3.1.4 微分-DD 自動(dòng)控控制系統(tǒng)在克克服誤差的調(diào)調(diào)節(jié)過程中可可能會(huì)出現(xiàn)振振

53、蕩甚至失穩(wěn)穩(wěn)。其原因是是由于存在有有較大慣性組組件(環(huán)節(jié))或或有滯后(ddelay)組件,具有有抑制誤差的的作用,其變變化總是落后后于誤差的變變化。解決的的辦法是使抑抑制誤差的作作用的變化“超超前”,即在在誤差接近零零時(shí),抑制誤誤差的作用就就應(yīng)該是零。這這就是說,在在控制器中僅僅引入“比例例”項(xiàng)往往是是不夠的,比比例項(xiàng)的作用用僅是放大誤誤差的幅值,而而目前需要增增加的是“微微分項(xiàng)”,它它能預(yù)測(cè)誤差差變化的趨勢(shì)勢(shì),這樣,具具有比例+微微分的控制器器,就能夠提提前使抑制誤誤差的控制作作用等于零,甚甚至為負(fù)值,從從而避免了被被控量的嚴(yán)重重超調(diào)。所以以對(duì)有較大慣慣性或滯后的的被控對(duì)象,比比例+微分(P

54、D)控制制器能改善系系統(tǒng)在調(diào)節(jié)過過程中的動(dòng)態(tài)態(tài)特性。但是是,如果反饋饋回來的過程程變量代表的的噪聲,微分分參數(shù)就會(huì)引引起系統(tǒng)的不不穩(wěn)定。數(shù)字PID的控控制算法3.2.1 位置型PIID控制算法法圖3.1 位位置型PIDD控制流程 在控制制系統(tǒng)中,這這種控制量確確定了執(zhí)行機(jī)機(jī)構(gòu)的位置,例例如在閥門控控制中,這種種算法的輸出出對(duì)應(yīng)了閥門門的位置(開開度)。所以以,將這種算算法稱為“位置算法”。3.2.2 增量型PIID控制算法法圖3.2 增增量型PIDD控制流程圖圖 如上圖圖, 當(dāng)執(zhí)行行機(jī)構(gòu)需要的的不是控制量量的絕對(duì)值,而而是控制量的的增量(例如如去驅(qū)動(dòng)步進(jìn)進(jìn)電動(dòng)機(jī))時(shí)時(shí),需要用PPID的“增量算

55、法”。數(shù)字PID控制制算法實(shí)現(xiàn)方方式比較 在控制制系統(tǒng)中,如如果執(zhí)行機(jī)構(gòu)構(gòu)采用調(diào)節(jié)閥閥,則控制量量對(duì)應(yīng)閥門的的開度,表征征了執(zhí)行機(jī)構(gòu)構(gòu)的位置,此此時(shí)控制器采采用數(shù)字PIID位置式控控制算法;如如果執(zhí)行機(jī)構(gòu)構(gòu)采用步進(jìn)電電機(jī),每個(gè)采采樣周期,控控制器的輸出出的控制量是是相對(duì)于上次次控制的增量量,此時(shí)控制制器應(yīng)該采用用數(shù)字PIDD增量式控制制法。雖然增量式控制制法和位置式式控制法更有有應(yīng)用領(lǐng)域,但但是增量式控控制法相對(duì)于于位置式控制制法,具有諸諸多的優(yōu)勢(shì): (1)增量量式控制法不不需要做累加加,控制量增增量的去定僅僅與近幾次誤誤差采樣值有有關(guān),計(jì)算誤誤差或計(jì)算精精度等問題對(duì)對(duì)控制量的影影響比較的小小

56、。相比之下下,位置控制制法要用過去去的誤差的累累加值,容易易產(chǎn)生較大的的累加誤差。 (2)增量量式算法得到到的是控制量量的增量。例例如在閥門的的控制中,只只輸出閥門開開度的變化部部分,誤動(dòng)作作影響小,必必要時(shí)通過邏邏輯判斷限制制或禁止本次次輸出,不會(huì)會(huì)嚴(yán)重影響系系統(tǒng)的工作。相相比之下,位位置式控制算算法的輸出是是控制量的全全量輸出,誤誤動(dòng)作影響比比較大。 (3)采用用增量算法,容容易實(shí)現(xiàn)手動(dòng)動(dòng)到自動(dòng)的無無沖擊切換。 數(shù)字PIDD控制算法流流程 下圖給給出了數(shù)字PPID控制算算法的控制流流程圖。增量量式的控制流流程和位置式式的控制流程程很相似。圖3.3 PPID程序流流程 數(shù)字PID參參數(shù)整定1

57、 工程法整整定PID參參數(shù)的方法在工程上,PIID參數(shù)整定定的方法比較較的多,分別別有:湊試法法、擴(kuò)充曲線線法、優(yōu)選法法、自整定法法等等。由于于研究采用的的標(biāo)定系統(tǒng)采采樣頻率有限限,不能繪制制出非常精確確響應(yīng)曲線,所所以使用擴(kuò)充充曲線法誤差差較大。下面面的參數(shù)整定定使用湊試法法。(1)首先整定定比例環(huán)節(jié)將比例系數(shù)由小小到大的變化化,并觀察相相應(yīng)的系統(tǒng)響響應(yīng),直到得得到一個(gè)反應(yīng)應(yīng)速度快、超超調(diào)小的響應(yīng)應(yīng)曲線。如果果系統(tǒng)靜差已已經(jīng)達(dá)到允許許的范圍,并并且響應(yīng)曲線線已經(jīng)令人滿滿意,那么只只是用比例控控制器即可。這這里確定的是是最優(yōu)比例系系數(shù)。(2)再加入積積分環(huán)節(jié)如果在比例部分分不能有效地地消除靜差

58、,需需要加入積分分環(huán)節(jié)。積分分系數(shù)P的整整定應(yīng)該從大大到小。并且且應(yīng)該將第一一步整定的比比例環(huán)節(jié)縮小?。梢钥s小小為原來的00.8倍)。然然后慢慢的減減小積分常數(shù)數(shù),直到系統(tǒng)統(tǒng)具有良好的的動(dòng)態(tài)性能,并并且靜差得以以消除。(3)最后加入入微分環(huán)節(jié)如果在使用比例例積分控制器器時(shí),動(dòng)態(tài)特特性仍達(dá)不到到要求,可以以加入微分環(huán)環(huán)節(jié)。在整定定微分環(huán)節(jié)時(shí)時(shí),微分系數(shù)數(shù)從小到大變變化,在同時(shí)時(shí)小范圍改變變比例、積分分系數(shù)的同時(shí)時(shí),多次試湊湊,直到達(dá)到到理想的控制制效果。2 數(shù)字PIID參數(shù)整定定過程 由于機(jī)機(jī)器人手臂定定位屬于絕對(duì)對(duì)位置式定位位,這里首先先討論位置式式PID伺服服系統(tǒng)的PIID參數(shù)整定定。(1

59、)采樣周期期的選擇 首先,選選擇一個(gè)合適適的采樣周期期。采樣周期期應(yīng)該綜合各各方面考慮,首首先研究的是是一個(gè)位置伺伺服系統(tǒng),要要求響應(yīng)快,精精度高。因此此采樣周期不不能太大。同同時(shí),電機(jī)帶帶有減速機(jī)構(gòu)構(gòu),轉(zhuǎn)動(dòng)慣量量比較的大,因因此采樣周期期又不能太小小。關(guān)于采樣樣周期的選擇擇,雖然有“香農(nóng)定理”這樣的規(guī)律律,但是并沒沒有給出實(shí)質(zhì)質(zhì)的選擇方法法,大多是在在規(guī)律的指導(dǎo)導(dǎo)下探索。這這里,本人總總結(jié)了一個(gè)根根據(jù)工程試驗(yàn)驗(yàn)選擇采樣頻頻率的方法。圖3.4 電機(jī)在額定電壓下轉(zhuǎn)動(dòng),傳感器的輸出電壓曲線 如圖33.4,是電電機(jī)在額定電電壓下,連續(xù)續(xù)旋轉(zhuǎn)的位置置傳感器輸出出電壓曲線??煽梢愿鶕?jù)這個(gè)個(gè)圖大體的估估算

60、合適的采采樣頻率。從從這個(gè)圖上的的周期可見,電電機(jī)(帶減速速機(jī)構(gòu))的額額定轉(zhuǎn)速為11.20轉(zhuǎn)/秒,即約為為430度/秒。假設(shè)我我們的伺服系系統(tǒng)要求分辨辨率在0.55度,那么可可以計(jì)算出來來,伺服系統(tǒng)統(tǒng)要轉(zhuǎn)過這00.5度最快快需要0.55/430*1000=1.16mms。如果將將0.5度看看成是系統(tǒng)的的一個(gè)“標(biāo)準(zhǔn)單位”,那么1.16ms就就是系統(tǒng)控制制的“標(biāo)準(zhǔn)時(shí)間”。假設(shè),采采樣周期比這這個(gè)“標(biāo)準(zhǔn)時(shí)間”還要大,就就可能出現(xiàn)伺伺服系統(tǒng)轉(zhuǎn)過過了“目標(biāo)點(diǎn)”,但是系統(tǒng)統(tǒng)還沒有檢測(cè)測(cè)到得現(xiàn)象。當(dāng)當(dāng)然,這個(gè)假假設(shè)中沒有考考慮系統(tǒng)的靜靜摩擦、啟動(dòng)動(dòng)慣量等。但但無論如何,不不排除極限情情況下,系統(tǒng)統(tǒng)穩(wěn)定性要求

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論