王宇+張國安
摘要:文章給出一種基于Android手機控制的智能小車控制系統(tǒng)設(shè)計方案。在方案中,通過驅(qū)動控制子系統(tǒng),可以由手機終端控制小車的移動,而視頻子系統(tǒng)可以實現(xiàn)智能小車向手機終端實時傳輸圖像,通過測距子系統(tǒng),可以實現(xiàn)智能小車避障功能。實驗結(jié)果顯示該智能小車控制系統(tǒng)業(yè)已實現(xiàn)上述各項功能。
關(guān)鍵詞:Android手機;智能小車控制;圖像傳輸;避障
1 模塊選型
基于STM32F105RBT6芯片來實現(xiàn)小車的控制模塊單元,STM32系列芯片特點在于高性能、低成本、低功耗,其分為3種不同作用的類型,STM32F101系列屬于基本型,其中包含了最基本的STM32芯片功能。STM32F103系列屬于增強型,相對于STM32F101系列,其支持更多的接口和兼容更多的外接傳感器,可以實現(xiàn)通過一塊芯片不同端口連接不同的外接傳感器,從而達到控制處理的目的。而STM32F105、STM32F107系列屬于互聯(lián)型,這兩款芯片支持USB的連接方式,同時都支持CAN總線接口,相對于STM32F105,STM32H07芯片還支持以太網(wǎng)10/100MAC模塊,在數(shù)據(jù)的傳輸方面更加便捷。
驅(qū)動模塊使用L298N芯片構(gòu)成的電機驅(qū)動模塊,L298N芯片由ST公司研發(fā)生產(chǎn),是一款具有高電壓、大電流的電機驅(qū)動芯片。該芯片共有十五引腳的封裝,同時內(nèi)部包含了四通道的邏輯驅(qū)動電路,可以讓兩個二相電機或者一個四相電機進行正常工作。在該芯片的內(nèi)部包括了兩個H橋電路,任意一個H橋電路都可以提供2A的電流和2.5?48V的電壓,可以接受5V的標準TTL電平信號,即意味著可以驅(qū)動46V,2A以下的電機。L298N芯片引腳的ENA,ENB為控制使能端,控制電機的停轉(zhuǎn),INI,IN2,IN3,IN4這4個引腳為輸出端口,分別用來控制兩個電機的正反轉(zhuǎn)。該芯片還支持PWM脈沖的調(diào)速,除此之外芯片在抗干擾、過電壓和過電流保護方面性能優(yōu)異。
選擇集成了電源轉(zhuǎn)化模塊的直接可以連接鋰電池的PWR.AR電源穩(wěn)壓與電機驅(qū)動模塊。此模塊含有電源穩(wěn)壓和電機驅(qū)動兩部分,可以直接與鋰電池連接,同時還具有USB串口,可以通過此模塊直接連接無線模塊。符合STM32F105RBT6芯片所支持的USB串口要求,所以最終選擇這款模塊進行設(shè)計。
無線模塊采用含有ESMTM13S25616A-5T芯片和ATHEROSAR9331-AL3A組成的模塊,作為無線模塊。此模塊不僅含有穩(wěn)定、高效的無線傳輸芯片,同時還具有系統(tǒng)所需的USB串口,可以使用MircoUSB串口與PWR.AR電源穩(wěn)壓與電機驅(qū)動模塊的USB串口相互連接通信,保證用手機端控制小車時,信號傳輸?shù)姆€(wěn)定與指令的有效執(zhí)行。同時該無線模塊可以使用USB串口與攝像頭連接,保證傳輸質(zhì)量的穩(wěn)定、高效。在調(diào)試階段,使用USB串口相對于傳統(tǒng)的針腳而言,USB更方便調(diào)試,針腳接線容易產(chǎn)生跳線錯誤的問題,而USB這種固定通用的接口則會避免此類問題的發(fā)生,有效減少了因為人為操作失誤而導致的小車故障的發(fā)生,為調(diào)試過程問題的排查減小了難度。
其中ATHEROSAR9331-AL3A芯片是ATHEROS退出的一款單頻500MW的芯片,用于無線路由器或WLAN設(shè)備的主芯片,英文技術(shù)參數(shù)如下:
CompleteIEEE802.1InlxlAPorrouterinasingle
chip
MIPS24Kprocessoroperatingatupto400MHzExternal16-bitDDR1,DDR2,orSDRAMmemoryinterface
SPINORFlashmemorysupportNoexternalEEPROMneeded
4LANportsand1WANportIEEE802.3FastEthernetswitchwithauto-crossover,autopolarity,andauto?negotiationinPHYs
FourclassesofQoSperport
FullyintegratedRFfront-endincludingPAandLNA
OptionalexternalLNA/PA
Switchedantennadiversity
High-speedUARTforconsolesupport
I2S/SPDIF-outaudiointerface
SLICforVOIP/PCM
USB2.0host/devicemodesupport
GPIO/LEDsupport
JTAG-basedprocessordebuggingsupported25MHzor40MHzreferenceclockinputAdvancedpowermanagementwithdynamicclockswitchingforultra-lowpowermodes
148-pin?12mmxl2mmdual-rowLPCCpackage該芯片一般用來完成IEEE802.11nlxlAP或路由器,其在MIPS24K處理器中的工作頻率可以高達400MHz,可以使用外部16位DDR1或DDR2或SDRAM存儲器接口SPINOR閃存支持,在使用的過程中不需要額外的外部EEPROM,該芯片擁有4個LAN端□和1個WAN端IUIEEE802.3具有自動分頻的功能,可以作為自動極性和PHY自動協(xié)商的快速以太網(wǎng)父換機的主芯片,該芯片的每個端口有4類QoS,該芯片完全集成的RF前端,包括PA和LNA的方式,同時可選外部LNA/PA。該芯片支持開關(guān)天線分集,還可以用于控制臺支持的高速UART,該芯片具有I2S/SPDIF輸出音頻接口,可以適用于VOIP/PCM的SLIC,并且該芯片支持USB2.0主機/設(shè)備模式,其中有的端口還有GPIO/LED支持的功能,該芯片可以支持基于JTAG的處理器調(diào)試,在時鐘頻率方面具有25MHz或40MHz參考時鐘輸入的兩種方式,在運行過程中可以采用超低功耗模式的動態(tài)時鐘切換進行高級電源管理,芯片總共具有148針,12mmX12mm雙排LPCC的封裝。endprint
智能小車電源選用7.4V-2200MAH鋰電池。
2 關(guān)鍵控制電路
2.1 智能小車控制器
STM32F105RBT6芯片,是一款32位的芯片,基于ARM核心的256K字節(jié)閃存的微控制器,該芯片支持USBOTG技術(shù),以太網(wǎng)技術(shù),同時帶有定時器和CAN總線,還有ADC和14個通信接口。
本次設(shè)計采用STM32F105RBT6的原因在于,F(xiàn)105系列屬于互聯(lián)型的STM32芯片,其功能支持USB接口技術(shù),是本次設(shè)計采用它的最大原因,使用USB接口技術(shù),方便了各種模塊之間的連接,同時還提供了高速的傳輸通道,讓智能小車在運行過程中始終保持流暢的運行狀態(tài),數(shù)據(jù)的傳輸也能夠順暢進行,同時STM32系列本身自有的多接口容納性,也是本次使用STM32的原因之一。STM32可以支持多種版本的接口設(shè)備、傳感器,同時在國內(nèi)有很多人也在研究STM32系列芯片,擁有廣泛的適用人群。STM32單個端口可以使用多種狀態(tài)進行控制,并不像51和HC系列芯片一樣,只能通過單純的10接口的方式來實現(xiàn)數(shù)據(jù)的獲取。不同的控制狀態(tài),在STM32芯片內(nèi)部封裝有對應的庫函數(shù),使得編程會變得方便快捷。
2.2 測距模塊
HC-SR04超聲波測距模塊工作電壓為5V,感應角度小于等于15°,測距范圍:2?400cm,精度高達0.3cm,盲區(qū)范圍是2cm,其接口只有4個,兩個供電端口:VCC和GND,接收端口是Echo,控制端口是Trig。對于本次設(shè)計,該模塊能夠完美兼容STM32F105系列芯片,同時該模塊也是常用的超聲波測距模塊,用途廣泛,使用人數(shù)多。
通過STM32F105系列來驅(qū)動直流電機,從而達到控制小車前后左右行進的目的;通過基于ESMTM13S25616A-5T芯片和ATHEROSAR9331-AL3A芯片組成的無線模塊來傳輸小車實時運動的視頻狀態(tài),同時連接手機端對小車進行控制;通過以HC-SR04為基礎(chǔ)的超聲波模塊,測量距離:用L298N芯片模塊來達到控制小車電機的目的,整個系統(tǒng)使用2200MAH鋰電池進行供電。
(1)驅(qū)動模塊。本模塊主要負責小車的行駛電機驅(qū)動;
(2)測距模塊。本模塊主要負責小車在行駛過程中對障礙物距離的測量;(3)無線模塊。本模塊主要負責與手機端連接,實現(xiàn)控制小車的行進;(4)控制模塊。本模塊主要負責小車行徑姿態(tài)的調(diào)整,包括前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等;(5)電源模塊。本模塊主要負責小車的供電;(6)視頻模塊。本模塊主要負責小車在行駛過程中實時畫面的拍攝和傳輸。
3 系統(tǒng)設(shè)計
3.1 系統(tǒng)結(jié)構(gòu)框圖
本系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
3.2 驅(qū)動模塊
智能小車的兩個直流電機分別與L298N電機驅(qū)動模塊內(nèi)的INI,IN2,IN3和IN4相連,其中L298N與小車電機的關(guān)聯(lián)
關(guān)系如表1所7K。
表1L298N端口與小車的關(guān)聯(lián)關(guān)系根據(jù)設(shè)計分析,智能小車的邏輯狀態(tài)如表2所示。表2智能小車邏輯狀態(tài),但是在實際的操控過程中,有些小車的狀態(tài)有所重復,為了防止小車狀態(tài)出現(xiàn)干擾和重復,達到最佳的控制方式,智能小車的實際運動狀態(tài)如表3所示。
3.3 控制模塊
智能小車控制模塊為以STM32F105RBT6芯片為核心的最小系統(tǒng)板,其中通過針腳插合與PWR.AR電源穩(wěn)壓與電機驅(qū)動模塊相連接,STM32F105端口與L298N端口對應關(guān)系如:
通過STM32端口的輸出控制,來達到控制L298N端口的輸出,同時控制電機的轉(zhuǎn)速、轉(zhuǎn)動方向等,實現(xiàn)控制小車行徑的目的,通過設(shè)置參數(shù)變量,來達到不同運動狀態(tài)的表述,在實際的控制函數(shù)中,只需要調(diào)用相關(guān)的變量就可以達到實際的操作目的。
3.4 測距模塊
超聲波測距的原理是通過10口觸發(fā)測距,給相應的端口至少10叫的高電平信號,然后通過該模塊自動發(fā)送8個40kHz的方波,產(chǎn)生超聲波信號,再檢測發(fā)出的超聲波是否有返回信號,若有返回信號,則通過10口輸出一個高電平信號,結(jié)合高電平信號持續(xù)的和超聲波從發(fā)射到返回的時間,就可以測出相應的距離,其中測距公式為:
測試距離=(高電平時間×聲速)/2超聲波測距的時序如圖2所示。
3.5 視頻模塊
由于所使用的攝像頭可以通過USB數(shù)據(jù)線連接,所以下載WmSCP軟件,將攝像頭和WiH模塊連接,可以實現(xiàn)由該軟件對于攝像頭參數(shù)的修改,WmSCP軟件的使用如圖3所示。
3.6 無線模塊
本次設(shè)計所購買的WiFi模塊,可以通過電腦端設(shè)置路由的方式,修改WiH相關(guān)參數(shù),參數(shù)配置界面如圖4所示。
對智能小車的WiH設(shè)置配置動作,以此作為手機端和STM32控制端的連接接口,STM32端數(shù)據(jù)傳輸協(xié)議如表5所示。
3.7 手機端控制
手機端控制邏輯流程如圖5所示。
通過手機端的控制,將控制指令經(jīng)由WiFi模塊傳遞給STM32控制模塊,然后再由STM32控制模塊,控制小車的運動狀態(tài),同時實現(xiàn)小車的實時操作數(shù)據(jù)的雙向傳輸。
4 結(jié)語
通過上述設(shè)計,可以在手機端完成以下功能:(1)通過手機終端完成智能小車的前進、后退與左右轉(zhuǎn)彎控制;(2)智能小車上攝像頭捕獲的圖像可以在手機上顯示并存儲;
(3)智能小車具有避障功能。
[參考文獻]
[1]杜靜,周琪棟,王曉安,等基于STM32的WiFi視頻監(jiān)控智能小車[J].科學與財富,2016(4):426-427.
[2]周柱.基于STM32的智能小車研究[D].成都..西南交通大學,2011.
[3]李婕.基于STM32的無線視頻監(jiān)控智能小車設(shè)計[D].蘭州:蘭州理工大學,2014.
[4]段英杰,霍新宇,王惠潔,等.WiFi視頻傳輸機器人的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2016(5):31-32.
[5]朱德良.基于AT91SAM9G25的Linux下RTC設(shè)備驅(qū)動的設(shè)計與實現(xiàn)[J].自動化與儀器儀表,2014(1):98-101.
[6]王慶偉.51單片機I2C總線應用工作原理[J].中國新通信,2012(17):93-94.
[7]何梓濱.智能視覺傳感器技術(shù)及其在藥品自動視覺檢測的應用研究[D].天津:天津大學,2008.
[8]朱思敏.自循跡智能小車控制系統(tǒng)的設(shè)計與實現(xiàn)[D].杭州:浙江工業(yè)大學,2013.
[9]黃海明,楊雷.智能保安巡邏機器人[C].北京:2009全國虛擬儀器大會,2009.
[10]張偉.南斯拉夫機器人事業(yè)的發(fā)展[J].機器人技術(shù)與應用,2000(4):14-15.
[11]周航慈.單片機應用程序設(shè)計技術(shù)[M].北京:北京航空航天大學出版社,1991.
[12]譚浩強.C語言程序設(shè)計[M].北京:清華大學出版社,1999.
[13]公茂法,黃鶴松,楊學蔚.MCS-51/52單片機原理與實踐[M].北京:北京航空航天大學出版社,2009.
[14]ZHOUX?PINGL?JIAL.InstituteofComputingTechnology,ChineseAcademyofSciences[J].JournalofComputerSciences&Technology,2004(4):41-48.
[15JDHARMADASAIM.Advancesinthin-filmsolarcells[M].Stanford:PanStanfordPublishing,2013.endprint