找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 7152|回復(fù): 0
收起左側(cè)

STM32的藍(lán)牙遙控小車設(shè)計(jì)思路分享

[復(fù)制鏈接]
ID:443136 發(fā)表于 2020-5-9 20:50 | 顯示全部樓層 |閱讀模式
所謂小車控制實(shí)際上就是電機(jī)控制,本論文所設(shè)計(jì)的小車分為藍(lán)牙通信,直流電機(jī)控制,舵機(jī)控制三大結(jié)構(gòu)。
藍(lán)牙通信使用收發(fā)一體式低功耗藍(lán)牙模塊HC-05,該模塊最大優(yōu)點(diǎn)是無需了解藍(lán)牙傳輸協(xié)議,只需讀取模塊串口接受到的數(shù)據(jù)和通過串口將數(shù)據(jù)發(fā)送數(shù)去。
結(jié)構(gòu)上小車使用金屬底板,一體充壓成型的鋁固定件,將電機(jī)與傳動(dòng)軸緊密咬合在一起,增加了和汽車原理相似的差速結(jié)構(gòu),差速結(jié)構(gòu)最大的好處體現(xiàn)在小車轉(zhuǎn)彎時(shí),可以通過內(nèi)部的動(dòng)力分配單元使內(nèi)外側(cè)輪速度不同。電機(jī)385高速電機(jī)帶來更快的速度,后輪加入兩顆法蘭杯式軸承,確保了電機(jī)轉(zhuǎn)動(dòng)更加靈活。和專業(yè)的遙控賽車原理相同,使用兩根拉桿通過轉(zhuǎn)向舵機(jī)來控制小車的方向,大扭力舵機(jī)確保轉(zhuǎn)向角度精確可靠。
動(dòng)力系統(tǒng)使用一個(gè)直流電機(jī)和一個(gè)舵機(jī)。通過舵機(jī)控制左右方向,通過直流電機(jī)控制前進(jìn)后退,實(shí)現(xiàn)小車的基本運(yùn)動(dòng)功能;通過對(duì)電機(jī)轉(zhuǎn)速的調(diào)節(jié)控制小車的運(yùn)動(dòng)速度。根據(jù)實(shí)際情況,則表1-1是電機(jī)轉(zhuǎn)動(dòng)狀態(tài)與小車運(yùn)動(dòng)方向的關(guān)系表。

表1-1 電機(jī)轉(zhuǎn)動(dòng)狀態(tài)與小車運(yùn)動(dòng)方向關(guān)系表
運(yùn)動(dòng)狀態(tài)
直流電機(jī)
舵機(jī)
前進(jìn)
正轉(zhuǎn)
居中
后退
反轉(zhuǎn)
居中
左轉(zhuǎn)
正轉(zhuǎn)
左轉(zhuǎn)
右轉(zhuǎn)
正轉(zhuǎn)
右轉(zhuǎn)

2.1.2 主要軟件資源

編程語(yǔ)言選用C語(yǔ)言:
C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,屬高級(jí)語(yǔ)言范疇。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序,代碼清晰知精簡(jiǎn),十分靈活。
1、java、.net、c++這些高級(jí)語(yǔ)言的基礎(chǔ)都跟c語(yǔ)言類似的 所以c語(yǔ)言是編程語(yǔ)言的基礎(chǔ)。
2、c語(yǔ)言用途非常廣泛,大到衛(wèi)星導(dǎo)彈,小到一個(gè)計(jì)算器,都可以用C語(yǔ)言來實(shí)現(xiàn)。 現(xiàn)在學(xué)的只是C語(yǔ)言的基本語(yǔ)法,要做真正有用的程序,還要道學(xué)很多東西,比如windows api,學(xué)了之后就知道怎么用C語(yǔ)言調(diào)用Windows api畫窗口、按鈕、進(jìn)回度條等等,做出像QQ一樣實(shí)用的程序。
3、C語(yǔ)言只是一門計(jì)算答機(jī)語(yǔ)言,說到底就是一種工具。它的用處就是可以用它編出能夠運(yùn)行的程序來,而這些程序可以實(shí)現(xiàn)某些人需要的功能。人通過學(xué)習(xí)c語(yǔ)言也可以更加深入的了解計(jì)算機(jī),所以很多人都把c語(yǔ)言作為計(jì)算機(jī)入門的第一門語(yǔ)言來學(xué)習(xí),因?yàn)閷W(xué)習(xí)起來相對(duì)簡(jiǎn)單一些。至于實(shí)際的意義,無非是多學(xué)會(huì)一門技能,更加深入對(duì)計(jì)算機(jī)的了解,為學(xué)習(xí)其他計(jì)算機(jī)語(yǔ)言打下好的基礎(chǔ)。
采用標(biāo)準(zhǔn)的Windows應(yīng)用程序μVision4作為開發(fā)環(huán)境,μVision4 是Keil公司提供的用于開發(fā)MCS-51系列芯片的匯編語(yǔ)言與C程序的集成開發(fā)環(huán)境,μVision4 環(huán)境包括工具條、菜單、編輯及顯示多種窗口。μVision4 支持使用的Keil C51工具,包括宏匯編器、C編譯器、連接定位器、目標(biāo)代碼到HEX的轉(zhuǎn)換器。

