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