- 微小型無(wú)人系統(tǒng)設(shè)計(jì)與制作
- 張金等
- 3244字
- 2020-07-02 15:28:15
2.2 硬件設(shè)計(jì)
智能搬運(yùn)小車(chē)的硬件有Arduino主控制器、伺服電動(dòng)機(jī)、超聲波傳感器、QTI傳感器及顏色傳感器等。智能搬運(yùn)小車(chē)的硬件結(jié)構(gòu)框圖如圖2.4所示。

圖2.4 智能搬運(yùn)小車(chē)的硬件結(jié)構(gòu)框圖
2.2.1 伺服電動(dòng)機(jī)
伺服電動(dòng)機(jī)是智能搬運(yùn)小車(chē)做移動(dòng)動(dòng)作的動(dòng)力,只能順時(shí)針或逆時(shí)針連續(xù)旋轉(zhuǎn),有三根引線,即B(黑)、R(紅)及W(白),分別代表地線、電源線及信號(hào)控制線。智能搬運(yùn)小車(chē)的機(jī)械臂由角度舵機(jī)控制。
伺服電動(dòng)機(jī)模塊的實(shí)物圖如圖2.5所示。

圖2.5 伺服電動(dòng)機(jī)模塊的實(shí)物圖
伺服電動(dòng)機(jī)與Arduino主控制器的接口連接見(jiàn)表2.1。
表2.1 伺服電動(dòng)機(jī)與Arduino主控制器的接口連接

伺服電動(dòng)機(jī)與Arduino主控制器連接后,編寫(xiě)簡(jiǎn)單的代碼就可以使智能搬運(yùn)小車(chē)移動(dòng)起來(lái),可以前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、后退及掉頭等。
智能搬運(yùn)小車(chē)在運(yùn)行過(guò)程中的具體控制方式如下。
前進(jìn):Arduino主控制器控制兩個(gè)伺服電動(dòng)機(jī)正轉(zhuǎn),同速、同向。
后退:Arduino主控制器控制兩個(gè)伺服電動(dòng)機(jī)反轉(zhuǎn),同速、同向。
左轉(zhuǎn):Arduino主控制器控制左伺服電動(dòng)機(jī)停止轉(zhuǎn)動(dòng),右伺服電動(dòng)機(jī)以一定的速度使右車(chē)輪轉(zhuǎn)動(dòng),實(shí)現(xiàn)左轉(zhuǎn)。
左旋轉(zhuǎn):Arduino主控制器控制左伺服電動(dòng)機(jī)逆時(shí)針轉(zhuǎn)動(dòng),右伺服電動(dòng)機(jī)順時(shí)針轉(zhuǎn)動(dòng),實(shí)現(xiàn)大幅度左轉(zhuǎn)。
右轉(zhuǎn):Arduino主控制器控制右伺服電動(dòng)機(jī)停止轉(zhuǎn)動(dòng),左伺服電動(dòng)機(jī)以一定的速度使左車(chē)輪轉(zhuǎn)動(dòng),實(shí)現(xiàn)右轉(zhuǎn)。
右旋轉(zhuǎn):Arduino主控制器控制右伺服電動(dòng)機(jī)逆時(shí)針轉(zhuǎn)動(dòng),左伺服電動(dòng)機(jī)順時(shí)針轉(zhuǎn)動(dòng),實(shí)現(xiàn)大幅度右轉(zhuǎn)。
掉頭:Arduino主控制器控制一個(gè)伺服電動(dòng)機(jī)正轉(zhuǎn),另一個(gè)伺服電動(dòng)機(jī)反轉(zhuǎn),實(shí)現(xiàn)掉頭。
智能搬運(yùn)小車(chē)系統(tǒng)的初始化、IO設(shè)置及伺服電動(dòng)機(jī)輸出脈寬的驅(qū)動(dòng)程序代碼為



