王宇+張國安



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