基於STM32的智慧型小車(一)

2021-10-04 22:47:16 字數 3198 閱讀 8622

##基於stm32的智慧型小車

在假期自學了stm32,一直想做乙個智慧型小車,剛好這次有時間就在家自己製作了這個基於stm32的智慧型小車,小車基本功能包括循跡、壁障及手機藍芽控制,本人是第一次製作小車,有不對的,望大牛指教。

一、製作產品基本材料清單

(1) stm32c8t6核心板				一塊

(2) l298n電機驅動 乙個

(3) hc-08藍芽模組 乙個

(4) 紅外壁障模組 兩個

(5) 紅外循跡模組 兩個

(6) hy-srf05超聲波模組 乙個

(7) sg90舵機 乙個

(8) 電源轉換模組 乙個

(9) 18650供電電池 兩節

(10) 帶電機輪子的小車支架 乙個

(11) 電子產品專用膠 一支

(12) 蜂鳴器模組 乙個

(13) led燈 若干

(14) 六角銅柱、螺絲(為了固定各模組)若干

如果有朋友遇到,將別人的**在自己的軟體上執行出現不相容的情況,可以參考一下這位大佬的方法:

keil不相容工程的解決辦法

二、各 模 塊 介 紹

l298n電機驅動;

這個模組很簡單,非常適合直流電機使用,當然要用步進電機的話就需要換乙個驅動了,

買來的驅動都是已經設定好的,這裡只需要接上12供電,這裡我使用的是兩節18650電池進行供電,in1到in4是驅動的4個輸入訊號通道,通道a是in1和in2的對應輸出通道,通道b是in3和in4對應的輸出通道,通道a正對人臉的左邊是out1右邊是out2,同理,通道b輸出口正對人臉,左邊是out3,右邊是out4。

hc-08藍芽模組;

我是活動打折購買的初學者**,當時購買的時候花了8塊錢,現在已經28了,還是比較值的,這個模組是非常好用的一款藍芽模組,傳輸距離較前面幾代產品有了很大的提公升,使用時不需要管內部藍芽是如何通行的,只需要會使用微控制器的串列埠將藍芽模組傳輸過來的資料接受並將資料通過串列埠傳送給藍芽模組,模組自動與手機進行資料傳輸。

在這兒,需要提醒注意的時,串列埠的tx、rx與微控制器的rx、tx交叉連線(即tx–>rx,rx–>tx)

模組的key鍵和sta鍵一般情況不用接,只需要接vcc、ged、tx、rx即可。

紅外模組;

第乙個是循跡模組,第二個是壁障模組,由於兩個使用原理一樣,我就一起介紹了。原理是:模組會發出紅外光線,當前方有物體就會將傳送出去的紅外光線反射回來,當模組接受到反射的訊號時就會輸出低電平,為反射或反射訊號太小模組輸出乙個高電平訊號。

循跡功能就是利用黑色會吸收紅外訊號使模組輸出乙個高電平,當系統檢測到模組輸出高電平時就可以控制電機做相應的轉動了。

同樣的,紅外壁障模組就是小車在靠近牆或者前方障礙物時,模組接收到反射的紅外資訊輸出乙個低電平控制小車。

第乙個循跡模組的a0埠一般情況不接,第二個紅外壁障模組的接線方法與循跡模組一樣的:

vcc–>vcc gnd–>gnd out(d0)–>微控制器i/o引腳

hy-srf05超聲波模組;

基本工作原理:

(1)採用io口trig觸發測距,給最少10us的高電平信呈。

(2)模組自動傳送8個40khz的方波,自動檢測是否有訊號返回;

(3)有訊號返回, 通過io口echo輸出乙個高電平, 高電平持續的時間就是超聲波從發射到返回的 時間。 測試距離=(高電平時間*聲速(340m/s))/2。

sg90舵機;

深入了解可以參考一下這位博主的:sg90舵機詳細介紹

接線說明:

橙色–>訊號線  

紅色–>正極 

棕褐色–>負極

控制說明:

舵機的控制需要乙個20ms的時基脈衝,該脈衝的高電平部分一般為0.5ms~2.5ms範圍內的角度控制脈衝部分:

t = 0.5ms——————-舵機會轉動 0 °

t = 1.0ms——————-舵機會轉動 45°

t = 1.5ms——————-舵機會轉動 90°

t = 2.0ms——————-舵機會轉動 135°

t = 2.5ms——————-舵機會轉動180°

我設定的是在轉90度的時候作為舵機的正前方,這樣就能實現讓舵機左右轉了。

好了,經過上面的分析我們可以開始寫程式了,思路如下:

利用定時器輸出乙個占空比可調的pwm,且這個pwm的週期為20ms。

7. 電源轉換模組;

在某寶上搜尋電源模組就出來了,**不貴,幾塊錢,買的時候最好多買乙個,這個模組比較嬌貴,線路接錯就燒壞了。

可以提供5v、3.3v電壓輸出,還有乙個輸出介面的電壓值與輸入電壓值一樣,這個**拿來給電機驅動l198n供電。

8. 18650供電電池。

購買的時候建議,購買兩節18650電池、裝在小車上的電池盒以及電池充電器,這是乙個可充電電池,以便迴圈使用。

10. 小車底盤支架

這是我購買的小車底盤套件,質量槓槓的,買小車贈送的電池盒沒用上,我自己又買了乙個配合18650電池的電池盒。

stm32 藍芽 智慧型小車

電源問題已經解決,還是18650更給力,兩節就可以達到8v上下。原來是模仿網上下的模板,把模板燒進去發現並沒有成功,所以就把原來寫的 全部推翻,重新開始寫。其實寫乙個工程,最快的方法並不是一口氣把所有東西都給新增上,因為一旦出現錯誤,當然肯定會出現錯誤,根本不知道從 下手改bug,所以還不如乙個乙個...

基於STM32的智慧型循跡小車設計(基礎版)

選擇的是tcrt500l,五路整合在一起,整合度比較高,但是可能不如五個單獨的循跡模組好用 5 l298n電機驅動模組 四驅車為啥用l298n電機驅動模組?可以把左邊的兩個電機併聯,用輸出a控制。把右邊的兩個電機併聯,用輸出b控制。12v供電接電源正極,供電gnd接電源負極和核心板gnd,5v供電接...

基於STM32智慧型分揀快遞小車控制設計 畢設資料

附件內容提供ad格式原理圖pcb工程檔案,用altiumdesigner開啟。程式採用c語言編寫,通過keil軟體編譯,檔案為工程源 u8 x value 0 目的座標 u8 y value 0 u8 scanflag 0 掃面標誌 u16 qr image width 輸入識別影象的寬度 長度 寬...