張瀚 傅韻鑫 何宇 李建江
摘要:本文主要給出了一種基于藍(lán)牙控制的智能小車。以Android移動(dòng)控制端模塊和STM32F1單片機(jī)主控模塊組成整個(gè)小車系統(tǒng)的核心控制單元;采用性能穩(wěn)定的HC-05主從藍(lán)牙模塊與主控模塊STM32F1單片機(jī)以及基于Android系統(tǒng)的第三方軟件spp藍(lán)牙串口通信app進(jìn)行實(shí)時(shí)人機(jī)通信;設(shè)計(jì)基于LM317芯片的可調(diào)穩(wěn)壓電源給整個(gè)小車系統(tǒng)提供穩(wěn)定的電壓輸入;電機(jī)驅(qū)動(dòng)采用基于L298N的H橋兩路驅(qū)動(dòng)模塊,通過調(diào)節(jié)使能端輸入的PWM波的占空比對(duì)電機(jī)轉(zhuǎn)速進(jìn)行調(diào)控,以達(dá)到最佳運(yùn)行效果。
關(guān)鍵詞:藍(lán)牙小車;STM32F1 ;單片機(jī)
一、設(shè)計(jì)原理及結(jié)構(gòu)分析
本設(shè)計(jì)主要運(yùn)用藍(lán)牙串口通信原理,通過以Android移動(dòng)控制端發(fā)送指令與藍(lán)牙模塊進(jìn)行通信,藍(lán)牙模塊根據(jù)接受到的指令與主控制單元STM32F1進(jìn)行通信,主控制單元通過相應(yīng)程序?qū)χ噶钭龀鱿鄳?yīng)反饋,通過驅(qū)動(dòng)電機(jī)驅(qū)動(dòng)模塊對(duì)電機(jī)的運(yùn)行進(jìn)行控制以達(dá)到小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等預(yù)期的效果,實(shí)現(xiàn)整個(gè)小車系統(tǒng)的智能控制。
二、硬件電路設(shè)計(jì)
硬件電路設(shè)計(jì)主要包括:主控模塊的選擇、電源穩(wěn)壓模塊、電機(jī)驅(qū)動(dòng)電路、藍(lán)牙模塊電路和與藍(lán)牙APP的結(jié)合使用。
(一)主控模塊的選擇
系統(tǒng)采用STM32F1單片機(jī)作為系統(tǒng)的主控芯片,完成與藍(lán)牙信號(hào)的實(shí)時(shí)通信以及小車運(yùn)行的控制等功能。STM32F1單片機(jī)擁有廣泛的產(chǎn)品線,包含基于ARM?Cortex?-M0、M0+、M3、M4及M7內(nèi)核并具備豐富外設(shè)的多種32位單片機(jī)。目前提供9大產(chǎn)品線 (F0, F1, F2, F3, F4,F(xiàn)7,H7, L0, L1, L4),超過700個(gè)型號(hào)。該單片機(jī)帶有豐富多樣和功能靈活齊全的外設(shè),并保持全產(chǎn)品系列上的引腳兼容,為釋放對(duì)程序設(shè)計(jì)的創(chuàng)造力提供了更大的自由度。
(二)穩(wěn)壓電源模塊設(shè)計(jì)
為了使輸入電壓達(dá)到穩(wěn)定,同時(shí)測(cè)溫系統(tǒng)由于需要長(zhǎng)時(shí)間的穩(wěn)定的工作,所以必須保證測(cè)溫系統(tǒng)的持續(xù)的工作狀態(tài),所以需要考慮應(yīng)提高電源的利用效率,因此,本測(cè)溫系統(tǒng)供電模塊采用1A5V高效穩(wěn)壓電源電路,如圖所示,在Ui=15V 、Uo=5V、Io=1A時(shí),電源的利用效率為82%。Rp R7為參考電壓設(shè)置,調(diào)節(jié)Rp,即改變TL431的輸出電壓,該電壓經(jīng)VT2進(jìn)一步放大后調(diào)節(jié)調(diào)整管VT1的基極點(diǎn)位,從而改變VT1結(jié)電極輸出電壓的大小,TL431的工作電流經(jīng)R5直接取至輸入端,這樣,可以避免在輸入輸出壓差較小的情況下,保證得到正常的工作電流,有利于提高電源利用效率。
(三)電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
電機(jī)采用L298N驅(qū)動(dòng)的直流電機(jī)帶動(dòng)。L298N是驅(qū)動(dòng)二相和四相直流電機(jī)的專用芯片,內(nèi)含兩個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TT邏輯電平信號(hào),可驅(qū)動(dòng) 36V、2A以下的電機(jī)。L293D可驅(qū)動(dòng)兩個(gè)電機(jī),3、6和11、14腳之間分別接 2個(gè)電機(jī)。2、7、10、15腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn),EN1、EN2接控制使能端,控制電機(jī)的停轉(zhuǎn)。單片機(jī)通過輸出二組PWM波來控制電機(jī)的正反轉(zhuǎn)??刂品椒ㄅc控制電路都比較簡(jiǎn)單,2、7腳控制第一個(gè)電機(jī)的方向,輸入的EN1控制第一個(gè)電機(jī)的速度;10, 15腳控制第二個(gè)電 機(jī)的方向,輸入的EN2控制第二個(gè)電機(jī)的速度。
(四)藍(lán)牙模塊軟件設(shè)計(jì)
本設(shè)計(jì)采用了HC-05主從一體模塊,通過PC的串口調(diào)試軟件向模塊發(fā)送AT指令,開始時(shí),藍(lán)牙先初始化,然后一直檢測(cè)是否接收到指令。如果接收到指令則根據(jù)指令對(duì)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和切換至無人模式進(jìn)行選擇。
三、軟件總體設(shè)計(jì)
本系統(tǒng)軟件由主監(jiān)控程序模塊、命令翻譯模塊、信號(hào)產(chǎn)生模塊、人機(jī)交互模塊構(gòu)成。其中主監(jiān)控程序是系統(tǒng)軟件的主程序,是整個(gè)系統(tǒng)軟件的核心,上電復(fù)位后系統(tǒng)首先進(jìn)入監(jiān)控主程序。它的任務(wù)是識(shí)別命令、發(fā)送命令,起著引導(dǎo)儀器進(jìn)入正常工作狀態(tài),協(xié)調(diào)各部分軟件有條不紊地工作的重要作用。
(一)主程序設(shè)計(jì)
主程序設(shè)計(jì)主要完成系統(tǒng)的初始化、中斷優(yōu)先級(jí)設(shè)定以及判斷調(diào)用各模塊程序,即主要實(shí)現(xiàn)各模塊的連接,然后處理分析各模塊的通信信息,最后把處理后的個(gè)顯示模塊測(cè)量值顯示到人際交換模塊上,實(shí)現(xiàn)人機(jī)的實(shí)時(shí)通信,最終保證整個(gè)小車系統(tǒng)的穩(wěn)定工作。
四、實(shí)驗(yàn)測(cè)試及結(jié)果分析
本文闡述一種可通過手機(jī)藍(lán)牙遙控或者無人駕駛小車的軟、硬件設(shè)計(jì)。介紹以STM32F1單片機(jī)為核心控制系統(tǒng),結(jié)合藍(lán)牙通訊設(shè)計(jì)可以遠(yuǎn)程移動(dòng)控制的藍(lán)牙小車,通過android移動(dòng)端發(fā)送指令;藍(lán)牙模塊接受指令;單片機(jī)分析處理接受的指令,輸出相應(yīng)電平信號(hào)控制電機(jī)的運(yùn)轉(zhuǎn)從而驅(qū)動(dòng)小車自主完成相應(yīng)運(yùn)動(dòng)行為,例如使小車能夠完成前進(jìn)、后退、左轉(zhuǎn)向、右轉(zhuǎn)向動(dòng)作等運(yùn)動(dòng)效果,完成預(yù)期的設(shè)計(jì)目標(biāo)。并且為其他智能生活提供了很有價(jià)值意義的范例。
參考文獻(xiàn):
[1]王廬山.基于51單片機(jī)的兩驅(qū)藍(lán)牙小車系統(tǒng)設(shè)計(jì)[J].內(nèi)燃機(jī)與配件,2017(22):6.
[2]湯莉莉,黃偉.基于Android手機(jī)藍(lán)牙控制的智能小車設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(12):132-134.
[3]鄭海城,楊冬濤,劉燕,陳學(xué)躍,陸炯鑫.基于藍(lán)牙控制的智能小車設(shè)計(jì)[J].電腦與電信,2016(05):62-64+70.
[4]趙海蘭.基于單片機(jī)的紅外遙控智能小車的設(shè)計(jì)[J].電子世界,2013(3):45-47.