吳伯彪,郭禧斌
(鄭州科技學(xué)院,河南鄭州450064)
基于手機(jī)藍(lán)牙的智能小車控制系統(tǒng)設(shè)計
吳伯彪,郭禧斌
(鄭州科技學(xué)院,河南鄭州450064)
設(shè)計了一種通過手機(jī)藍(lán)牙實現(xiàn)對小車控制的系統(tǒng)。該系統(tǒng)通過藍(lán)牙模塊HC-06與智能手機(jī)建立藍(lán)牙通信,以STC89C52作為主控芯片,接收藍(lán)牙模塊傳送的信號并進(jìn)行處理,通過L298N電機(jī)驅(qū)動模塊,使單片機(jī)控制信號驅(qū)動兩個電機(jī)運轉(zhuǎn)。在Android手機(jī)上開發(fā)應(yīng)用軟件,通過設(shè)計的按鈕實現(xiàn)對車的啟動、轉(zhuǎn)向等控制。
藍(lán)牙通訊;控制系統(tǒng);電機(jī)驅(qū)動;單片機(jī);硬件電路;軟件設(shè)計;系統(tǒng)調(diào)試
隨著科學(xué)技術(shù)的不斷進(jìn)步,無線控制技術(shù)的發(fā)展已經(jīng)遍及電子、移動互聯(lián)網(wǎng)、可穿戴設(shè)備、航空領(lǐng)域。無線控制系統(tǒng)有紅外、射頻以及藍(lán)牙技術(shù)等,其中,藍(lán)牙技術(shù)被廣泛應(yīng)用[1]。藍(lán)牙是一種無線個人局域網(wǎng)。利用藍(lán)牙技術(shù)能夠有效地簡化掌上電腦、筆記本電腦和移動電話手機(jī)等移動通信終端設(shè)備之間的通信,也能夠成功地簡化以上這些設(shè)備與因特網(wǎng)之間的通信。
安卓(android)系統(tǒng)是一個以Linux為基礎(chǔ)的半開源操作系統(tǒng),主要應(yīng)用于便攜設(shè)備。它憑借可操作性強(qiáng)和開放性的優(yōu)勢,迅速成為智能手機(jī)的主流操作平臺。筆者以裝有安卓系統(tǒng)的智能手機(jī)為終端,基于藍(lán)牙技術(shù),設(shè)計了一種小車控制系統(tǒng)。該系統(tǒng)通過藍(lán)牙通信傳輸控制指令給單片機(jī),再利用電機(jī)驅(qū)動實現(xiàn)小車前行、倒退、左轉(zhuǎn)、右轉(zhuǎn)和停止等功能。
1.1 系統(tǒng)組成
本控制系統(tǒng)主要由單片機(jī)模塊、電源模塊、藍(lán)牙模塊、電機(jī)驅(qū)動模塊和手機(jī)遙控平臺等組成。
1.2 系統(tǒng)工作原理
裝有安卓系統(tǒng)的智能手機(jī)通過手機(jī)藍(lán)牙將控制命令發(fā)送給車載藍(lán)牙,車載藍(lán)牙把信號傳輸給單片機(jī)進(jìn)行處理,單片機(jī)根據(jù)傳遞過來的指令運行不同的子程序,控制電機(jī)驅(qū)動,實現(xiàn)對小車前進(jìn)、后退、右轉(zhuǎn)、左轉(zhuǎn)、停止的實時控制。手機(jī)藍(lán)牙控制的智能小車系統(tǒng)總體組成框圖如圖1所示。
圖1 系統(tǒng)總體設(shè)計框圖Fig.1 General design of system
2.1 電源模塊設(shè)計
本系統(tǒng)需要對單片機(jī)、車載藍(lán)牙模塊和電機(jī)驅(qū)動模塊進(jìn)行供電。電機(jī)驅(qū)動模塊需要9 V電源供電,單片機(jī)和車載藍(lán)牙模塊需要5 V的恒壓電源供電。系統(tǒng)選用了LM7805集成穩(wěn)壓芯片,其有一系列固定的電壓輸出,故應(yīng)用廣泛。LM7805集成穩(wěn)壓芯片還可以將系統(tǒng)所需的9 V輸入電壓轉(zhuǎn)換成5V的電壓恒定輸出。因此,在不需要更換電池的情況下,使系統(tǒng)更加穩(wěn)定安全。
2.2 電機(jī)驅(qū)動模塊
本設(shè)計依靠2個電機(jī)驅(qū)動小車的2個車輪。在小車行進(jìn)過程中,通過控制與調(diào)整車輪的速度和旋轉(zhuǎn)方向?qū)崿F(xiàn)小車的不同行進(jìn)狀態(tài)。系統(tǒng)采用L298N作為直流電機(jī)驅(qū)動,其電路如圖2所示。該芯片用于控制直流電動機(jī)等感性負(fù)載,內(nèi)部包含8通道邏輯驅(qū)動電路,其采用標(biāo)準(zhǔn)邏輯電平信號來控制電機(jī),具有較低的飽和壓降以及過熱保護(hù)。同時,它可產(chǎn)生的穩(wěn)定輸出電壓,抗干擾能力強(qiáng)[2]。
圖2 電機(jī)驅(qū)動電路Fig.2 M otor drive circuit
該電機(jī)驅(qū)動電路通過單片機(jī)的I/O輸入改變芯片控制端的電平,單片機(jī)通過I/O口輸出TTL電平為電機(jī)驅(qū)動芯片IN1~I(xiàn)N2提供信號,即可以對電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)、停止等操作。
2.3 車載藍(lán)牙模塊
本系統(tǒng)車載藍(lán)牙采用HC-06藍(lán)牙模塊。它在具有無線藍(lán)牙通信功能的設(shè)備中使用比較廣泛[3]。HC-06藍(lán)牙模塊分主機(jī)和從機(jī),主機(jī)能與從機(jī)配對通信,從機(jī)能與手機(jī)藍(lán)牙配對通信。該模塊工作電壓為3.3V,可實現(xiàn)在10m范圍內(nèi)的無線通信。HC-06藍(lán)牙模塊芯片共有VCC、GND、RXD、TXD 4個引腳,可以很方便地實現(xiàn)與手機(jī)等具有藍(lán)牙的設(shè)備進(jìn)行無縫連接。STC89C52通過串口與藍(lán)牙模塊HC-06連接,接收手機(jī)藍(lán)牙發(fā)送的控制命令。HC-06工作原理圖如圖3所示:
圖3 HC-06藍(lán)牙模塊芯片電路圖Fig.3 HC-06 b luetooth module chip circuit
2.4 APP軟件模塊
在安卓系統(tǒng)應(yīng)用商店中尋找合適的藍(lán)牙串口軟件。本系統(tǒng)采用的軟件為藍(lán)牙串口SPP軟件。因為軟件涉及對不同設(shè)備的兼容問題,所以,對該軟件的不同版本進(jìn)行了比對。由于所選用手機(jī)為安卓2.1版本,因此,采用藍(lán)牙串口SPP5.3.3較為穩(wěn)定。將不同指令設(shè)置到資料所提供的APP軟件中進(jìn)行配置,如表1所示。
表1 指令配置表Tab.1 Instruction configuration
主程序的功能主要是檢測藍(lán)牙設(shè)備是否工作正常、設(shè)置藍(lán)牙與下位機(jī)連接以及手機(jī)各功能按鍵的實現(xiàn)等。功能按鈕是由前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止等模塊組成。
根據(jù)指令按鍵的配置,手機(jī)向外發(fā)送指令信號。該信號被車載藍(lán)牙模塊HC-06接收,并通過串口通信發(fā)送給單片機(jī)。單片機(jī)根據(jù)獲得的信號控制電機(jī)轉(zhuǎn)向以及轉(zhuǎn)速,進(jìn)而實現(xiàn)對小車前進(jìn)、后退、右轉(zhuǎn)、左轉(zhuǎn)、停止的實時控制。藍(lán)牙控制程序流程如圖4所示。
圖4 藍(lán)牙控制程序流程圖Fig.4 Bluetooth control program flow
系統(tǒng)調(diào)試包括以下內(nèi)容:(1)檢查各個模塊之間,電機(jī)驅(qū)動與電機(jī)之間的連接是否正確。若都沒有出錯,打開提供給各個模塊的5 V電源和提供給電機(jī)的9V電源。此時,最小系統(tǒng)模塊指示燈點亮,表示單片機(jī)供電正常;藍(lán)牙模塊指示燈開始閃爍,表示藍(lán)牙模塊也供電正常。(2)打開安卓手機(jī)界面,自動搜索藍(lán)牙芯片的地址,并進(jìn)行連接。當(dāng)藍(lán)牙芯片的指示燈有閃爍轉(zhuǎn)變?yōu)槌A烈院?,表示藍(lán)牙配對連接成功。(3)在手機(jī)端的界面上點擊前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)按鈕,查看小車的動向。當(dāng)在手機(jī)端的界面上點擊前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)按鈕時,藍(lán)牙模塊能接受手機(jī)端發(fā)送的字符相應(yīng)字母的ASCII碼值,并且能夠通過串口相應(yīng)的傳遞給單片機(jī),單片機(jī)通過分析串口傳過來的數(shù)據(jù),改變P2口的值來控制電機(jī)驅(qū)動的輸入端IN1、IN2、IN3、1N4。整體系統(tǒng)調(diào)試如圖5所示。
圖5 智能小車上電調(diào)試圖Fig.5 Intelligent car electric debugging
本文設(shè)計的基于手機(jī)藍(lán)牙的智能小車控制系統(tǒng)通過Android手機(jī)上的APP應(yīng)用程序的按鍵模式實現(xiàn)了小車的前行、倒退、左轉(zhuǎn)、右轉(zhuǎn)和停止等功能,達(dá)到了預(yù)期目的。該思想將手機(jī)變身為遙控器,為人們的生活帶來無限方便,也可為其他智能設(shè)備控制提供參考。
[1]李俠,沈峰.基于安卓系統(tǒng)的低功耗藍(lán)牙應(yīng)用程序開發(fā)[J].重慶科技學(xué)院學(xué)報.2014,16(5):133-136.
[2]張?zhí)禊i,徐磊.L298N控制直流電機(jī)正反轉(zhuǎn)[J].工業(yè)設(shè)計.2011(3):98-99.
[3]談敏,劉高平.基于手機(jī)藍(lán)牙接口的小車遙控系統(tǒng)[J].浙江萬里學(xué)院學(xué)報.2012,25(4):77-80.
[責(zé)任編輯 胡修池]
TP872
B
10.13681/j.cnki.cn41-1282/tv.2016.04.014
2016-05-31
吳伯彪(1988-),男,河南鄭州人,助教,主要從事控制理論與控制工程專業(yè)的教學(xué)與研究工作。