高英英
(西安信息職業(yè)大學,陜西 西安 710125)
智能小車在當今社會上發(fā)展得很快,從智能玩具到其他各行業(yè)上都有了實質(zhì)性的發(fā)展成果[1,2]。智能遙控小車是20世紀提出的一種新型小車,它可以開發(fā)幼兒的智力,提高小朋友的反應能力與左右手協(xié)調(diào)能力,在很大程度上可以代替人們的工作,由無線遙控操作在軍事偵察、反恐以及防污染等其他高風險環(huán)境中,且具有低成本、體積小以及強大的生存能力等特點,因此應用前景廣闊[3-5]。由于各個企業(yè)的生產(chǎn)技術都在不斷提高進步,人們對自動化和智能化等的要求也在不斷深化,單片機的應用領域也越來越廣泛,無論是在生活中還是在生產(chǎn)上,單片機都是隨處可見。自20世紀70年代單片機出現(xiàn)以來,就廣泛地應用于工業(yè)自動控制化、智能儀表儀器、機電一體化設備、通信設備以及汽車電子等各個領域[6,7]。STC89C52是單片機領域的主流商品,其應用非常廣泛,所以有必要去學習和應用,既滿足了實際產(chǎn)品開發(fā)的需要,也適應了社會智能化和自動化的趨勢[8,9]。通過無線藍牙串口在手機端以觸摸屏按鍵的形式控制,具有簡單、直觀、方便以及易操作等特點[10]。如今,人們對智能化的需求與依賴越來越大,隨著無人汽車、無人超市以及5G網(wǎng)絡等智能領域的發(fā)展,智能信息化已逐漸走進人們的生活[11]。本文所設計小車的功能塑造性較強,不局限在單一場景,日后通過不斷擴展和改進,可用于日常生活。
本系統(tǒng)可以實現(xiàn)小車的循跡、避障、跟隨及藍牙遙控的功能,主要是由單片機控制模塊、電機驅(qū)動模塊、紅外避障模塊、紅外循跡模塊、藍牙模塊以及電源模塊組成,具體如圖1所示。

圖1 小車的系統(tǒng)總功能框架圖
通過對周圍信號環(huán)境的檢測,傳感器生成信號,通過LM393比較電路輸出高電平或者低電平給單片機引腳。單片機通過程序設計對引腳電平變化做出設計好的電路反應,傳輸信號波形給電機驅(qū)動電路進行調(diào)節(jié)小車的運行情況。功能設計如圖2 所示。

圖2 功能設計框圖
通過串口將手機終端與小車的藍牙配對,單片機接收到手機端按鍵命令傳輸?shù)牟ㄐ涡盘枺搭A設的程序設計對引腳電平做出電路反應,小車的電機驅(qū)動電路按指令運行。藍牙遙控設計如圖3所示。

圖3 藍牙遙控設計框圖
本文設計了智能小車系統(tǒng),系統(tǒng)分為小車和手機串口應用程序遙控終端兩部分,具有自動避障、循跡、跟隨及藍牙遙控的功能。設計選用了52系列單片機作為控制端進行控制,機械平臺則是采用了常見的電機模型車,利用所學的電機控制技術和傳感器技術的相關知識,實現(xiàn)小車的前進后退、轉(zhuǎn)向駕駛、檢測、避障、跟蹤以及藍牙遙控等功能。
本系統(tǒng)采用STC89C52單片機為控制核心,在5 V供電下支持80 MHz晶振,且內(nèi)部有512B的RAM數(shù)據(jù)儲存器,片內(nèi)含8K空間可反復擦寫1 000次的Flash只讀儲存器,1K的EEPROM、8個中斷源、4個優(yōu)先級、3個定時器以及32位I/O口線,另外自帶看門狗定時器、雙數(shù)據(jù)指針、全雙工串行口、片內(nèi)晶振及時鐘電路等。單片機最小系統(tǒng)與電機驅(qū)動模塊、紅外避障模塊、紅外循跡模塊以及藍牙模塊組合成硬件系統(tǒng),通過紅外傳感實現(xiàn)小車智能循跡、避障、跟隨及藍牙無線遙控等功能,并通過STC89C52單片機整合處理全車各類信息,使系統(tǒng)正常工作。
L298電機1腳是使能腳,前端控制,輸出高電平有效;2腳是控制接口;2、3腳接左電機輸出端;4、5腳接地;7腳控制左電機信號;8腳驅(qū)動電機,電壓輸出到電機決定電機的速度,13、14腳接右電機。電機驅(qū)動模塊原理圖如圖4所示,其中雙驅(qū)動ENA調(diào)速,4個二極管抗干擾,保護電路左邊接口接左電機,右邊接口接右電機,協(xié)調(diào)運行。

