国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【STM32】【HAL庫】定時(shí)器編碼器模式測速

這篇具有很好參考價(jià)值的文章主要介紹了【STM32】【HAL庫】定時(shí)器編碼器模式測速。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

概述

HAL設(shè)置

?定時(shí)器的編碼器模式

定時(shí)器設(shè)置

?常用函數(shù)

代碼


概述

電機(jī)AB相增量型編碼器的介紹和解碼方法在這里介紹過了

電機(jī)編碼器https://blog.csdn.net/m0_57585228/article/details/125791283

測速可以使用外部中斷進(jìn)行脈沖計(jì)數(shù)

很多型號的單片機(jī)中有專門的電路來計(jì)算脈沖的速度和方向,也就是定時(shí)器的編碼器模式

因?yàn)槭怯布?jì)數(shù),所以計(jì)數(shù)頻率可以很高,性能比軟件來的好,使用也比較方便

但是需要連接到指定的GPIO

這里以常見的4倍頻測速 為例子進(jìn)行設(shè)置

HAL設(shè)置

要開啟:

定時(shí)器的編碼器模式

定時(shí)器中斷

一個(gè)周期性的定時(shí)器及中斷

?定時(shí)器的編碼器模式

開啟編碼器模式

【STM32】【HAL庫】定時(shí)器編碼器模式測速

?編碼器的設(shè)置

【STM32】【HAL庫】定時(shí)器編碼器模式測速

【STM32】【HAL庫】定時(shí)器編碼器模式測速??

?解釋一下

Polarity:是表示在哪個(gè)邊沿(上升沿或者下降沿)更新數(shù)值

這個(gè)比較容易被誤解,不管選擇哪個(gè),都是會在兩種邊沿進(jìn)行計(jì)數(shù)

只是表示在哪個(gè)邊沿進(jìn)行更新數(shù)值

定時(shí)器設(shè)置

間隔一個(gè)固定的時(shí)間產(chǎn)生中斷,這里設(shè)置的是10ms

【STM32】【HAL庫】定時(shí)器編碼器模式測速

【STM32】【HAL庫】定時(shí)器編碼器模式測速

?常用函數(shù)

看這個(gè)的對應(yīng)部分https://mp.csdn.net/mp_blog/creation/editor/125279297

代碼

在main的初始化后循環(huán)之前加入

    HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL); //開啟編碼器模式
    HAL_TIM_Base_Start_IT(&htim2);                  //開啟編碼器的中斷
    HAL_TIM_Base_Start_IT(&htim3);                  //開啟定時(shí)器的中斷

中斷回調(diào)函數(shù)

int32_t Speed = 0;
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    int16_t zj;
    if (htim == &htim2) //編碼器
    {
    }
    else if (htim == &htim3) //計(jì)算轉(zhuǎn)速10ms
    {
        zj = __HAL_TIM_GetCounter(&htim2);//獲取計(jì)數(shù)值
        __HAL_TIM_SetCounter(&htim2, 0);//清空計(jì)數(shù)值
        Speed = (float)zj / (4 * 96) * 100 * 60;//計(jì)算轉(zhuǎn)速
        printf("%d\r\n", Speed);//輸出轉(zhuǎn)速
    }
}

?在這個(gè)函數(shù)中根據(jù)之前的公式計(jì)算處轉(zhuǎn)速

這里要注意:

1.數(shù)據(jù)范圍,不能溢出

2.正數(shù)代表正轉(zhuǎn),負(fù)數(shù)代表反轉(zhuǎn)

3.需要加入強(qiáng)轉(zhuǎn)(float),因?yàn)樯婕暗搅顺ǎ枰苊獬霈F(xiàn)因?yàn)樯崛ノ粩?shù),導(dǎo)致一直出現(xiàn)0

(或者乘法放到前步)

到最后給速度賦值時(shí)在進(jìn)行丟失小數(shù)位(當(dāng)然也可以直接用小數(shù)進(jìn)行運(yùn)算)文章來源地址http://www.zghlxwxcb.cn/news/detail-417501.html

