STM32F4编码器测速
生活随笔
收集整理的這篇文章主要介紹了
STM32F4编码器测速
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?使用外部時鐘模式進(jìn)行電機(jī)測速。
定時器配置
我使用的是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, 開始計(jì)數(shù)注意要根據(jù)自己的電機(jī)轉(zhuǎn)速設(shè)置分頻系數(shù),可以直接設(shè)置PSC進(jìn)行分頻。
速度獲取
可以使用一個另一個定時器中斷讀取計(jì)數(shù)器來獲取單位時間內(nèi)轉(zhuǎn)速,從而計(jì)算出電機(jī)實(shí)際轉(zhuǎn)速。(這部分程序在定時器中斷里)
speed = TIM3->CNT;TIM3->CNT = 0;記得讀完后計(jì)數(shù)器清零。
?
總結(jié)
以上是生活随笔為你收集整理的STM32F4编码器测速的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纯虚类(virtual class)和纯
- 下一篇: 深度学习在雷达、无线通信领域应用