羅禮進(jìn)++肖臣鴻++劉星++倪麒開(kāi)++閆飛旭
摘要:以STC80C51單片機(jī)為控制核心,集光、電、機(jī)、無(wú)線(xiàn)通信等技術(shù)為一體,運(yùn)用檢測(cè)技術(shù)、自動(dòng)控制技術(shù)、無(wú)線(xiàn)通信技術(shù)、電子技術(shù),制作一個(gè)可用于特定環(huán)境下的智能車(chē)輛系統(tǒng),具有感知環(huán)境、規(guī)劃決策、自主識(shí)別路線(xiàn)進(jìn)行行駛,可實(shí)現(xiàn)自主尋跡、自行避障。
關(guān)鍵詞:STC89C51單片機(jī);循跡;避障
中圖分類(lèi)號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)17-0172-02
Abstract: To manufacture an intelligent vehicle system which can be used in a specific environment, the intelligent minicar takes the STC80C51 single chip as the control core, sets light, electric, mechanical, wireless communication and other technologies as one and applies detection technology, automatic control technology, wireless communication technology and electronic technology. It can sense the environment, carry on the planning decision-making and the independent recognition route to carry on the traveling, simultaneously may realize the self seeking track, automatically avoids the barrier.
Key words: STC80C51 single chip, tracking, obstacle avoidance
1 概述
隨著社會(huì)的進(jìn)步,物質(zhì)生活水平與生產(chǎn)水平的提高,人們對(duì)智能的要求也在不斷提高,其中車(chē)輛操控的智能化引起人們廣泛的關(guān)注,其在交通運(yùn)輸、生產(chǎn)自動(dòng)化、制造業(yè)、危險(xiǎn)環(huán)境作業(yè)等領(lǐng)域有著廣闊的研究應(yīng)用前景。
本設(shè)計(jì)是一個(gè)以單片機(jī)為控制核心,以攝像頭和光電編碼器為傳感元件,以電機(jī)和舵機(jī)為驅(qū)動(dòng)與轉(zhuǎn)向裝置的智能控制系統(tǒng)。在設(shè)計(jì)中運(yùn)用了檢測(cè)、自動(dòng)控制、無(wú)線(xiàn)通信和電子等方面的技術(shù),集感知、識(shí)別、規(guī)劃、決策、行動(dòng)為一體,可在特定環(huán)境中完成自主尋跡、自行避障、平穩(wěn)行駛。
2智能小車(chē)系統(tǒng)的總體設(shè)計(jì)
本智能小車(chē)系統(tǒng)是由中央處理器模塊、信息檢測(cè)模塊(包括圖像采集模塊和速度檢測(cè)模塊)、電機(jī)驅(qū)動(dòng)模塊、舵機(jī)控制模塊、通信及調(diào)試模塊、電源模塊等組成,其總體結(jié)構(gòu)框圖如圖1所示。
中央處理器模塊選用STC80C51微處理器,是整個(gè)智能小車(chē)控制系統(tǒng)的核心。圖像采集模塊采集到的圖像數(shù)據(jù)以及速度檢測(cè)模塊測(cè)出的速度信號(hào)都需要經(jīng)過(guò)微處理器來(lái)進(jìn)行分析和處理,然后通過(guò)電機(jī)驅(qū)動(dòng)模塊和舵機(jī)轉(zhuǎn)向模塊控制小車(chē)的運(yùn)行狀態(tài),從而實(shí)現(xiàn)智能小車(chē)穩(wěn)定自主行駛[1]。
信息檢測(cè)模塊包括圖像采集模塊和速度檢測(cè)模塊。其中圖像采集模塊依靠數(shù)字?jǐn)z像頭對(duì)道路進(jìn)行監(jiān)測(cè),由攝像頭采集到圖像信息,運(yùn)用灰度處理方法對(duì)圖像進(jìn)行處理,轉(zhuǎn)換成控制信號(hào)[2]。同時(shí),攝像頭采集到圖像信息通過(guò)Jpge-streamer解碼,使之變成JPG格式圖片,傳送到上位機(jī),實(shí)現(xiàn)對(duì)小車(chē)運(yùn)行路況的遠(yuǎn)程監(jiān)控[3]。速度檢測(cè)模塊是通過(guò)光電編碼器測(cè)速,將小車(chē)的速度信息反饋給中央處理器模塊,以便進(jìn)行決策和控制[4]。
電機(jī)驅(qū)動(dòng)模塊是為智能小車(chē)的行駛提供驅(qū)動(dòng)力,同時(shí)依據(jù)電壓大小控制轉(zhuǎn)速原理,將微處理器針對(duì)圖像采集模塊與速度檢測(cè)模塊采集到的數(shù)據(jù)信號(hào)進(jìn)行表達(dá),從而改變電壓占空比來(lái)改變直流電機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)控制智能小車(chē)的運(yùn)行快慢與停止[5]。
舵機(jī)轉(zhuǎn)向模塊的作用是改變智能小車(chē)的運(yùn)行方向,實(shí)現(xiàn)轉(zhuǎn)向功能。在智能小車(chē)行駛過(guò)程中,由微處理器傳送來(lái)的控制信號(hào)進(jìn)入調(diào)制芯片,獲得直流偏置電壓。將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出,電壓差傳輸?shù)诫姍C(jī)驅(qū)動(dòng)芯片控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)[6]。
電源模塊為智能小車(chē)控制系統(tǒng)中的其他模塊提供所需的電源。
3智能小車(chē)的硬件設(shè)計(jì)
為便于測(cè)試與調(diào)整,采用模塊化的設(shè)計(jì),按功能的不同設(shè)計(jì)成六個(gè)模塊。以下介紹各主要模塊的硬件設(shè)計(jì)。
3.1圖像采集模塊
圖像采集模塊的核心部件是攝像頭,是由鏡頭、圖像傳感器、信號(hào)處理芯片三個(gè)部分集合而成。本設(shè)計(jì)采用OV6620CMOS數(shù)字?jǐn)z像頭,其內(nèi)包含356
3.2速度檢測(cè)模塊
速度檢測(cè)模塊采用反射式增量編碼器完成速度信息的采集。編碼器包括印刷有黑白條紋的碼盤(pán)、紅外線(xiàn)發(fā)射器和接收器,碼盤(pán)緊附在車(chē)輪的輪盤(pán)上,紅外線(xiàn)發(fā)射器和接收器對(duì)準(zhǔn)碼盤(pán)。發(fā)射器發(fā)出的紅外光照射到碼盤(pán)上,反射產(chǎn)生與車(chē)輪速度成正比的光脈沖信號(hào),投射到接收器,然后轉(zhuǎn)換成電脈沖信號(hào), 再傳送到微處理器進(jìn)行計(jì)數(shù)即可算出小車(chē)的運(yùn)行距離和速度。本設(shè)計(jì)方案采A6A2-CW5C增量式旋轉(zhuǎn)編碼器,其具有較寬的工作電壓(5V-24V),工作電流小于20mA,分辨率達(dá)500p/r。
3.3電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊由直流電機(jī)和驅(qū)動(dòng)芯片兩部分組成。本設(shè)計(jì)中電機(jī)選用RS-380SH電機(jī),是屬無(wú)刷直流電機(jī),具有0.1W-40W的輸出功率。驅(qū)動(dòng)芯片選用LMD18200驅(qū)動(dòng)芯片,是集成有CMOS控制電路以及DMOS功率器件的專(zhuān)用于直流電動(dòng)機(jī)驅(qū)動(dòng)的H橋組件,工作電流為3A-6A,可產(chǎn)生足夠大的驅(qū)動(dòng)功率。圖2是由LMD18200和RS-380SH構(gòu)成的電機(jī)驅(qū)動(dòng)電路。PWM波由LMD18200的5腳輸入,借助調(diào)節(jié)PWM的占空比就可改變電機(jī)的轉(zhuǎn)速,電機(jī)的正反轉(zhuǎn)是通過(guò)改變3腳電平的高低來(lái)實(shí)現(xiàn)。此電路具有驅(qū)動(dòng)能力強(qiáng)、運(yùn)行穩(wěn)定、操控方便等優(yōu)點(diǎn)。
3.4舵機(jī)控制模塊
舵機(jī)控制模塊由直流電機(jī)、減速齒輪組、舵盤(pán)、位置反饋電位計(jì)、控制電路等組成,一般把這幾部分集成為一體式。本設(shè)計(jì)中采用Futaba S3010型舵機(jī)。圖3為舵機(jī)轉(zhuǎn)角與PWM脈寬關(guān)系曲線(xiàn),即舵機(jī)的輸出轉(zhuǎn)角度數(shù)與輸入的PWM信號(hào)值呈線(xiàn)性關(guān)系。圖4為舵機(jī)接口示意圖,單片機(jī)憑借攝像頭收集到的道路信息,通過(guò)計(jì)算分析,輸出PWM控制信號(hào),傳送到舵機(jī)的PWM輸入端,經(jīng)由舵機(jī)控制,改變輸出轉(zhuǎn)角,實(shí)現(xiàn)小車(chē)的轉(zhuǎn)向。
3.5電源管理模塊
該模塊由蓄電池和穩(wěn)壓電路組成。蓄電池選用7.2V、容量為2000mAh可充電式的鎳鎘蓄電池。因?yàn)橹悄苄≤?chē)各個(gè)模塊的工作電壓不同,為此設(shè)計(jì)了相應(yīng)的穩(wěn)壓電路,將鎳鎘蓄電池的電壓轉(zhuǎn)換成各個(gè)模塊所需要的工作電壓,并采取穩(wěn)壓措施。
4智能小車(chē)系統(tǒng)的軟件設(shè)計(jì)
4.1圖像采集及黑線(xiàn)提取算法
OV6620攝像頭每秒可采集25幀50場(chǎng)14600行圖像信號(hào)。為減輕處理器的負(fù)荷,提高處理效率,根據(jù)道路的特點(diǎn),只需利用每幀圖像的部分行信號(hào),就可完成小車(chē)的導(dǎo)航。考慮到攝像頭的拍攝位置、道路的情況等因素,經(jīng)過(guò)反復(fù)的比對(duì)調(diào)試,我們采用了從100行到400行的圖像信號(hào)作為提取信號(hào)。
為了從提取的圖像信號(hào)中獲取黑線(xiàn)位置,我們采用跟蹤邊緣算法。這是一種在直接邊緣算法的基礎(chǔ)上改進(jìn)而成的算法。直接邊緣算法的要點(diǎn)是對(duì)提取的每行信號(hào)進(jìn)行逐點(diǎn)灰度值的比較,根據(jù)相鄰兩點(diǎn)的差值是否大于設(shè)定的閾值來(lái)獲得黑線(xiàn)的兩個(gè)邊緣位置坐標(biāo),取其平均值作為黑線(xiàn)位置。這種算符因需要對(duì)每個(gè)像素點(diǎn)進(jìn)行比對(duì)運(yùn)算,占用的資源較多,影響運(yùn)算速度。而經(jīng)過(guò)改進(jìn)的跟蹤邊緣算法,根據(jù)相鄰兩行的黑線(xiàn)位置比較接近的特點(diǎn),在利用直接邊緣算法找出第一行(或前幾行)黑線(xiàn)位置的基礎(chǔ)上,在尋找下一行黑線(xiàn)位置時(shí),可在上一行黑線(xiàn)位置的附近尋找即可,無(wú)需逐點(diǎn)尋找。這樣可節(jié)省大量資源,提高運(yùn)算的速度與效率。
4.2電機(jī)和舵機(jī)控制算法
為確保對(duì)小車(chē)實(shí)現(xiàn)精準(zhǔn)、快速、平穩(wěn)的控制,我們對(duì)小車(chē)運(yùn)動(dòng)狀態(tài)的控制部分采用了控制算法中應(yīng)用較廣且效果良好的PID控制算法。PID控制是將從控制對(duì)象采集到的數(shù)據(jù)反饋到控制器的輸入端并與基準(zhǔn)值進(jìn)行比較,得出差值,再依據(jù)差值進(jìn)行比例(P)、積分(I)和微分(D)運(yùn)算,計(jì)算出控制量,傳送給控制對(duì)象對(duì)其進(jìn)行閉環(huán)控制。考慮到控制受車(chē)的重量、道路的不平以及小車(chē)過(guò)去的運(yùn)動(dòng)狀態(tài)等因素的影響,為獲得更佳的控制效果,進(jìn)一步采用PID控制算法中的增量式PID控制算法。其閉環(huán)控制如下圖5所示。
根據(jù)電機(jī)控制與舵機(jī)控制的不同特點(diǎn),以及電機(jī)與舵機(jī)執(zhí)行能力的差別,尤其要考慮舵機(jī)內(nèi)部已有反饋系統(tǒng),響應(yīng)能力更強(qiáng),所以要分別對(duì)電機(jī)控制和舵機(jī)控制設(shè)置相應(yīng)的比例控制參數(shù)、積分控制參數(shù)、微分控制參數(shù),并反復(fù)進(jìn)行調(diào)試。
5總結(jié)
本設(shè)計(jì)的智能小車(chē)系統(tǒng),經(jīng)過(guò)反復(fù)的調(diào)試后,性能良好,響應(yīng)靈敏、控制準(zhǔn)確,運(yùn)行平穩(wěn),可完成以下任務(wù):1)在特定賽道上的平穩(wěn)運(yùn)行,包括起步、直線(xiàn)行駛、轉(zhuǎn)彎行駛、S彎道行駛、停止;2)避障,即在運(yùn)行過(guò)程中遇到障礙物,能完成躲避繞行;3)直線(xiàn)上坡和直線(xiàn)下坡;4)實(shí)時(shí)通訊,實(shí)施顯示小車(chē)當(dāng)前的道路狀況、小車(chē)的計(jì)算軌道、小車(chē)的運(yùn)行狀態(tài)參數(shù)。
參考文獻(xiàn):
[1] 王長(zhǎng)濤,韓忠華,夏興華.單片機(jī)原理及應(yīng)用——C語(yǔ)言程序設(shè)計(jì)與實(shí)現(xiàn)[M].北京:人民郵電出版社,2014:98-158.
[2] 王建飛.基于單片機(jī)控制的自動(dòng)往返小汽車(chē)的新設(shè)計(jì)[J].現(xiàn)代與電子技術(shù),2006,234(19):127-129.
[3] 蔡福喜,黃大貴.基于模塊化設(shè)計(jì)思想的測(cè)控系統(tǒng)框架設(shè)計(jì)[J].測(cè)控技術(shù),2009,28(1):55-61.
[4] 吳建平,殷戰(zhàn)國(guó),曹思榕.紅外反射式傳感器在自主式循跡小車(chē)導(dǎo)航中的應(yīng)用[J].中國(guó)測(cè)試技術(shù),2004,48(11):21-23.
[5] 沙文,陳誠(chéng),葛立峰.基于單片機(jī)控制AD9851的信號(hào)源研究[J].微處理機(jī),2010,31(1):116-121.
[6] 黃大志,周慶貴,陳業(yè)強(qiáng).基于單片機(jī)輪式尋跡機(jī)器人控制系統(tǒng)的設(shè)計(jì)[J].機(jī)床與液壓,2009,37(8):350-352.