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