鄧文濤 田昌 趙娟
摘? ?要:隨著IT技術的高速發(fā)展和普及,在生活實踐中,智能避障技術在物聯(lián)網(wǎng)時代尤為重要。本文設計的基于單片機的智能避障小車綜合了計算機、傳感器、電子電氣等多技術于一體,以AT89C52單片機為核心處理器,藍牙識別模塊作為核心,通過PWM軟件程序控制小車的姿態(tài)調(diào)整,搭載超聲波模塊實現(xiàn)避障功能。該小車設計靈活、功能齊全、操作簡單,為大型避障車的設計提供了參考價值。
關鍵詞:單片機AT89C52? 智能避障? 控制系統(tǒng)
中圖分類號:TP242.6? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-098X(2019)10(c)-0050-02
如今智能控制技術發(fā)展得如火如荼,各個領域都會設計到相關應用,其涵蓋了計算機、傳感器、電子電氣等技術的多種學科,而本設計就是以此為背景,結合學校開展的單片機和嵌入式等課程,設計的一款可以進行自主信息檢測并進行障礙物自動躲避的一款接受人為操控的智能化小車。
1? 系統(tǒng)整體設計
系統(tǒng)采用AT89C52 RAM單片機作為核心控制芯片,根據(jù)設計所需將系統(tǒng)劃分成不同的模塊,每個模塊實現(xiàn)相應的功能,整體作用于RAM芯片從而實現(xiàn)最終的設計。整體設計框圖如圖1所示。
2? 硬件設計
該智能避障小車是以AT89C52單片機作為核心處理器,用到的功能性硬件主要是核心板上的I/O口、串口、定時器以及開發(fā)板外的電機驅動模塊、藍牙模塊、超聲波測距模塊。
AT89C52單片機作為處理器核心,對藍牙模塊和超聲波測距模塊收集到的數(shù)據(jù)進行處理,運算,再通過單片機的I/O口輸出高低電平以控制電機驅動,不同的操作指令以控制不同的操作,實現(xiàn)小車前進,后退,左轉,右轉,停止等功能。在檢測到障礙物距離小車很近時,小車會立即停止運行行進,并急速后退一小段距離以保持小車安全達到避障的效果。
電源模塊使用可充電的鋰電池以降低成本和方便維護。
兩路電機驅動模塊的驅動原理采用H橋驅動方式,使用HG7881驅動芯片,其接線方式如圖2所示。
其控制原理則是以兩個輪端方向為前,A-IA通過I/O口給高電平,A-IB通過I/O口給低電平時,左輪向前正轉;A-IA通過I/O口給低電平,A-IB通過I/O口給高電平時,左輪向后反轉。同理,以兩個輪端方向為前,B-IA通過I/O口給高電平,B-IB通過I/O口給低電平時,右輪向前正轉;B-IA通過I/O口給低電平,B-IB通過I/O口給高電平時,右輪向后反轉。
藍牙模塊為HC-05主從機一體藍牙模塊,能夠實現(xiàn)串口透明傳輸功能。其中藍牙模塊分為主機和從機,主機可以主動連接其他藍牙,從機則等待其他藍牙的連接,在設計設定藍牙模塊為從機模式。透明傳輸功能即單片機通過串口發(fā)送數(shù)據(jù)到藍牙模塊,藍牙模塊自動把接收到的數(shù)據(jù)轉發(fā)到與之連接的手機藍牙上,而無需關心藍牙模塊如何實現(xiàn)中間的傳輸過程,同理,手機通過藍牙發(fā)送數(shù)據(jù)到藍牙模塊,藍牙模塊會自動轉發(fā)到與之相連的單片機處。藍牙模塊可以根據(jù)自己的喜好更改藍牙名字、密碼、波特率、主從模式等。
超聲波模塊為HC-SR04 超聲波測距模塊,其可以提供2cm~400cm的非接觸式距離感測功能,測距精度可以達到3mm,極為適合微小型小車的使用。
其工作原理采用I/O口TRIG觸發(fā)測距,給最少10us的高電平信呈。模塊自動發(fā)送8個40kHz的方波,自動檢測是否有信號返回,當有信號返回,再通過I/O口ECHO輸出一個高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。測試距離=(高電平時間(T)×聲速(V=340m/s))/2。
3? 軟件程序設計
智能小車的程序使用C語言編寫,C語言廣泛應用于類似嵌入式處理器以及超級計算機等作業(yè)平臺,具有明顯的可讀性與可維護性,方便閱讀與修改,易于理解。
設計系統(tǒng)采用51系列兼容單片機C語言軟件開發(fā)系統(tǒng)KEIL C51。KEIL作為編譯軟件,生成的目標代碼效率非常高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢,Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。
4? 結語
本設計通過采用AT89C52芯片內(nèi)部集成的A/D轉換、GPIO口、串行口通信等功能結合一些外部功能模塊實現(xiàn)了自主信息檢測并進行障礙物自動躲避且接受人為操控的智能化小車設計,而本設計極其適應于高校教學實踐,筆者作為一名在校大學生,切身體會到了該設計的可行性和趣味性,將理論與實際結合,增強了對書本理論知識的理解也提升了自我實踐操作的動手能力,是單片機和嵌入式開發(fā)中極具教學意義的一個設計,同時也為以后的工作設計提供了良好的理論實踐基礎。
參考文獻
[1] 譚浩強.C語言設計[M].5版.北京:清華大學出版社,2017.
[2] 郭天祥.51單片機C語言教程[M].北京:電子工業(yè)出版社, 2009.
[3] 曹海洋.基于AT89C52單片機的藍牙調(diào)速循跡小車[J].電子世界,2019(6):139-140.
[4] 李帥男.基于STM32的循跡避障智能小車的設計[J].數(shù)字技術與應用,2018(8):69.
[5] 陳文澄,張輝,張晉滔.一種多功能循跡避障智能小車的研制[J].科技創(chuàng)新與應用,2019(4):32-34.
[6] 李萬義,謝林汐,肖鋒,等.基于STM32的智能小車尋跡避障系統(tǒng)硬件設計[J].電子世界,2019(7):196-197.