2.2 硬件系統(tǒng)設(shè)計(jì)總框圖

系統(tǒng)框圖如下:

圖1-1 小車系統(tǒng)框圖

2.3 驅(qū)動(dòng)模塊

2.3.1 直流電機(jī)驅(qū)動(dòng)模塊

實(shí)驗(yàn)室中比較常見的電機(jī)驅(qū)動(dòng)芯片是L298N芯片,L298N 是一種雙H橋電機(jī)驅(qū)動(dòng)芯片,其中每個(gè)H橋可以提供2A的電流,功率部分的供電電壓范圍是2.5-48v,邏輯部分5v供電,接受5vTTL電平。一般情況下,功率部分的電壓應(yīng)大于6V否則芯片可能不能正常工作。在原理上它內(nèi)部集成H橋電路,其輸出電流比較大,功率可以達(dá)到比較高。其固定輸出電流可以達(dá)到2A,最高電流可以達(dá)到4A,最高工作電壓50V,可以直接驅(qū)動(dòng)感性負(fù)載,比如大功率直流電機(jī),步進(jìn)電機(jī),電磁閥等,特別是其輸入端可以與單片機(jī)的IO口直接相聯(lián),從而很方便地受單片機(jī)控制。當(dāng)驅(qū)動(dòng)直流電機(jī)時(shí),使能端接高電平,兩個(gè)輸入端電平狀態(tài)決定電流方向即決定電機(jī)轉(zhuǎn)動(dòng)方向,輸出端接電機(jī),從而實(shí)現(xiàn)電機(jī)正轉(zhuǎn)與反轉(zhuǎn),實(shí)現(xiàn)此功能只需改變輸入端的邏輯電平。
下圖是L298N芯片內(nèi)部原理圖。
圖2-1 L298N內(nèi)部電路圖
為了在實(shí)際使用中方便的使用該芯片,廠商將其設(shè)計(jì)為模塊,僅留出控制接口。在該模塊的設(shè)計(jì)中,續(xù)流二極管必不可少。電機(jī)類似于電感的性質(zhì),在轉(zhuǎn)動(dòng)過程中,尤其是高速轉(zhuǎn)動(dòng)時(shí)以及電機(jī)兩端電壓較高時(shí),有可能會(huì)發(fā)生自感,為了防止電源關(guān)閉時(shí)自感電壓擊穿開關(guān)元件,才設(shè)置了這些二極管作為自感能量的釋放途經(jīng)。同時(shí)也是防止電機(jī)受外力作用運(yùn)轉(zhuǎn)時(shí)發(fā)電造成芯片損壞。
在本次小車設(shè)計(jì)中,因?yàn)橹恍杩刂埔粋(gè)直流電機(jī),所以只使用到該模塊的兩個(gè)輸入,兩個(gè)輸出引腳和一個(gè)使能端,輸入引腳接入單片機(jī)的IO口,同時(shí)該IO口接了led指示燈來判斷正反轉(zhuǎn)狀態(tài),在6腳即EN A接入PWM信號(hào),該信號(hào)由單片機(jī)的定時(shí)器TIM2產(chǎn)生,可實(shí)現(xiàn)速度由0-100%控制。具體電路圖如下所示。
圖2-2 L298N驅(qū)動(dòng)模塊圖

2.3.2 舵機(jī)供電及工作原理

