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