一、簡介
接觸STM32開發(fā)一段時間了,想用STM32做一個有意思的項目,經(jīng)歷了無數(shù)的調(diào)參調(diào)參再調(diào)參,終于讓它站穩(wěn)了,接一下就一步步的跟大家介紹一下,項目的整體實現(xiàn)過程—
二、項目介紹
STM32平衡小車是一種基于STM32芯片的智能小車,它可以通過自動控制來保持平衡,使其可以在不同的地形上穩(wěn)定行駛。其使用范圍非常廣泛。需要用到一些基本的硬件組件,例如電機、輪子、陀螺儀、加速度計、電池等。通過設計的電路板進行連接,組成一個完整的系統(tǒng)。
三、硬件設計
根據(jù)上述需求,我進行了電路圖設計
四、軟件設計
4.1電機驅動編寫
4.1.1電機引腳說明
編碼電機
引腳說明:
M1電機電源線(12V) |
GND編碼器地線 |
C1電機編碼器A相 |
C2電機編碼器B相 |
VCC編碼器電源3.3V |
M2電機電源線(12V) |
4.1.2電機驅動模塊說明
TB6612FNG電機驅動模塊
VCC:電源正極,一般接5V或3.3V電源。 |
GND:電源負極,接地。 |
AIN1:H橋A口輸入1,接控制信號。 |
AIN2:H橋A口輸入2,接控制信號。 |
PWMA:A口PWM輸入,控制A口輸出占空比。 |
STBY:H橋使能信號,高電平使能,低電平關閉。 |
AO1:H橋A口輸出1,接電機正極。 |
AO2:H橋A口輸出2,接電機負極。 |
BIN1:H橋B口輸入1,接控制信號。 |
BIN2:H橋B口輸入2,接控制信號。 |
PWMB:B口PWM輸入,控制B口輸出占空比。 |
BO1:H橋B口輸出1,接電機正極。 |
BO2:H橋B口輸出2,接電機負極。 |
根據(jù)原理圖將對應硬件連接,接下來我們開始測試
4.1.3電機驅動實戰(zhàn)
我們給PWMA、PWMB引腳輸出PWM信號,控制電機轉速,AO1、AO2、BO1、BO2設置位正轉
真值表
AO1 | AO2 | BO1 | BO2 |
1 | 0 | 1 | 0 |
以上主要通過引腳控制電機轉動方向,下面講一下STM32輸出PWM原理
4.1.3.1 PWM原理
STM32通過初始化PA8、PA11這兩個引腳,復用為TIM脈沖寬度調(diào)制模式1,通過修改TIM1通道1、4的寄存器存放數(shù)值,來控制PWM的輸出脈寬。
#define PWMA TIM1->CCR1 //PA8
#define PWMB TIM1->CCR4 //PA11
通過以上設置,實現(xiàn)對電機轉速、方向的控制
五、效果演示
審核編輯黃宇
-
STM32
+關注
關注
2282文章
10981瀏覽量
360900 -
平衡車
+關注
關注
7文章
80瀏覽量
27311
發(fā)布評論請先 登錄
相關推薦
基于STM32的雙輪平衡小車設計
基于STM32設計的智能平衡小車源代碼免費下載
【STM32】兩輪自平衡小車學習筆記1

平衡小車調(diào)試總結

評論