關(guān)于舵機(jī)的定義一直存在比較大的爭(zhēng)議,使用者往往無法從根本上說出它與伺服電機(jī)的區(qū)別,而實(shí)際上,“舵機(jī)”這個(gè)詞可以說是民間玩航模以及遙控車的玩家對(duì)其的稱呼,舵機(jī)主要是由外殼、電路板、無核心馬達(dá)、齒輪與位置檢測(cè)器所構(gòu)成。其工作原理是由接收機(jī)發(fā)出訊號(hào)給舵機(jī),經(jīng)由電路板上的 IC判斷轉(zhuǎn)動(dòng)方向,再驅(qū)動(dòng)無核心馬達(dá)開始轉(zhuǎn)動(dòng),透過減速齒輪將動(dòng)力傳至擺臂,同時(shí)由位置檢測(cè)器送回訊號(hào),判斷是否已經(jīng)到達(dá)定位。位置檢測(cè)器其實(shí)就是可變電阻,當(dāng)舵機(jī)轉(zhuǎn)動(dòng)時(shí)電阻值也會(huì)隨之改變,藉由檢測(cè)電阻值便可知轉(zhuǎn)動(dòng)的角度。一般的伺服馬達(dá)是將細(xì)銅線纏繞在三極轉(zhuǎn)子上,當(dāng)電流流經(jīng)線圈時(shí)便會(huì)產(chǎn)生磁場(chǎng),與轉(zhuǎn)子外圍的磁鐵產(chǎn)生排斥作用,進(jìn)而產(chǎn)生轉(zhuǎn)動(dòng)的作用力。依據(jù)物理學(xué)原理,物體的轉(zhuǎn)動(dòng)慣量與質(zhì)量成正比,因此要轉(zhuǎn)動(dòng)質(zhì)量愈大的物體,所需的作用力也愈大。舵機(jī)為求轉(zhuǎn)速快、耗電小,於是將細(xì)銅線纏繞成極薄的中空?qǐng)A柱體,形成一個(gè)重量極輕的五極中空轉(zhuǎn)子,并將磁鐵置於圓柱體內(nèi),這就是無核心馬達(dá)。這里的舵機(jī)工作原理是:在每個(gè)舵機(jī)內(nèi)部都有一個(gè)基準(zhǔn)電路,其作用是產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號(hào),舵機(jī)控制信號(hào)(由信號(hào)線傳入)由接收機(jī)的通道接收后進(jìn)入信號(hào)調(diào)制芯片,獲得直流偏置電壓。然后將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機(jī)驅(qū)動(dòng)芯片決定電機(jī)的正反轉(zhuǎn),這就是舵機(jī)能控制角度的原因。當(dāng)電機(jī)轉(zhuǎn)速一定時(shí),通過級(jí)聯(lián)減速齒輪帶動(dòng)電位器旋轉(zhuǎn),使得電壓差為0,電機(jī)停止轉(zhuǎn)動(dòng)。
在本次設(shè)計(jì)中,采用的是金屬齒輪舵機(jī)MG996R,該舵機(jī)在需要精確控制角度變化的系統(tǒng)中被廣泛使用,主要技術(shù)參數(shù):無負(fù)載速度 0.17 秒/60 度(4.8V),有負(fù)載速度,0.13 秒/60 度(6.0V),扭矩: 13KG。從參數(shù)上看,其角度控制精確快速,保證轉(zhuǎn)向的可靠性
舵機(jī)的控制信號(hào)是PWM信號(hào),利用占空比的變化改變舵機(jī)的位置。一般舵機(jī)的控制要求下圖所示。
圖2-3 舵機(jī)控制圖
小車的舵機(jī)控制信號(hào)由單片機(jī)的TIM2 CH4通道產(chǎn)生,舵機(jī)通過連桿帶動(dòng)前輪轉(zhuǎn)向,實(shí)現(xiàn)前輪45-135度的轉(zhuǎn)向角度變化。得益于單片機(jī)的強(qiáng)大處理能力和穩(wěn)壓電路供電,實(shí)際使用中轉(zhuǎn)向角度準(zhǔn)確穩(wěn)定且精度高,使小車變得更加靈活。
由于舵機(jī)工作時(shí)所需電流比較大,且波動(dòng)也比較大,根據(jù)實(shí)際情況測(cè)試發(fā)現(xiàn)如果不給舵機(jī)單獨(dú)供電會(huì)對(duì)其他模塊運(yùn)行產(chǎn)生很大影響。給舵機(jī)單獨(dú)供電,不但能提高電壓,增大電流,以提供大的驅(qū)動(dòng)功率,而且能改善單片機(jī)體統(tǒng)供電質(zhì)量,提高抗干擾能力,是一比較優(yōu)化的供電方案。
供電模塊MP1584EN是一個(gè)高頻率的降壓開關(guān)穩(wěn)壓器,具有一個(gè)內(nèi)部集成的高端高壓功率MOSFET,它提供最大3A的電流輸出,輸入輸出壓差可以做大比較大,同時(shí)效率很高,體積很小,該模塊被廣泛應(yīng)用于各種供電電路。簡(jiǎn)化示意圖如下圖所示。
圖2-4 MP1584EN電源模塊圖

