當前位置:
首頁 >
STM32F4编码器测速
發布時間:2024/3/24
46
豆豆
生活随笔
收集整理的這篇文章主要介紹了
STM32F4编码器测速
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?使用外部時鐘模式進行電機測速。
定時器配置
我使用的是TIM3的外部時鐘模式1。? ? ??
使用外部時鐘源模式,由于CubeMX的配置并不起作用,所以我自己對照參考手冊自己配置寄存器。如下圖
?
(外部時鐘模式1)
(外部時鐘模式2)
配置代碼如下
TIM3->SMCR |= 0x07; // 選擇外部時鐘模式1TIM3->CCMR1 |= 0x01; TIM3->CCMR1 &= ~0x02; // TIM3_CCMR1 CC1S = 01, CC1 -> TI1TIM3->CCMR1 &= ~(0x0F << 4); // TIM3_CCMR1 IC1F = 0000, 不濾波TIM3->CCER &= ~(0x01 << 1); // TIM3_CCER CC1P = 0TIM3->CCER &= ~(0x01 << 3); // TIM3_CCER CC1NP = 0, 上升鹽TIM3->SMCR |= 0x07; // TIM3_SMCR SMS = 111, 外部時鐘模式1TIM3->SMCR |= 0x05 << 4;TIM3->SMCR &= ~(0x01 << 5); // TIM3_SMCR TS = 101, TI1FP1TIM3->CR1 |= 0x01; // TIM3_CR1 CEN = 1, 開始計數注意要根據自己的電機轉速設置分頻系數,可以直接設置PSC進行分頻。
速度獲取
可以使用一個另一個定時器中斷讀取計數器來獲取單位時間內轉速,從而計算出電機實際轉速。(這部分程序在定時器中斷里)
speed = TIM3->CNT;TIM3->CNT = 0;記得讀完后計數器清零。
?
總結
以上是生活随笔為你收集整理的STM32F4编码器测速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯虚类(virtual class)和纯
- 下一篇: 【2019春招准备:108.storm(