圖4 電機驅(qū)動模塊原理圖
小車避障模塊采用紅外傳感器,紅外發(fā)射V1通過限流電阻加與電壓,發(fā)出紅外光,紅外接收頭V3接收紅外光,其阻值降低,電壓降低,輸出低電平。通過電位器W1改變參考電壓、靈敏度以及芯片的比較電壓,右邊電路與左邊電路相對稱。若前方有障礙物則D3亮,信號由P34傳到單片機。避障模塊原理如圖5所示。

圖5 避障模塊原理圖
循跡電路與避障電路相似,V2,V4為循跡探頭,循跡功能由循跡探頭實現(xiàn),黑色燈為接收,白色燈為發(fā)射。當左邊紅外黑色傳感器接收到紅外信號時,證明地上沒有黑線,接收不到紅外信號時,則地上有黑線,小車由此來左右判別黑線的位置,從而做出反應,沿著黑線走。循跡模塊原理如圖6所示。

圖6 循跡模塊原理圖
藍牙模塊采用HC-05安裝于小車端,通過藍牙串口與手機端連接,從而實時接收遙控發(fā)送的新指令。HC-05是主從一體的藍牙模塊,輸入電壓為3.6~6 V。運用藍牙V2.0協(xié)議標準和CSR主流藍牙芯片,用戶可根據(jù)需要設置特定波特率,性能穩(wěn)定,在開闊環(huán)境且無干擾情況下傳輸距離可達10 m以上。藍牙的TXD和RXD是相對其本身來說的,即藍牙的TXD要接外部設備(如單片機)的RXD,藍牙的RXD要接外部設備的TXD。
本次設計的程序編寫和編譯是采用的Keil Software公司開發(fā)的Keil 4,該軟件包含了C51編譯器和鏈接器等一系列集成工具,使用起來比較方便。程序下載軟件采用的是宏晶科技提供的stc-isp-15xxv6.86C,大部分STC系列的51單片機都采用該軟件下載程序。
main主程序中主要對定時器0進行了初始化,定時器0中斷用于產(chǎn)生PWM,驅(qū)動電機正反轉(zhuǎn),還初始化了串口,波特率為9 600 b/s,串口用于和藍牙通信,使得能夠用手機控制小車。接著進入了主循環(huán),該小車共有4種工作模式,分別是循跡、避障、跟隨及藍牙控制,主循環(huán)中先判斷有沒有按下模式切換按鍵,如果按下了該按鍵則切換工作模式,最后進入各個模式的子函數(shù)。主程序流程如圖7所示。

圖7 主程序流程圖
主函數(shù)在調(diào)用循跡子程序時,子程序先判斷檢測黑線的兩個紅外,當兩個紅外僅有一邊檢測到黑線時,就往黑線那邊轉(zhuǎn)彎,當兩個紅外都檢測到黑線時停車,否則就前進。循跡子程序流程如圖8所示。

圖8 循跡子程序流程圖
避障子程序跟循跡的判斷邏輯相同,某一側(cè)的紅外檢測到物體時視為障礙物,小車會往另一個方向走,從而達到避障的目的。避障子程序流程如圖9所示。

圖9 避障子程序流程圖
跟隨子程序跟循跡的判斷邏輯相同,只不過這時檢測的紅外是用于檢測物體的紅外,跟前面的檢測黑線的紅外不是同一個。跟隨子程序流程如圖10所示。

圖10 跟隨子程序
藍牙控制子程序是根據(jù)小車的狀態(tài)來控制小車,而小車的狀態(tài)又是根據(jù)接收到的藍牙指令來設置的,當用手機藍牙向小車的藍牙發(fā)送指令時,串口就會產(chǎn)生中斷,接收藍牙發(fā)來的指令,并根據(jù)這些指令去設置小車的狀態(tài),藍牙控制子程序就會根據(jù)這些狀態(tài)來調(diào)用相應的函數(shù)。另外用手機藍牙向小車發(fā)送指令是采用一個名為SPP的藍牙調(diào)試助手,該App允許用戶編輯按鍵和按下按鍵時發(fā)送的指令,非常適合藍牙小車的調(diào)試與制作。藍牙控制子程序流程如圖11所示。