2.3.3 藍(lán)牙模塊供電及工作原理

藍(lán)牙模塊HC-05 是一個(gè)可雙向數(shù)據(jù)傳輸?shù)乃{(lán)牙串口模塊,它采用藍(lán)牙 2.0 協(xié)議,可與任何版本的藍(lán)牙兼容通訊,包括與具有藍(lán)牙功能的電腦、藍(lán)牙主機(jī)、手機(jī)、 PDA、PSP 等終端配對(duì),可實(shí)現(xiàn)串口透?jìng)鞴δ堋F渥畲蟮奶攸c(diǎn)是驅(qū)動(dòng) HC-05 模塊時(shí)只需要使用TTL 電平標(biāo)準(zhǔn)的串口即可(5V/3.3V 電壓均可),而且支持的波特率范圍很廣,支持的波特率范圍為 4800~1382400,它的這些特性,非常適合用于單片機(jī)系統(tǒng)擴(kuò)展藍(lán)牙特性。
在小車中,該模塊主要功能是接受手機(jī)藍(lán)牙的信號(hào),然后將該信號(hào)傳給單片機(jī),單片機(jī)經(jīng)過處理后作出相應(yīng)指令。實(shí)際測(cè)試中發(fā)現(xiàn)該模塊同樣對(duì)電源穩(wěn)定性要求較高,因此也才用單獨(dú)供電模塊,原理圖如下。
圖2-5 藍(lán)牙模塊及供電模塊圖
供電模塊MP1584EN是一個(gè)高頻率的降壓開關(guān)穩(wěn)壓器,具有一個(gè)內(nèi)部集成的高端高壓功率MOSFET,它提供最大3A的電流輸出,輸入輸出壓差可以做大比較大,同時(shí)效率很高,體積很小,該模塊被廣泛應(yīng)用于各種供電電路。簡(jiǎn)化示意圖如下圖所示。


2.4 總電路
圖2-6 小車整體電路圖

3 軟件系統(tǒng)設(shè)計(jì)3.1 選擇編程環(huán)境

設(shè)計(jì)中使用的軟件主要有KEIL,Multisim,Visio Studio,Matlab,其中KEIL為主要的軟件環(huán)境,Visio Studio主要用于圖新界面的設(shè)計(jì),Matlab為輔助軟件用于獲取濾波器設(shè)計(jì)的參數(shù),Multisim主要用于電路仿真。

3.2 建立新工程

首先使用KEIL軟件先建立一個(gè)新工程,這里命名為DigitalScope,工程建立步驟如下:

1:打卡KEIL軟件,點(diǎn)擊Project->New uVision Project,新建工程命名為DigitalScope。

  

圖3-1 新建工程

2:選擇所使用的芯片型號(hào),我這里使用的是STM32F407ZET6,所以選擇的是這個(gè)型號(hào);

3:芯片型號(hào)選擇完成后我們就完成了新項(xiàng)目的創(chuàng)建了,工程新建完成后的界面如圖,此時(shí)只是一個(gè)空的項(xiàng)目,什么內(nèi)容都沒有添加。

     

圖3-2 選擇芯片型號(hào)圖 圖3-3 新建空的工程

3.3 添加STM32F4官方驅(qū)動(dòng)文件

