在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32編碼器接口 以及應用編程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-14 10:36 ? 次閱讀

Ⅰ 關于編碼器

編碼器的種類有很多,什么增量式編碼器、絕對值編碼器,有軸或者無軸編碼器,電壓輸出、推拉輸出、集電極開路輸出等等。但不管什么類型的編碼器,其目的都類似,得到轉動的角度,角速度、位移等。

本文講述常見的增量式編碼器,增量式編碼器也可以叫正交編碼器,也就是說可以通過其A、B的相位知道編碼器是正轉,還是反轉,還可以根據編碼器參數得出旋轉了多少角度等。

常見的增量式編碼器A、B、Z三根線代表什么意思呢?使用過編碼器的人不難理解,這里簡單給初學者講述一下:

A、B兩線提供相位相差90度的脈沖信號,用其來計算旋轉的角度;Z線為過零點線,也就是說每轉一轉,經過某一點都會輸出一個脈沖信號,主要用于“過零校正”,三線的信號大致如下圖(左邊):

有些編碼器出來的線有一個對應的“非”信號線(如上圖右邊),其實主要用于抗干擾的。

更多關于編碼器的描述,請網上搜索相關的知識進行了解,本文不再講述。

STM32編碼器接口模式

在STM32芯片中,都有這么一個定時器,叫通用定時器“General-purpose timers”,定時器里面存在這么一個模式,叫編碼器接口模式“Encoder interface mode”。當然,具體是哪一個TIM,可參看芯片對應的數據手冊,可以一目了然。

STM32提供的編碼器接口模式主要針對的就是“正交編碼器”,它可以利用定時器的“計數”功能,得出編碼器計了多少個脈沖;同時,它可以根據編碼器AB的相位得出編碼器是正轉,還是反轉。

(圖片來自STM32參考手冊)

1.計算脈沖個數

有點類似TIM的捕獲功能,捕獲A相、B相的脈沖信號;只是編碼器模式是捕獲A(TI1)、B(TI2)相的邊沿信號(如上圖),相當于一個周期內,計4個脈沖信號的值。

2.計數器的增減(方向)

STM32的計數器會根據方向(+ 或者 -)來進行計數,TI1和TI2相位相差90,4個階段的邊沿,對應TI1和TI2不同電平信號,從這個不同的信號,硬件自身可以判斷出其方向。在編碼器模式下,有個寄存器(TIMx_CR1)中有一個方向位(DIR),會隨著編碼器旋轉方向的改變而改變,我們可以通過讀取該位來判斷編碼器的正轉,還是反轉。

3.TIM時基

STM32編碼器接口模式,其實是通過利用AB相位TIM時基提供時鐘信號,使其計數。

Ⅲ 應用編程

相信看了上面的一些描述,大家應該對編碼器有所理解了。其實,在STM32中,可以通過配置編碼器模式對應的函數,就能實現獲取編碼器傳感器上面的信息了。

使用STM32提供的標準外設庫,或者使用STM32CubeMX工具很容易將TIM配置成編碼器模式。

1.標準外設庫配置編碼器

TIM_EncoderInterfaceConfig,它就是編碼器接口的配置函數。簡單的只需要配置該函數,使能TIM,即可實現采集編碼器上面的信息。(當然,需要復雜的操作,還需要做其他相應的配置)

void ENCODER_Configuration(void){ TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising); TIM_Cmd(TIM3, ENABLE);}

2.STM32CubeMX配置

STM32CubeMX是一套快速開發的工具,讓很多不了解STM32底層的朋友可以快速的在STM32上編寫應用程序。

本文說的配置編碼器接口,在某些TIM上存在一個“Combined Channel”配置,可以理解為“連接通道”,也算是TIM的一種復用模式。選擇里面的“Encoder Mode”即可。

Ⅳ 實例代碼

本文提供的代碼為一個使用標準外設庫編寫的簡單Demo工程,其中里面附帶一個工程(用于模擬編碼器AB相波形的工程),如下如:

