一、簡(jiǎn)介
接觸STM32開(kāi)發(fā)一段時(shí)間了,想用STM32做一個(gè)有意思的項(xiàng)目,經(jīng)歷了無(wú)數(shù)的調(diào)參調(diào)參再調(diào)參,終于讓它站穩(wěn)了,接一下就一步步的跟大家介紹一下,項(xiàng)目的整體實(shí)現(xiàn)過(guò)程—
二、項(xiàng)目介紹
??? STM32平衡小車是一種基于STM32芯片的智能小車,它可以通過(guò)自動(dòng)控制來(lái)保持平衡,使其可以在不同的地形上穩(wěn)定行駛。其使用范圍非常廣泛。需要用到一些基本的硬件組件,例如電機(jī)、輪子、陀螺儀、加速度計(jì)、電池等。通過(guò)設(shè)計(jì)的電路板進(jìn)行連接,組成一個(gè)完整的系統(tǒng)。
三、硬件設(shè)計(jì)
根據(jù)上述需求,我進(jìn)行了電路圖設(shè)計(jì)
四、軟件設(shè)計(jì)
4.1?電機(jī)驅(qū)動(dòng)編寫(xiě)
4.1.1?電機(jī)引腳說(shuō)明
編碼電機(jī)
引腳說(shuō)明:
M1電機(jī)電源線(12V) |
GND編碼器地線 |
C1電機(jī)編碼器A相 |
C2電機(jī)編碼器B相 |
VCC編碼器電源3.3V |
M2電機(jī)電源線(12V) |
4.1.2?電機(jī)驅(qū)動(dòng)模塊說(shuō)明
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)硬件連接,接下來(lái)我們開(kāi)始測(cè)試
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 |
以上主要通過(guò)引腳控制電機(jī)轉(zhuǎn)動(dòng)方向,下面講一下STM32輸出PWM原理
4.1.3.1 PWM原理
?????? STM32通過(guò)初始化PA8、PA11這兩個(gè)引腳,復(fù)用為T(mén)IM脈沖寬度調(diào)制模式1,通過(guò)修改TIM1通道1、4的寄存器存放數(shù)值,來(lái)控制PWM的輸出脈寬。
#define PWMA? ?TIM1->CCR1? //PA8
#define PWMB? ?TIM1->CCR4? //PA11
通過(guò)以上設(shè)置,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)速、方向的控制
五、效果演示
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-743135.html
審核編輯?黃宇文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-743135.html
到了這里,關(guān)于基于STM32的平衡小車設(shè)計(jì)過(guò)程分享(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!