由于剛才新建的新項(xiàng)目只是一個(gè)空的項(xiàng)目,接下來我們需要添加ST公司的官方底層驅(qū)動(dòng)庫(kù),ST的官方底層驅(qū)動(dòng)庫(kù)分為庫(kù)函數(shù)版和寄存器版,這里我們采用的是庫(kù)函數(shù)版本,不過在實(shí)際代碼編寫的時(shí)候可以庫(kù)函數(shù)與寄存器混合使用,ST官方驅(qū)動(dòng)庫(kù)的添加方法如下:

1:打開KEIL的工程項(xiàng)目管理器,如圖3.4:

圖3-4 工程項(xiàng)目管理器

2:將Project Target命名為DigitalScope,然后在Groups中新建ST官方底層標(biāo)準(zhǔn)庫(kù)文件組StdPeriph_Driver,并且在Files中添加驅(qū)動(dòng)文件:

圖3-5 新建文件分組以及添加標(biāo)準(zhǔn)庫(kù)文件

3:要使得芯片能夠正常工作。我們還需要添加組基本的啟動(dòng)文件,新建分組MDK-ARM,添加啟動(dòng)文件以及芯片系統(tǒng)文件,如圖所示:

   

圖3-6 添加啟動(dòng)文件


3.4 添加硬件文件


在Keil編寫好的代碼,通過編譯后,下載到單片機(jī)。我們只能看到兩種結(jié)果:第一實(shí)驗(yàn)成功,展現(xiàn)出我們想要的效果;第二實(shí)驗(yàn)不成功,什么效果都沒有看到。失敗的原因是什么,通過硬件測(cè)試,我們無法看到代碼在單片機(jī)內(nèi)部里面如何運(yùn)行、變量是如何傳遞、變量的變化情況等等。由此可見,它的調(diào)試功能是非常強(qiáng)大而且重要的。

圖3-7 Keil MDK軟件界面圖
本次開發(fā)使用的是ST公司最新的HAL庫(kù),并且使用該公司最新推出的圖形化編程軟件STM32CubeMx。HAL庫(kù)對(duì)外設(shè)操作進(jìn)行了細(xì)致的封裝封裝,幾乎所有外設(shè)操作都可以用HAL庫(kù)中函數(shù)實(shí)現(xiàn),讓用戶不用很了解甚至完全不去學(xué)習(xí)外設(shè)細(xì)節(jié)就可以編程操作。對(duì)于熟悉C語(yǔ)言,但第一次接觸STM32甚至單片機(jī)的人來說,使用起來非常方便容易。另外HAL庫(kù)也對(duì)中斷進(jìn)行了一定程度的處理,這讓用戶很大程度上不用理會(huì)中斷函數(shù)了——HAL庫(kù)中已經(jīng)有比較完善的中斷處理函數(shù),只需要聲明回調(diào)函數(shù),在回調(diào)函數(shù)里做相應(yīng)處理就好了。

3.5程序設(shè)計(jì)思路及部分模塊程序

3.5.1 程序總體設(shè)計(jì)思路

眾所周知整個(gè)小車控制系統(tǒng)的程序設(shè)計(jì)采用模塊化的編程思想,整個(gè)主程序的流程圖如圖3-8。
圖3-8 程序邏輯圖
3.5.2 單片機(jī)控制程序設(shè)計(jì)
單片機(jī)主要是用來接收手機(jī)通過串口發(fā)送給藍(lán)牙模塊的數(shù)據(jù),根據(jù)不同的數(shù)據(jù)做出不同的反應(yīng)。如圖3-9所示:
先進(jìn)行初始化設(shè)置,注意串口和藍(lán)牙模塊的波特率一致,本設(shè)計(jì)選取波特率為9600。再判斷接收數(shù)據(jù)“w”“a”“x”“d”“s”分別對(duì)應(yīng)圖3-9的“前進(jìn)”
“左轉(zhuǎn)”“后退”“右轉(zhuǎn)”“停止”。


圖9 控制程序流程圖

