基于stm32的两轮自平衡小车1(模块选型篇)
有一段時間沒有更新博客了,最近一段時間都在忙畢業(yè)和實習,閑暇的時候也在學習怎么寫公眾號推文,實在慚愧。畢業(yè)設計做的是平衡小車,這幾天某寶買的器件還不知所蹤,新的PCB電路板又不想畫,所以在想要不把做過的過程回顧一次,以后好寫論文。該項目會分“模塊選型篇”、“原理篇”、“硬件篇”和“軟件調試篇”(立好flag,希望自己能好好完成)。由于博主水平有限,都是自己網上找資料找代碼學習的,如果有地方描述不清晰,請各位大佬指正或者與我一同討論。想獲取源碼嗎?去我的簡介找“于此生”吧,我把一切都放在那里了。
這里先列出平衡小車的模塊組成。平衡小車的模塊組成比較簡單,主要包含以下模塊:
- 主控模塊
- 電機驅動模塊
- MPU6050模塊
- 藍牙通信模塊
- 降壓模塊
主控模塊:
主控模塊選擇的是stm32f103c8t6,一塊比較通用的模塊,功能也比較強大,我這塊主控板是在某寶買的,自帶1.44寸TFT-LCD顯示屏接口,方便調試,如圖所示:
該核心板體積較小,它的主頻是72MHz,48個管腳,內部有三路通用定時器和一路高級定時器,并帶有3路串口和兩路IIC/SPI輸出,用來做平衡小車的主控是合格的。
電機驅動模塊
電機驅動模塊選擇的是A4950模塊。該模塊上集成兩個A4950芯片,單芯片內部集成MOS全橋電路,可以使用一個芯片控制電機的正反轉。如下圖所示:
這種電機驅動模塊的用法類似于L298N,也是四路IN PWM輸入、四路OUT輸出,其驅動電壓為7.6V-40V,。當初選擇這個模塊就因為某寶店家里的宣傳:“性能遠超TB6612”…說實話,用起來確實還不錯的。
MPU6050模塊
眾所周知平衡小車是靠兩個輪子晃來晃去…來保持平衡的,即小車有向一邊倒下的趨勢的時候就馬上向倒下那一邊加速,小車向一邊傾斜的時候會出現(xiàn)一個傾角,那個獲取這個傾角對于保持平衡來說至關重要。這里選用MPU6050傳感器模塊來獲取平衡傾角,如下圖所示:
該模塊是某點原子店鋪買的,使用的是IIC通信,結合DMP庫比較能容易獲取角度。
藍牙通信模塊
如果通過上面的模塊基本可以實現(xiàn)平衡小車的直立控制了,但要是想實現(xiàn)轉向控制,還需要加轉向環(huán)。平衡小車由直立環(huán)、速度環(huán)和轉向環(huán)三個控制邏輯環(huán)組成,直立環(huán)是平衡小車最重要的一環(huán),是整個平衡小車的基礎;轉向環(huán)則是實現(xiàn)小車轉彎的一環(huán)。通常利用上位機與平衡小車的交互來來控制轉向,這里使用的是藍牙模塊,HC-05/HC-06 /SPP-C這些通用的型號都可以用,藍牙模塊通過串口通信來傳輸數(shù)據(jù),使用起來比較簡單,模塊如圖所示:
降壓模塊
平衡小車使用三節(jié)3.7V18650電池供電,電機驅動模塊的驅動電壓為12V,主控和傳感器的驅動電壓為5V,因此需要進行降壓,才能滿足整個電路的電源使用。這里選擇的是LM2596S降壓模塊,如下圖所示:
該模塊自帶數(shù)碼管顯示電壓,輸入為3.5V–40V,3V–35V可調輸出,方便二次開發(fā)。
主要模塊選型就介紹到這里,這里先放一張完成的效果圖:
硬件還是比較粗糙,所以就想重新做硬件,盡量完善!下一篇是原理篇,盡快更新…吧。
總結
以上是生活随笔為你收集整理的基于stm32的两轮自平衡小车1(模块选型篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序--公共组件使用
- 下一篇: C++作业 设计一个程序实现油桶面积与体