主函數(shù)通過(guò)調(diào)用前進(jìn)、左轉(zhuǎn)、右轉(zhuǎn)、左旋轉(zhuǎn)及右旋轉(zhuǎn)等子函數(shù)實(shí)現(xiàn)相應(yīng)的動(dòng)作,如調(diào)用loop函數(shù)中的前進(jìn)子函數(shù),則智能搬運(yùn)小車(chē)會(huì)一直前進(jìn),不會(huì)停下來(lái)。
小提示
①伺服電動(dòng)機(jī)在使用前一定要先調(diào)零,即連續(xù)輸入1.5ms的高電平脈沖、20ms的低電平脈沖,當(dāng)伺服電動(dòng)機(jī)靜止不動(dòng)時(shí),則完成調(diào)零;否則,要用螺釘旋具微調(diào)伺服電動(dòng)機(jī)的調(diào)零旋鈕(順時(shí)針或逆時(shí)針轉(zhuǎn)動(dòng))進(jìn)行調(diào)零。
②伺服電動(dòng)機(jī)的調(diào)速:當(dāng)連續(xù)輸入1.7ms的高電平脈沖、20ms的低電平脈沖時(shí),伺服電動(dòng)機(jī)沿順時(shí)針以最大的速度旋轉(zhuǎn);當(dāng)連續(xù)輸入1.3ms的高電平脈沖、20ms的低電平脈沖時(shí),伺服電動(dòng)機(jī)沿逆時(shí)針以最大的速度旋轉(zhuǎn);當(dāng)伺服電動(dòng)機(jī)需要按照順時(shí)針或逆時(shí)針的某個(gè)角度轉(zhuǎn)動(dòng)時(shí),則調(diào)節(jié)相應(yīng)的輸入脈沖寬度即可。
③由于伺服電動(dòng)機(jī)的型號(hào)參數(shù)不可能完全相同,前進(jìn)、后退等動(dòng)作很難一致,在移動(dòng)的過(guò)程中不可能走直線,往往有一定的偏差,因此在尋線時(shí)需要添加其他的傳感器,如QTI傳感器進(jìn)行輔助判斷。
2.2.2 QTI傳感器
QTI傳感器是采用光電接收器探測(cè)物體表面反射光強(qiáng)度的傳感器,當(dāng)QTI傳感器對(duì)著暗淡的物體表面時(shí),反射光強(qiáng)很低;當(dāng)QTI傳感器對(duì)著明亮的物體表面時(shí),反射光強(qiáng)很高。不同的光強(qiáng)對(duì)應(yīng)著不同的電平輸出信號(hào)。由此可以約定,當(dāng)QTI傳感器探測(cè)到黑色物體時(shí)輸出高電平,探測(cè)到白色物體時(shí)輸出低電平。QTI傳感器有三個(gè)引腳,即GND、Vcc、SIG,分別代表地、電源、信號(hào)控制,與Arduino主控制器的相關(guān)引腳連接就可以獲取QTI傳感器的信號(hào)。QTI傳感器的實(shí)物圖如圖2.6所示。

圖2.6 QTI傳感器的實(shí)物圖
QTI傳感器與Arduino主控制器的接口連接見(jiàn)表2.2。
表2.2 QTI傳感器與Arduino主控制器的接口連接

QTI傳感器根據(jù)紅外光信號(hào)照射到被測(cè)物體表面后反射回來(lái)的不同灰度值,簡(jiǎn)單識(shí)別所處的環(huán)境,再根據(jù)環(huán)境做相應(yīng)的動(dòng)作。
前行:在黑色軌跡上行走時(shí),保持前行狀態(tài)。
后退:在黑色軌跡上行走時(shí),保持后退狀態(tài)。
右轉(zhuǎn):當(dāng)尋跡傳感器檢測(cè)到智能搬運(yùn)小車(chē)在黑色軌跡上向左偏離時(shí),可通過(guò)Arduino主控制器控制智能搬運(yùn)小車(chē)右轉(zhuǎn),直到智能搬運(yùn)小車(chē)回到正常軌跡上。
左轉(zhuǎn):當(dāng)尋跡傳感器檢測(cè)到智能搬運(yùn)小車(chē)在黑色軌跡上向右偏離時(shí),可通過(guò)Arduino主控制器控制智能搬運(yùn)小車(chē)左轉(zhuǎn),直到智能搬運(yùn)小車(chē)回到正常軌跡上。
停車(chē):當(dāng)尋跡傳感器檢測(cè)到前方為全白,即檢測(cè)到智能搬運(yùn)小車(chē)到站時(shí),可通過(guò)Arduino主控制器控制智能搬運(yùn)小車(chē)停車(chē)。
QTI傳感器采集數(shù)據(jù)的驅(qū)動(dòng)程序代碼為


