蘭春萍,龐浦生,祝海強(qiáng),荘濱賓,吳萬利
(玉林師范學(xué)院 物理與電信工程學(xué)院,廣西玉林,537000)
本小車基于STM32F407ZGT6 單片機(jī),控制系統(tǒng)如圖1 所示。
圖1 控制系統(tǒng)結(jié)構(gòu)
本全地形無人小車采用STM32F407ZGT6 單片機(jī)作為主要的控制單元,在系統(tǒng)通過接收加速度陀螺儀模塊及超聲波測(cè)距模塊的電信號(hào)時(shí),判斷小車在外界所處于的相應(yīng)地形,從而在單片機(jī)的主控發(fā)送相應(yīng)的信號(hào)給舵機(jī)控制模塊和電機(jī)驅(qū)動(dòng)模塊,控制小車?yán)^續(xù)前行的路線以及行走方式,實(shí)現(xiàn)對(duì)小車的智能化,無人化的控制。由于采用了模塊化的設(shè)計(jì),該無人小車的各個(gè)功能模塊及各功能模塊與其他零部件、設(shè)備之間可輕松實(shí)現(xiàn)耦合連接[1]。
本設(shè)計(jì)小車主要采用以STM32F407ZGT6 單片微型機(jī)為主的控制器件,其主控芯片同時(shí)也是一個(gè)微控制器模塊,采用了高性能ARM?-M432 的RISC 核心,運(yùn)算速度可以達(dá)到168MHz,甚至還能夠使用設(shè)計(jì)時(shí)鐘實(shí)現(xiàn)更快的速率,同時(shí)使用FPU 和DSP 指令,多達(dá)144 個(gè)接口,其中包括114 個(gè)IO 接口,主要用于SWD 和JTAG 測(cè)試,內(nèi)存容量包括1024K 的FLASH,還具有192K 的SRAM。由于STM32F407ZGT6 具備穩(wěn)定性強(qiáng),抗干擾能力強(qiáng)的優(yōu)勢(shì),所以采用了該芯片作為小車的主控,車輛通過使用該芯片接受各模塊的反饋數(shù)據(jù),對(duì)各模塊和外界環(huán)境間的反應(yīng)信息加以讀取,并加以分析處理,對(duì)外部環(huán)境的改變因而采取相應(yīng)工作模式,從而調(diào)節(jié)各電機(jī)的驅(qū)動(dòng),以及工作速率的大小,以實(shí)現(xiàn)車輛能夠滿足在全地形運(yùn)動(dòng)的目的。STM32F407ZGT6單片機(jī)原理圖如圖2 所示。
圖2 STM32F407ZGT6 單片機(jī)原理圖
本設(shè)計(jì)小車還安裝了2kHz 九軸電子羅盤IMU 傾斜位置傳感器MPU9250,而MPU9250 則是一種QFN 封裝的運(yùn)動(dòng)復(fù)合器件(MCM),它由兩部分組成。一種是三軸加速度以及三軸陀螺旋轉(zhuǎn)儀,另一組則是AKM 公司的AK8963 三軸磁力計(jì)。所以,MPU9250 是一款九軸移動(dòng)追蹤設(shè)備,其在小小的3mm×3mm×1mm 的包裝中融入了三軸加速度,三軸旋轉(zhuǎn)陀螺儀及其數(shù)字處理器(DMP)從而具有MPU6515 的功能。其完美的I2C 方案,可直接輸出九軸的全部數(shù)據(jù)[2]。一體化的系統(tǒng),運(yùn)動(dòng)式的融合,以及時(shí)鐘校正系統(tǒng),使設(shè)計(jì)者避免了繁瑣復(fù)雜的器件選型和外設(shè)管理,以確保了良好的穩(wěn)定性。該傳感器使用的加速度計(jì)和微陀螺儀低成本小體積且性能穩(wěn)定。采用卡爾曼濾波技術(shù),把加速度計(jì)和陀螺儀得到的信息綜合在一起以實(shí)現(xiàn)車輛傾角信息的最優(yōu)計(jì)算,進(jìn)而實(shí)現(xiàn)車輛的對(duì)自然環(huán)境中的車速調(diào)節(jié)、方位控制和變速功能,達(dá)到車輛對(duì)自然環(huán)境更高的適應(yīng)能力[3]。圖3 為MPU9250 模塊電路圖。
圖3 MUP9250 模塊電路圖
其機(jī)身上搭載了HC-SR04 超聲波感應(yīng)器組件,HC-SR04 超聲波測(cè)距模塊可進(jìn)行最高4m 范圍的非接觸式近距離感測(cè)操作,探測(cè)范圍準(zhǔn)確度可至3cm,根據(jù)功用分為超聲波探測(cè)的發(fā)射機(jī),接收機(jī)以及控制電路[4]。通過IO 觸發(fā)測(cè)距,在傳感器的端口提供一個(gè)10μs 的高頻電流信號(hào),從超聲波發(fā)送口接收聲音并發(fā)出8 個(gè)40kHz 的頻率信號(hào),能夠檢測(cè)出是否有聲音回路。然后開啟定時(shí)器,待傳感器輸出響應(yīng)聲音,回響的輸出頻率與被測(cè)量時(shí)間成正比,根據(jù)最大量程和聲音的頻率,測(cè)量的時(shí)間間隔一般為60ms 以上,然后根據(jù)時(shí)鐘時(shí)間間隔測(cè)量計(jì)算長(zhǎng)度[5]。當(dāng)小車檢測(cè)到障礙物和輪子的距離過近時(shí),會(huì)啟動(dòng)避障程序,從而使小車避障能力得到有效改善。模塊性能穩(wěn)定,測(cè)度距離精確,隨時(shí)監(jiān)測(cè)距離,能使小車有效避開障礙物。實(shí)現(xiàn)小車在地形中的避障能力。
當(dāng)小車在對(duì)地形的操控中,就使用了RDS3218 舵機(jī)控制單元。舵機(jī),它的學(xué)名稱為伺服電機(jī),這是一個(gè)裝有輸入輸出軸的小器件。當(dāng)計(jì)算機(jī)對(duì)伺服機(jī)發(fā)出一種操控信息后,輸入輸出軸就會(huì)旋轉(zhuǎn)到一定的角度。而只要操控信息維持恒定,伺服機(jī)制就能維持軸的角度位置不變化。而只要操控信息變化,輸入輸出軸的角度就會(huì)隨之變化。而操舵系統(tǒng)控制器模塊可以作為一個(gè)伺服的驅(qū)動(dòng)器,應(yīng)用在一個(gè)需要方向的變化并能夠保持的道路控制系統(tǒng)上,當(dāng)車輛感覺到地形的變化后,其控制器芯片產(chǎn)生一定的信息并傳給舵機(jī)系統(tǒng)控制器模塊,使舵機(jī)系統(tǒng)轉(zhuǎn)動(dòng)至某個(gè)適合于地形的方位并靜止,以此適應(yīng)地形,從而使車輛可以很容易地通過各種不同地形。而且在使用的模塊為大扭矩的舵機(jī)控制模塊,在能適應(yīng)車身自身重量的同時(shí),還能保證著控制的靈敏度,在地形跨越有更優(yōu)越的性能。
在電力驅(qū)動(dòng)領(lǐng)域,常使用的L298N 電力驅(qū)動(dòng)器件。L298N,是一個(gè)接受較高電壓電流的電機(jī)驅(qū)動(dòng)器件,是由意法半導(dǎo)體公司的量產(chǎn)的一個(gè)電力驅(qū)動(dòng)器件,具有工作電壓高、輸出電流大、驅(qū)動(dòng)功能多、發(fā)熱量小、抗干擾能力好的優(yōu)點(diǎn),一般用于驅(qū)動(dòng)繼電器、螺紋管、電磁閥、直流電機(jī)和步進(jìn)電機(jī)。該芯片具有高壓大電流的全橋驅(qū)動(dòng)芯片,控制方便,穩(wěn)定性好,性能優(yōu)良[6]。在小車的控制方面有很大的優(yōu)勢(shì),小車穿過不同地形時(shí),可根據(jù)地形的復(fù)雜程度控制PWM 的占空比控制轉(zhuǎn)速,控制小車的穩(wěn)定性能,防止小車在行駛時(shí)失去平衡導(dǎo)致側(cè)翻,從而保證了小車在行駛中穩(wěn)定優(yōu)越性。圖5 為L(zhǎng)298N 電路圖。
圖4 HC-SR04 超聲波感應(yīng)器
圖5 L298N 電路圖
控制直流電機(jī)和舵機(jī)需要PWM 方波,該小車的主控STM32F407ZGT6 內(nèi)置多個(gè)定時(shí)器,可以用于產(chǎn)生PWM方波,PWM 方波就是一段由相同周期和占空比的方波組成的,當(dāng)設(shè)置好定時(shí)器的周期和占空比后,最后再使能定時(shí)器,對(duì)應(yīng)的引腳就可以產(chǎn)生PWM 方波了。第二步就是初始化傳感器相關(guān)接口,STM32ZGT6 外設(shè)有144 個(gè)引腳,每個(gè)引腳都有相應(yīng)的功能,引腳可以設(shè)置為輸入或者輸出引腳。通過設(shè)置引腳的輸入和輸出的設(shè)置,單片機(jī)就可以實(shí)現(xiàn)操控各類外設(shè),并與外設(shè)通信。為輸入引腳后,單片機(jī)就可以接受外面的信號(hào),設(shè)置為輸出引腳,單片機(jī)則可以向外輸出使能信號(hào)。超聲波傳感器需要兩個(gè)IO 口,一個(gè)用于觸發(fā)信號(hào)的輸出,一個(gè)用于信號(hào)的輸入,超聲波工作的原理是給超聲波一個(gè)觸發(fā)信號(hào)(一個(gè)高低電平的跳變),然后等待輸入信號(hào)接口電平由高變低,根據(jù)電平由高變低的時(shí)間和聲音在空氣中傳播的速度,得出物體的距離。本設(shè)計(jì)選用的九軸傳感器模塊集成了芯片和傳感器,可以進(jìn)行串口通信,設(shè)置精度,精度越高則每秒生產(chǎn)的數(shù)據(jù)越少,還有卡爾曼濾波的迭代次數(shù),數(shù)據(jù)為0 到999,越大則數(shù)據(jù)變化的越慢,卡爾曼濾波是為了減少因?yàn)樵胍粜盘?hào)的產(chǎn)生而造成的誤差,使信號(hào)的整體波形更平滑,但是也會(huì)影響檢測(cè)快慢,在一些角度變化過快的場(chǎng)合應(yīng)該把迭代次數(shù)減少以得到更好的效果。
本設(shè)計(jì)能實(shí)現(xiàn)在行駛復(fù)雜路面還能平穩(wěn)行駛,同時(shí)遇到障礙物能主動(dòng)避開的功能。傳感器實(shí)時(shí)檢測(cè)小車是否處于平衡狀態(tài),當(dāng)四個(gè)輪子的高度偏差超過系統(tǒng)設(shè)定的閾值時(shí),系統(tǒng)會(huì)控制舵機(jī)轉(zhuǎn)動(dòng),讓那個(gè)水平位置升高的兩個(gè)舵機(jī)轉(zhuǎn)動(dòng)一定角度,使輪子抬起來,調(diào)整四個(gè)輪子的高度一致,從而實(shí)現(xiàn)小車的平衡駕駛。避障則通過小車的超聲波模塊和減速電機(jī)來控制,避障則是根據(jù)情況來控制的,情況一:當(dāng)小車的一邊檢測(cè)到障礙物,而小車的另一邊沒有時(shí),小車先后退,然后向沒有障礙物的那一邊拐。情況二:兩邊都檢測(cè)到障礙物,小車先后退,調(diào)整好角度再前進(jìn),直到變成情況一。
全地形的無人車輛也可以使用手機(jī)等無線裝置來操作,通訊方式為藍(lán)牙2.0。選用藍(lán)牙通信是經(jīng)過根據(jù)穩(wěn)定性,準(zhǔn)確性,效率等方面考慮的。通過無線通信,可以控制小汽車進(jìn)行不同的運(yùn)動(dòng),比如啟動(dòng)和停止,改變車速,也能開啟和關(guān)閉用于控制小車平衡的平衡環(huán),可以直接操控小車。該設(shè)計(jì)的優(yōu)點(diǎn)在于能在調(diào)試過程中更快速,準(zhǔn)確地收集各種參數(shù),同時(shí)也能使在未來的應(yīng)用中更加方便。圖6 為小車控制的流程圖。
圖6 軟件控制流程圖
隨著現(xiàn)代社會(huì)對(duì)智能化發(fā)展的需求,運(yùn)用無人小車在人工智能、精準(zhǔn)定位、自主導(dǎo)航、智能操控等技術(shù)造福人類。本設(shè)計(jì)使用巧妙的控制系統(tǒng)使小車懸掛式越過障礙,用單片機(jī)使其按照一定的指令工作,提高適應(yīng)能力,用多種傳感器精準(zhǔn)地識(shí)別各種地形,有效解決了精準(zhǔn)度、安全性、地形限制等問題。