該工程主要配置TIM的編碼器模式,通過定時讀取編碼器的方向(DIR),和計數(CNT),并通過串口打印出來。

下載地址:

百度網盤:

鏈接:https://pan.baidu.com/s/1jH8yOqM

密碼:t4kx

GitHub:

https://github.com/EmbeddDeveloper/STM32F4_TIM_Encoder

CSDN:

http://download.csdn.net/download/ybhuangfugui/10165086

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼器
    +關注

    關注

    45

    文章

    3673

    瀏覽量

    135318
  • 接口
    +關注

    關注

    33

    文章

    8718

    瀏覽量

    152026
  • STM32
    +關注

    關注

    2273

    文章

    10926

    瀏覽量

    357789
收藏 人收藏

    評論

    相關推薦

    伺服電機編碼器故障及維修

    伺服電機編碼器故障及維修,伺服電機編碼器4大常見故障,編碼器信號丟失或不穩定,編碼器零點偏移,編碼器過熱,
    的頭像 發表于 01-21 14:49 ?372次閱讀
    伺服電機<b class='flag-5'>編碼器</b>故障及維修

    增量編碼器與絕對值編碼器的區別

    增量編碼器與絕對值編碼器的區別:增量編碼器與絕對值編碼器在精度特點對比 增量編碼器的精度取決于脈沖的數量和測量的細分程度,通常情況下,其精度
    的頭像 發表于 11-18 16:38 ?1097次閱讀
    增量<b class='flag-5'>編碼器</b>與絕對值<b class='flag-5'>編碼器</b>的區別

    二進制編碼器與絕對編碼器的區別

    編碼器是工業自動化和機器人技術中不可或缺的組件,用于將機械位置或運動轉換為電信號。二進制編碼器和絕對編碼器是兩種常見的編碼器類型,它們各自有著獨特的特點和應用場景。 二進制
    的頭像 發表于 11-06 09:54 ?677次閱讀

    磁電編碼器和光電編碼器的區別

    磁電編碼器和光電編碼器是兩種不同類型的編碼器,它們在原理、結構、性能和應用領域上都有所不同。 磁電編碼器和光電編碼器的區別 1. 引言
    的頭像 發表于 10-12 09:54 ?1702次閱讀

    MT6501在線編程編碼IC:光電編碼器的理想替代品

    在現代工業控制和自動化領域,編碼器是一種常見的傳感,用于將機械運動轉化為電信號,以實現位置、速度和方向的檢測和控制。傳統的光電編碼器雖然技術成熟,但在一些特殊應用場景中,可能存在著一些局限性。而 MT6501 在線
    的頭像 發表于 07-31 17:18 ?620次閱讀

    帶Arduino的旋轉編碼器設計 旋轉編碼器的工作原理和特點

    技術、精密測量、自動化設備以及計算機輸入設備等領域。作為一種集光機電技術于一體的速度位移傳感,旋轉編碼器具有高精度、高分辨率、長壽命和穩定可靠等優點。
    的頭像 發表于 07-04 17:17 ?3220次閱讀
    帶Arduino的旋轉<b class='flag-5'>編碼器</b>設計 旋轉<b class='flag-5'>編碼器</b>的工作原理和特點

    PLC如何判斷編碼器正反轉

    的工作原理、輸出信號特性以及PLC編程方法等方面,詳細闡述PLC如何判斷編碼器的正反轉,并提供相應的編程思路和實現方法。
    的頭像 發表于 06-17 09:31 ?2572次閱讀

    旋轉編碼器在PLC中怎么編程

    在工業自動化領域,旋轉編碼器與可編程邏輯控制(PLC)的結合應用極為廣泛。旋轉編碼器通過提供精確的旋轉角度或位置信息,為PLC提供反饋信號,進而實現對設備的精確控制。本文將詳細介紹旋
    的頭像 發表于 06-17 09:24 ?2054次閱讀

    增量編碼器和絕對值編碼器的區別

    在工業自動化和精密測量領域,編碼器是不可或缺的關鍵設備。編碼器能夠將機械位移轉換為電信號,以便于計算機或其他數字系統進行處理。在編碼器的眾多類型中,增量編碼器和絕對值
    的頭像 發表于 06-03 15:40 ?3165次閱讀

    使用STM32編碼器接口對接增量式編碼器控制電機進行很低速的轉動時,需要如何進行電機轉速的測量?

    使用STM32編碼器接口對接增量式編碼器控制電機進行很低速的轉動時,需要如何進行電機轉速的測量? 可否將編碼器信號接到
    發表于 04-30 06:05

    編碼器脈沖信號(怎么測量 | 丟失怎么處理 | 丟失的原因)

    編碼器脈沖信號怎么測量 要測量編碼器的脈沖信號,可以采取以下步驟: 1. 連接編碼器:首先,將編碼器正確地連接到編碼器
    的頭像 發表于 04-17 15:24 ?3046次閱讀

    差分編碼器信號如何接plc?

    差分編碼器信號通常用于測量旋轉運動或線性位置,接收差分編碼器信號的PLC(可編程邏輯控制)需要進行相應的信號處理才能正確讀取并理解編碼器
    的頭像 發表于 03-05 08:42 ?3614次閱讀
    差分<b class='flag-5'>編碼器</b>信號如何接plc?

    差分編碼器信號如何接plc

    差分編碼器信號通常用于測量旋轉運動或線性位置,接收差分編碼器信號的PLC(可編程邏輯控制)需要進行相應的信號處理才能正確讀取并理解編碼器
    的頭像 發表于 02-26 14:43 ?2752次閱讀

    編碼器分辨率是什么意思 編碼器分辨率和脈沖數的關系

    按照編碼器支持的分辨率可以把編碼器分成標清編碼器、高清編碼器、全高清編碼器,分辨率越高幀率越高視頻就越清楚。 1.
    的頭像 發表于 02-21 18:07 ?4587次閱讀
    <b class='flag-5'>編碼器</b>分辨率是什么意思 <b class='flag-5'>編碼器</b>分辨率和脈沖數的關系

    編碼器原點設定方法 | 編碼器原點丟失怎樣找回

    ? 編碼器原點有什么功能 編碼器的原點功能主要用于確定位置參考、啟動和停止控制、運動方向判斷以及定位回歸操作。這些功能對于許多應用中的位置測量、運動控制和定位操作至關重要。 編碼器的原
    的頭像 發表于 02-21 15:02 ?2111次閱讀
    主站蜘蛛池模板: 黄色的网站在线观看 | 九月丁香婷婷亚洲综合色 | 精品久久久久久久久久 | 91大神在线免费观看 | 男女啪视频大全1000 | 九色中文 | 97人人看 | 91福利网winktv| 四虎国产精品成人永久免费影视 | 清冷双性被cao的合不拢腿 | 日日操夜夜操天天操 | 噜噜噜噜私人影院 | 怡红院影院| 亚洲免费成人 | 午夜免费毛片 | 特黄一级大片 | 999精品国产 | 欧美极品第1页专区 | 伊人成人在线观看 | 又粗又长又色又爽视频 | 午夜免费视频福利集合100 | 亚洲一二| 久久免费99精品久久久久久 | 美女毛片视频 | 色妞妞网 | 天天操夜夜操美女 | 一区二区三区四区精品 | 国产小视频在线观看 | 手机看片日韩高清1024 | 毛片视频免费网站 | 欧美三级视频在线播放 | 国产在线视频欧美亚综合 | 日本一二线不卡在线观看 | 国产精品天天爽夜夜欢张柏芝 | 亚洲bbb| 午夜伦y4480影院中文字幕 | 日本xxxx色视频在线观看免费 | 欧美艹逼视频 | 欧美男女交性过程视频 | 欧美视频综合 | 同性恋激情视频 |