到了這里,關(guān)于【STM32】【HAL庫】定時(shí)器編碼器模式測速的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【單片機(jī)】STM32單片機(jī)讀取旋轉(zhuǎn)編碼器,TIM定時(shí)器編碼器模式捕獲,程序

    【單片機(jī)】STM32單片機(jī)讀取旋轉(zhuǎn)編碼器,TIM定時(shí)器編碼器模式捕獲,程序

    旋轉(zhuǎn)編碼器簡單來說,就是會輸出2個(gè)PWM,依據(jù)相位可以知道旋轉(zhuǎn)方向,依據(jù)脈沖個(gè)數(shù)可以知道旋轉(zhuǎn)的角度。一般旋轉(zhuǎn)一圈有一個(gè)固定數(shù)值的脈沖個(gè)數(shù)。 旋轉(zhuǎn)編碼器廣泛用于電機(jī)、或者角度傳感器,STM32的定時(shí)器可以直接接入這兩個(gè)波形獲取到信息。 前兩個(gè)引腳(接地和Vcc)

    2024年02月13日
    瀏覽(22)
  • STM32定時(shí)器捕獲編碼器模式測速和方向測不準(zhǔn)問題

    STM32定時(shí)器捕獲編碼器模式測速和方向測不準(zhǔn)問題

    ** 問題概述 關(guān)于STM32編碼器模式電機(jī)測速的資料網(wǎng)上一抓一大把,卻發(fā)現(xiàn)真的拿過來用還是有問題的,比如剛剛做了個(gè)東西,是個(gè)個(gè)頭比較大的麥克納姆輪車,控制運(yùn)動(dòng)就需要精確的測量轉(zhuǎn)速和方向,我用的是直流有刷、減速比90、11線霍爾編碼器的減速電機(jī)。 原本想著用個(gè)

    2024年02月15日
    瀏覽(30)
  • 初出茅廬的小李博客之STM32CubeMx配置定時(shí)器的編碼器模式

    初出茅廬的小李博客之STM32CubeMx配置定時(shí)器的編碼器模式

    上次文章寫了編碼器是如何工作的,今天就來用STM32F103C8T6的TIM3的通道1跟通道2編寫一個(gè)編碼器識別程序。 話不多說,上教程! 選擇外部高速時(shí)鐘源HSE 選擇中斷模式觸發(fā)下降沿有效 默認(rèn)是上拉輸入 添加用戶標(biāo)簽為SWITCH 使能NVIC配置 選擇編碼器模式 分頻值設(shè)置為2-1 計(jì)數(shù)值設(shè)

    2024年02月12日
    瀏覽(26)
  • STM32一個(gè)定時(shí)器同時(shí)配置編碼器和PWM輸出時(shí)PWM無法正常輸出的原因【避坑】

    STM32一個(gè)定時(shí)器同時(shí)配置編碼器和PWM輸出時(shí)PWM無法正常輸出的原因【避坑】

    ? ? ? ? ?最近我在做寫代碼的時(shí)候,因?yàn)槎〞r(shí)器的資源緊張,就在一個(gè)定時(shí)器上同時(shí)配置了編碼器和PWM,發(fā)現(xiàn)PWM無法正常輸出,查了很久發(fā)現(xiàn)網(wǎng)上資料不多,在仔細(xì)翻閱手冊研究后才發(fā)現(xiàn)是 時(shí)鐘信號 的問題。 具體原因 定時(shí)器在設(shè)置編碼器模式后,計(jì)數(shù)的時(shí)鐘源就會變成編

    2024年02月04日
    瀏覽(23)
  • stm32編碼器電機(jī)測速(hal庫)

    stm32編碼器電機(jī)測速(hal庫)

    記錄一下今天參考別人的代碼實(shí)現(xiàn)了四個(gè)電機(jī)的測速。 ? 編碼器被廣泛應(yīng)用于電機(jī)測速,實(shí)現(xiàn)電機(jī)閉環(huán)控制 。所以不論是自己做小車還是后續(xù)參加各種比賽,必須要學(xué)會編碼器測速。 ????????編碼電機(jī)其實(shí)就是一個(gè)帶有編碼器的電機(jī),我的這個(gè)電機(jī)是一個(gè)帶霍爾傳感器的

    2024年02月13日
    瀏覽(36)
  • STM32 HAL庫 AS5600編碼器程序

    STM32 HAL庫 AS5600編碼器程序

    提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 STM32 HAL庫 AS5600編碼器程序 提示:這里可以添加本文要記錄的大概內(nèi)容: AS5600磁性旋轉(zhuǎn)位置編碼器是一款可編程、12位高分辨率、非接觸式的設(shè)備,具有卓越的可靠性和耐久性。這個(gè)旋轉(zhuǎn)位置傳感器提供

    2024年02月20日
    瀏覽(33)
  • stm32 HAL庫 4096線ABZ編碼器

    stm32 HAL庫 4096線ABZ編碼器

    @[TOC]目錄 買的是這個(gè) AB相代表計(jì)數(shù)方向,Z代表過零點(diǎn) 也可以選上DMA 中斷 找一個(gè)空閑管腳 打開對應(yīng)中斷 用DMA 過機(jī)械零點(diǎn)就+/-360

    2024年04月17日
    瀏覽(24)
  • 【STM32】HAL庫自學(xué)記錄-旋轉(zhuǎn)編碼器的使用

    【STM32】HAL庫自學(xué)記錄-旋轉(zhuǎn)編碼器的使用

    通過本文可學(xué)會兩種實(shí)現(xiàn)判斷旋轉(zhuǎn)編碼器正轉(zhuǎn)反轉(zhuǎn)的方法,可根據(jù)自己的應(yīng)用場景來選擇使用哪種方法。 1、芯片:STM32F103RCT6 2、STM32CubeMx軟件 3、IDE: MDK-Keil軟件 4、旋轉(zhuǎn)編碼器模塊 5、XCOM V1.4串口軟件 圖中C端為GND。 方向 :A相和B相相差一個(gè)相位,一般來說是90°。A相信號在

    2024年02月11日
    瀏覽(27)
  • 【嵌入式】STM32計(jì)時(shí)器編碼器接口模式使用

    【嵌入式】STM32計(jì)時(shí)器編碼器接口模式使用

    使用STM32調(diào)試電機(jī)或傳感器時(shí)經(jīng)常會使用到計(jì)數(shù)器的編碼器接口模式,本文主要記錄該模式的固件庫配置方法,并給出使用該模式獲取光柵測距值的實(shí)例。 硬件: STM32F103C8T6 光柵測距傳感器 編碼器接口模式為STM32計(jì)時(shí)器的一種特殊使用模式,該模式下可對編碼器輸出的脈沖信

    2024年02月20日
    瀏覽(20)
  • STM32(HAL庫)——光電編碼器、M/T法測量電機(jī)轉(zhuǎn)速

    STM32(HAL庫)——光電編碼器、M/T法測量電機(jī)轉(zhuǎn)速

    目錄 一 編碼器 二 電機(jī)測試的三種方法 三 STM32CubeMx配置 四 程序編寫 五 實(shí)驗(yàn)結(jié)果 常見的用于電機(jī)測速的編碼器有霍爾編碼器和光電編碼器兩種。兩者測速的基本原理不同,但都是輸出兩路相位差90°的脈沖信號。這里以光電編碼器為例介紹一下測速原理。 光電編碼器是由光

    2024年02月07日
    瀏覽(40)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包