該代碼段僅給出了如何在系統(tǒng)初始化、外設(shè)初始化后讀取QTI傳感器采集數(shù)據(jù)的實(shí)例程序代碼。如果希望智能搬運(yùn)小車(chē)按照設(shè)定的路線移動(dòng),則需要配合特定的場(chǎng)地或環(huán)境條件編寫(xiě)專(zhuān)門(mén)的尋跡算法,使智能搬運(yùn)小車(chē)根據(jù)識(shí)別場(chǎng)地環(huán)境的灰度值,按照既定或復(fù)雜的路線進(jìn)行尋線移動(dòng)。
小提示
QTI傳感器非常適合尋線、探測(cè)場(chǎng)地邊緣等場(chǎng)合。在安裝時(shí),QTI傳感器與探測(cè)物體的距離以10mm為佳,中間兩個(gè)QTI傳感器的中心距離以11mm為宜,也可以是中心點(diǎn)對(duì)著場(chǎng)地尋線的邊緣,旁邊兩個(gè)QTI在開(kāi)槽桿件的兩端。若智能搬運(yùn)小車(chē)在前進(jìn)的過(guò)程中出現(xiàn)抖動(dòng)現(xiàn)象,則可以通過(guò)微調(diào)QTI傳感器的安裝位置來(lái)消除抖動(dòng)。
2.2.3 超聲波傳感器
超聲波傳感器主要用于測(cè)距定位或感知是否有障礙物,在智能搬運(yùn)小車(chē)中主要用于定位距離或掃描是否有色塊。超聲波傳感器的測(cè)距驅(qū)動(dòng)程序代碼為


在上述HC-SR04超聲波傳感器模塊測(cè)距驅(qū)動(dòng)程序代碼中,首先調(diào)用init()函數(shù)實(shí)現(xiàn)系統(tǒng)和外設(shè)初始化,隨后調(diào)用測(cè)距子函數(shù)實(shí)現(xiàn)超聲波測(cè)距,以達(dá)到避障和距離定位的目的。
小提示
HC-SR04超聲波傳感器模塊在安裝時(shí)要平視(在仰視或俯視時(shí)都會(huì)引起誤差),有效測(cè)量范圍為2~450cm,測(cè)距精度可達(dá)2mm。
2.2.4 顏色傳感器
自然界中的各種顏色都是由不同比例的紅、綠、藍(lán)三原色混合而成的。顏色傳感器就是通過(guò)檢測(cè)某個(gè)顏色中的三原色比例進(jìn)行顏色識(shí)別的。智能搬運(yùn)小車(chē)采用的是TCS230顏色傳感器。TCS230顏色傳感器的實(shí)物圖如圖2.7所示。在識(shí)別顏色時(shí),TCS230顏色傳感器依次選定顏色濾波器(紅、綠、藍(lán)),只有對(duì)應(yīng)顏色的入射光可以通過(guò),其他顏色的入射光被阻止,從而得到對(duì)應(yīng)顏色的光強(qiáng)。

圖2.7 TCS230顏色傳感器的實(shí)物圖
TCS230顏色傳感器自帶兩個(gè)高亮的白色LED燈,可有助于提高顏色識(shí)別的準(zhǔn)確性;輸入引腳S0、S1用于選擇輸出比例因子或電源關(guān)斷模式,不同的輸出比例因子可控制不同的輸出頻率,以適應(yīng)不同的需求;輸入引腳S2、S3用于選擇濾波器的類(lèi)型;輸入引腳LED用于點(diǎn)亮兩個(gè)LED燈;OUT為頻率輸出引腳,典型輸出頻率范圍為2Hz(0.5s)~500kHz(2μs);GND為接地引腳;+5V和VDD引腳接5V電源。在工作時(shí),TCS230顏色傳感器首先打開(kāi)LED燈,選擇輸出比例因子;然后依次選定不同的顏色濾波器,每選定一個(gè)顏色濾波器,就檢測(cè)由輸出引腳輸出的不同頻率(光強(qiáng))的方波脈沖數(shù);最后根據(jù)得到的三原色脈沖數(shù)的比例識(shí)別顏色。S0~S3為T(mén)CS230顏色傳感器的工作控制引腳。表2.3給出的是S0~S3的組合選項(xiàng)。
表2.3 S0~S3的組合選項(xiàng)