3.5.3 調(diào)試藍(lán)牙
HC-05是一個(gè)串口藍(lán)牙通信模塊,內(nèi)部的芯片上封裝了藍(lán)牙通信協(xié)議以及用于調(diào)試的AT指令集,功能是:可以通過藍(lán)牙接受數(shù)據(jù),再?gòu)拇谕ㄐ艆f(xié)議從針腳發(fā)送出去,也可以從串口接受消息,再經(jīng)過芯片用藍(lán)牙發(fā)送出去,相當(dāng)于通信無線到有線通信的一個(gè)橋梁。
AT指令是應(yīng)用于終端設(shè)備與PC應(yīng)用之間的連接與通信的指令。AT即Attention。每個(gè)AT命令行中只能包含一條AT指令;對(duì)于AT指令的發(fā)送,除AT兩個(gè)字符外,最多可以接收1056個(gè)字符的長(zhǎng)度(包括最后的空字符)
我們將藍(lán)牙模塊(HC-05)通過轉(zhuǎn)換器(TTL轉(zhuǎn)USB)連接到電腦上, 在電腦上使用串口調(diào)試軟件(CoolTerm)向藍(lán)牙模塊發(fā)送特定的AT指令來對(duì)藍(lán)牙模塊的一些參數(shù),比如設(shè)備名稱、配對(duì)碼、主從角色等等。
1 將串口藍(lán)牙模塊(HC-05) 與PC相連接
使用 USB轉(zhuǎn)TTL模塊 連接 HC-05,連線如下圖:
連線:GND--GND;5V--5V;RX--TX;TX--RX
要按住RST鍵連接USB,才能進(jìn)入AT調(diào)試模式
按住藍(lán)牙模塊上的RST鍵,插入PC機(jī)的USB口,松開RST鍵,進(jìn)入AT指令調(diào)試模式,標(biāo)志是藍(lán)牙模塊上的紅色指示燈慢速閃爍
如果不按住RST鍵直接連接USB口的話,紅色指示燈會(huì)快速閃爍,標(biāo)志進(jìn)入藍(lán)牙連接模式
2 打開CoolTerm,建立串口通信連接
將藍(lán)牙模塊連接到PC上后,查看設(shè)備管理器,打開CoolTerm軟件,點(diǎn)擊【Options】圖標(biāo)進(jìn)入選項(xiàng)設(shè)置,【Port】選項(xiàng)選擇設(shè)備管理器中CH340對(duì)應(yīng)的端口(根據(jù)電腦的不同,不一定是COM5),【Baudrate】修改為 38400,然后點(diǎn)擊底部的【OK】確定
進(jìn)入設(shè)置,修改端口和波特率
設(shè)置完成后,點(diǎn)擊軟件上方的【Connect】圖標(biāo)
3 使用AT指令調(diào)整藍(lán)牙模塊的參數(shù)
【Connect】成功后,依次點(diǎn)選菜單欄上的【Connection】→【Send String】,會(huì)出現(xiàn)一個(gè)消息發(fā)送框,通過這個(gè)可以向藍(lán)牙模塊發(fā)送AT指令,如下圖:
輸入“AT+回車”
注意,使用AT指令的時(shí)候一定要回車到第二行再點(diǎn)擊【Send】發(fā)送
AT指令集
分別輸入如下指令,查看設(shè)備的當(dāng)前狀況
“AT”:回復(fù)“OK”,說明設(shè)備正常。
“AT+UART”:查看設(shè)備的串口通信參數(shù),本實(shí)驗(yàn)?zāi)K藍(lán)牙模式的波特率為9600
“AT+ADDR”:查看設(shè)備的藍(lán)牙地址
“AT+ROLE”:查看設(shè)備的主從轉(zhuǎn)臺(tái),“0”為從模式,“1”為主模式
“AT+PSWD”:查看設(shè)備當(dāng)前的配對(duì)碼,默認(rèn)是1234
“AT+NAME”:查看設(shè)備當(dāng)前的名稱,默認(rèn)是 HC-05
“AT+RESET”:重啟設(shè)備
用AT指令配置設(shè)備
發(fā)送完上述AT指令查看完設(shè)備信息后,需要根據(jù)你的情況修改一些設(shè)備信息,方法是,在相應(yīng)的AT指令后加“=”號(hào),輸入要修改的信息即可,本項(xiàng)目主要修改信息如下例
  •                               “AT+ROLE=0”:設(shè)置藍(lán)牙設(shè)備為從模式
  •                               “AT+PSWD=123456”:修改配對(duì)碼為123456,用戶自定義
  •                               “AT+NAME=Carduino”:修改名稱為Carduino,用戶自定義
  •                               “AT+UART=9600,0,0”:修改藍(lán)牙工作狀態(tài)波特率為9600,無停止位和校驗(yàn)位
