網(wǎng)站開發(fā) 旅游/電腦版百度
一、電機(jī)分類
二、直流電機(jī)的分類
1.有刷電機(jī)
2.無刷電機(jī)
3.直流減速電機(jī)
三、H橋電路
正向旋轉(zhuǎn)
驅(qū)動(dòng)Q1和Q4
反向旋轉(zhuǎn)
驅(qū)動(dòng)Q2和Q3
四、MC3386電機(jī)驅(qū)動(dòng)芯片
1.基本原理圖
1)前進(jìn)/后退:IN1和IN2的電平順序決定電機(jī)的正反轉(zhuǎn)
2)調(diào)節(jié)速度:高電平引腳的電壓值決定電機(jī)轉(zhuǎn)動(dòng)的速度(通過MCU輸入的PWM的占空比決定的)
2.PWM應(yīng)用
占空比:高電平占整個(gè)周期的比例
3.輸出比較功能框圖
ARR:決定周期
CCR:決定占空比(高電平的大小)
五、PWM實(shí)驗(yàn)
1.引腳分配
2.使用CubeMX
將PC3和PA3設(shè)置為Output,將PA2設(shè)置為定時(shí)器,輸入為PWM波
3.代碼編寫
1.設(shè)置為正轉(zhuǎn)
PC3輸出高電平,PA3輸出低電平
2.設(shè)置PWM波(設(shè)置速度)
1.開啟定時(shí)器
2.設(shè)置PWM
通過設(shè)置CCR(捕獲/比較寄存器),來控制小車的速度
我們將PWMA初始化為800
由實(shí)驗(yàn)現(xiàn)象可以知道:只有到轉(zhuǎn)速為1300/8000,電機(jī)才開始轉(zhuǎn)動(dòng)
六、增量式編碼器
1.工作原理
有多少個(gè)光柵盤就可以產(chǎn)生多少個(gè)PWM波
2.STM32-編碼器實(shí)驗(yàn)
如何通過其輸出來進(jìn)行判斷輸出為高電平還是低電平???通過判斷脈沖相位【A相和B相相差90度】
3.STM32編碼器接口
當(dāng)電機(jī)正向轉(zhuǎn)動(dòng)時(shí),CNT向上計(jì)數(shù)
當(dāng)電機(jī)反向轉(zhuǎn)動(dòng)時(shí),CNT向下計(jì)數(shù)
4.實(shí)驗(yàn)
1.引腳分配
2.CubeMX設(shè)置
3.代碼編寫
啟動(dòng)編碼器
TIM->CNT---->實(shí)際上編碼器的計(jì)數(shù)值就是CNT的計(jì)數(shù)值
正轉(zhuǎn)一圈:600-700左右(向上計(jì)數(shù)器)
反轉(zhuǎn)一圈:64900-64800左右(向下計(jì)數(shù)器)
?視頻鏈接:
【一節(jié)課秒懂】輕松掌握STM32電機(jī)驅(qū)動(dòng)開發(fā)_嗶哩嗶哩_bilibili
七、動(dòng)手編寫
參考博客:
https://www.cnblogs.com/Wilson-hhx/p/10467945.html
https://blog.csdn.net/qq_57707070/article/details/124936006
【STM32】Hal庫(kù)學(xué)習(xí)——PWM驅(qū)動(dòng)電機(jī)_hal_tim_pwm_start-CSDN博客
1.使用STM32g070RBTx型號(hào)的單片機(jī)
2.設(shè)置CubeMX
我們想要使用PWM的輸入占空比來設(shè)置電機(jī)的輸出速度,則將使MOTOR_L_S&&MOTOR_R_S)設(shè)置為PWM(定時(shí)器部分)
其他引腳設(shè)置為輸出引腳即可
由于需要雙路輸出,設(shè)定PB5,PB4分別通過TIM3-CH2,TIM3-CH1進(jìn)行PWM輸出
同時(shí)PB6,3,1,2輸出來控制電機(jī)轉(zhuǎn)動(dòng)
3.啟動(dòng)定時(shí)器
4.編寫中斷回調(diào)函數(shù)
當(dāng)達(dá)到計(jì)數(shù)值就會(huì)進(jìn)入這個(gè)中斷回調(diào)