在理論上,白色是由等量的紅色、綠色及藍(lán)色混合而成的。TCS230顏色傳感器對(duì)三原色的敏感性不同,導(dǎo)致輸出的R、G、B光強(qiáng)不相等,在使用前必須進(jìn)行白平衡調(diào)整。所謂白平衡,就是告訴智能搬運(yùn)小車(chē)什么是白色,使TCS230顏色傳感器對(duì)“白色”中三原色R、G、B的輸出是相等的。
通過(guò)白平衡調(diào)整可以得到在識(shí)別顏色時(shí)需要用到的選通信道時(shí)間基準(zhǔn)。白平衡的調(diào)整過(guò)程為:在TCS230顏色傳感器前的適當(dāng)位置(一般為2cm左右)放一個(gè)白色物體,打開(kāi)LED燈,選擇輸出比例因子,依次選定紅色、綠色及藍(lán)色的濾波器,在每個(gè)通道(也稱信道)的脈沖計(jì)數(shù)為255時(shí)就關(guān)閉通道,分別得到在每個(gè)通道中所用的時(shí)間。這個(gè)時(shí)間就是識(shí)別顏色時(shí)要用的時(shí)間基準(zhǔn)。識(shí)別顏色就是根據(jù)時(shí)間基準(zhǔn)計(jì)算脈沖數(shù)。其具體過(guò)程為:打開(kāi)LED燈;選擇輸出比例因子(與白平衡時(shí)相同);依次選定不同的顏色濾波器,顏色濾波器的選通時(shí)間與在白平衡處理過(guò)程中獲得的相應(yīng)通道的時(shí)間基準(zhǔn)相同;根據(jù)得到的脈沖數(shù)來(lái)識(shí)別顏色。
TCS230顏色傳感器與Arduino主控制器的接口連接見(jiàn)表2.4。
表2.4 TCS230顏色傳感器與Arduino主控制器的接口連接

在RGB模式下,某一種色彩是由紅、藍(lán)、綠三原色組成的。該色彩的三原色會(huì)在某個(gè)范圍內(nèi)變化,適當(dāng)擴(kuò)大三原色的變化范圍,測(cè)試色彩就不會(huì)出錯(cuò)。為了防止出錯(cuò),可設(shè)置出錯(cuò)條件,在出錯(cuò)的情況下再進(jìn)行三原色值的調(diào)整,直到測(cè)試出正確的色彩。TCS230顏色傳感器相應(yīng)的代碼設(shè)置、顏色識(shí)別驅(qū)動(dòng)代碼為







主函數(shù)先調(diào)用白平衡函數(shù)可以得到三個(gè)基準(zhǔn)顏色濾波器的時(shí)間基準(zhǔn),再通過(guò)顏色測(cè)試函數(shù)Robot checkColor()進(jìn)行測(cè)試時(shí)間值對(duì)比,可得出相應(yīng)顏色的時(shí)間值,根據(jù)這些顏色的三原色范圍值,即可快速測(cè)出色塊的顏色。
小提示
TCS230顏色傳感器安裝后,與色塊的距離是固定的,是不可以改變的,否則所調(diào)節(jié)的白平衡不對(duì),識(shí)別的顏色也會(huì)出錯(cuò)。如果使用上述程序代碼的顏色判斷函數(shù),則TCS230顏色傳感器的最佳安裝高度為27mm。
- 高頻電子技術(shù)(第2版)
- 心理健康教育
- 計(jì)算機(jī)基礎(chǔ)實(shí)用教程
- 建筑工程資料管理實(shí)訓(xùn)(第三版)
- 自動(dòng)化訪問(wèn)控制技術(shù)
- 電力電子系統(tǒng)與控制
- 色彩構(gòu)成:概念 應(yīng)用與賞析(第2版)
- 財(cái)務(wù)共享服務(wù)
- 國(guó)際關(guān)系學(xué)院714日語(yǔ)語(yǔ)言文學(xué)專(zhuān)業(yè)基礎(chǔ)歷年考研真題及詳解
- 鄭功成《社會(huì)保障學(xué)》配套題庫(kù)【名校考研真題+課后習(xí)題+章節(jié)題庫(kù)+模擬試題】
- 新編普通話訓(xùn)練教程(第二版)
- 自動(dòng)控制原理
- 南開(kāi)大學(xué)外國(guó)語(yǔ)學(xué)院253二外日語(yǔ)歷年考研真題及詳解
- Web應(yīng)用安全
- 張奎武《英美概況》(第4版)筆記和課后習(xí)題詳解