圖11 藍牙控制子程序
本設計將手機端App輸出的串口數(shù)據(jù)通過藍牙無線模塊傳輸相給小車上的主控芯片上,計算并判斷X,Y的角度值,輸出相應占空比的方波發(fā)送給電機驅(qū)動模塊,從而達到對小車進行前進、后退、左轉(zhuǎn)以及右轉(zhuǎn)的無線遙控功能。主控芯片將接收到的紅外傳感模塊的電平信號進行處理和分析,判斷小車左右側(cè)有無障礙物和黑線,從而輸出相應占空比的方波發(fā)送給電機驅(qū)動模塊以實現(xiàn)小車的智能避障、跟隨及循跡功能。
接通電源,切換至循跡模式,數(shù)碼管顯示“1”,小車執(zhí)行循跡功能。在地面事先貼好黑膠布軌跡,黑膠布既有直線的,又有轉(zhuǎn)左轉(zhuǎn)右的,此外有小角度的轉(zhuǎn)向也有大角度的轉(zhuǎn)向。調(diào)節(jié)電位器至適中,觀察小車循跡,調(diào)節(jié)小車速度達到最好循跡效果。測試結(jié)果如表1。分析可知,小車在黑線軌跡寬度區(qū)間為10~25 mm時能正常循跡行駛,在軌道彎道大于90°時能正常拐彎。

表1 循跡功能測試表
切換至紅外避障模式,數(shù)碼管顯示“2”,小車執(zhí)行避障功能。用手擋在紅外傳感器前面,觀察電機變化是不是程序設計的結(jié)果。調(diào)節(jié)電位器至紅外檢測適中距離,將小車放地上,接通電源,在小車前進的時候用擋板擋在避障傳感器前面,測試小車反應,調(diào)節(jié)小車速度到適中檔位。經(jīng)觀察,小車在距離障礙物約80 mm時,對應的紅外檢測二極管會發(fā)亮,但由于小車行駛慣性,避障的距離會相應減小。
切換至跟隨模式,數(shù)碼管顯示“3”,小車執(zhí)行跟隨功能。經(jīng)觀察,當物體在距離小車約50 mm以內(nèi)時,其對應的紅外檢測二極管就會發(fā)亮,小車會跟著物體行駛。
藍牙遙控模式,數(shù)碼管顯示“4”,小車執(zhí)行藍牙遙控功能。打開手機端藍牙串口進入連接狀態(tài),設置手機端控制鍵盤,然后在手機終端對小車進行前后左右各方位的遙控,計算小車最遠遙控距離,觀察小車的反應,修改速度,也可以根據(jù)需要添加或減少控制功能。通過手機端向小車藍牙發(fā)送指令,在開闊且無干擾的環(huán)境下其傳輸距離可達10 m,即當小車在10 m以內(nèi)的范圍均可受手機端控制行駛。
小車的避障功能使小車在行駛過程中不發(fā)生碰撞,跟隨功能讓小車根據(jù)牽引者的指導行駛,藍牙遙控功能則可以隨意操控小車的行駛狀態(tài)。但由于使用的是紅外傳感器,所以在調(diào)試過程中也要考慮光對各功能的影響。小車的模型實物如圖12所示。

圖12 小車模型實物
本文設計的多功能小車以STC89C52為控制核心,以四輪模型車為機械平臺,通過傳感器、串口連接以及電機控制等實現(xiàn)了跟蹤、循跡、避障及藍牙遙控功能。小車分為硬件和軟件兩個部分,硬件部分主要有紅外模塊、藍牙模塊、驅(qū)動模塊以及電源,軟件部分則是通過程序控制單片機實現(xiàn)小車的功能。智能小車自動識別路線、障礙物并智能避障和藍牙遙控的研究是基于自動引導機器人系統(tǒng),用以實現(xiàn)小車自動識別周圍環(huán)境,并做出相應的控制系統(tǒng)反應,是智能小車研究領域的重要組成部分,初步實現(xiàn)了多學科領域的綜合研究。