注意!每次都要回車到第二行再點(diǎn)擊“Send”
由于硬件存在一定的缺陷,HC-05藍(lán)牙模塊在設(shè)置【NAME】參數(shù)時(shí)會(huì)有些問題,可能需要多設(shè)置幾次
如果改名不成功,請(qǐng)使用“AT+ADDR”查詢藍(lán)牙設(shè)備地址,在手機(jī)上根據(jù)搜索到的設(shè)備地址來連接藍(lán)牙模塊
4 下載安裝BlueSPP軟件,設(shè)置按鍵消息
BlueSPP是一個(gè)手機(jī)端的藍(lán)牙串口通訊通信工具,可以連接藍(lán)牙設(shè)備,通過串行通訊協(xié)議發(fā)送消息,打開APP。
進(jìn)入BlueSPP,連接設(shè)備,如圖:

點(diǎn)右上角圖標(biāo)搜索設(shè)備并連接,如圖:
輸入事先配置的配對(duì)碼,APP首頁(yè)可以在聊天窗口中向設(shè)備發(fā)送消息,右滑,進(jìn)入自定義鍵盤頁(yè)面,每個(gè)按鈕的“名稱”可定義,按鈕對(duì)應(yīng)的“按下”,“松開”事件都可配置成發(fā)送特定消息。
配置按鈕“左轉(zhuǎn)”,其余配置如圖表。
[td]
按鍵名稱
按下發(fā)送
松開發(fā)送
前進(jìn)
w

后退
x
s
左轉(zhuǎn)
a
w
右轉(zhuǎn)
d
w
停止
s

配置完成,就可以采用BlueSPP控制小車前進(jìn)轉(zhuǎn)向了。

4 總結(jié)
本文根據(jù)設(shè)計(jì)內(nèi)容和要求,制定了設(shè)計(jì)方案,并逐步完成了硬件和軟件部分的設(shè)計(jì)。整個(gè)系統(tǒng)以STM32為主控芯片,實(shí)現(xiàn)對(duì)小車簡(jiǎn)單運(yùn)動(dòng)的控制,其中硬件部分包括STM32F103及外圍電路、電平轉(zhuǎn)換電路、電機(jī)驅(qū)動(dòng)電路、舵機(jī)控制電路,完成各部分電路設(shè)計(jì)并使用Altium Designer14畫出電路設(shè)計(jì)原理圖;軟件部分在STM32集成開發(fā)環(huán)境Keil MDK下編寫各模塊程序,整個(gè)設(shè)計(jì)將硬件與軟件相結(jié)合,實(shí)現(xiàn)對(duì)小車的控制,使小車能夠做出前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等動(dòng)作,基本完成一個(gè)遙控小車該有的功能。論文基本完成了硬件和軟件的設(shè)計(jì),并使之符合設(shè)計(jì)要求。
本設(shè)計(jì)與實(shí)際應(yīng)用相結(jié)合,隨著智能控制技術(shù)與傳感檢測(cè)技術(shù)的飛速發(fā)展,作為智能機(jī)器人雛形的智能小車在探測(cè)、考古、娛樂各領(lǐng)域得到廣泛應(yīng)用,尤其在足球機(jī)器人研究方面有很好的發(fā)展前景。在智能機(jī)器人發(fā)展如火如荼之期,智能小車控制系統(tǒng)的研制為其提供了更有利的研制手段和方法,將有助于推動(dòng)智能機(jī)器人的發(fā)展。由于初次接觸STM32F10x系列芯片,對(duì)其先進(jìn)的中斷響應(yīng)系統(tǒng)未能很好掌握,傳感信號(hào)的接收選擇了一般I/O口,不過基于STM32F103的高性能,其反應(yīng)速度還是可以滿足設(shè)計(jì)要求,但要充分利用芯片資源及更好的實(shí)時(shí)控制在這部分還有待改進(jìn);另外,對(duì)于小車行走中遇到障礙物的處理還未能實(shí)現(xiàn)?偟膩碚f,設(shè)計(jì)方案是比較完善的,基本上達(dá)到了設(shè)計(jì)要求。
最后,在軟硬件的結(jié)合下,制作出了實(shí)物,如下圖所示:

圖3-12 小車實(shí)物圖


基于STM32的藍(lán)牙遙控小車設(shè)計(jì) .doc

3.36 MB, 下載次數(shù): 22, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表