色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    3655

    瀏覽量

    134952
  • 接口
    +關注

    關注

    33

    文章

    8677

    瀏覽量

    151574
  • STM32
    +關注

    關注

    2270

    文章

    10918

    瀏覽量

    356849
收藏 人收藏

    評論

    相關推薦

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

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

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

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

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

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

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

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

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

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

    PLC如何判斷編碼器正反轉

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

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

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

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

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

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

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

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

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

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

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

    差分編碼器信號如何接plc

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

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

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

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

    ? 編碼器原點有什么功能 編碼器的原點功能主要用于確定位置參考、啟動和停止控制、運動方向判斷以及定位回歸操作。這些功能對于許多應用中的位置測量、運動控制和定位操作至關重要。 編碼器的原
    的頭像 發表于 02-21 15:02 ?2005次閱讀

    編碼器好壞怎么判斷,編碼器原理

    編碼器(Encoder)是將輸入數據轉化為特定編碼表示的一種技術。對于不同類型的編碼器,評判其好壞可以從多個方面進行考量,包括編碼質量、速度、模型結構等。
    的頭像 發表于 01-23 10:58 ?1960次閱讀
    主站蜘蛛池模板: 免费高清国产| 欧美性喷潮xxxx| 欧美视频 亚洲视频| 中文字幕 人妻熟女| 久久精品亚洲AV中文2区金莲| 亚洲精品无码一区二区三区四虎| 国产人妻精品午夜福利免费不卡 | 二级毛片免费观看全程| 青草在线观看视频| 变形金刚7免费观看完整| 色AV色婷婷96人妻久久久| 国产成人免费a在线视频app| 舔1V1高H糙汉| 欧美囗交xx bbb视频| 97超碰射射射| 欧美巨大巨粗黑人性AAAAAA| 被爽到叫呻呤视频免费视频| 三级黄视频| 国产午夜精品片一区二区三区 | 日韩亚洲国产中文字幕欧美| 国产浮力草草影院CCYY| 亚洲合集综合久久性色| 精品久久久久久久高清| 4438全国免费观看| 国语自产拍在线视频普通话| 亚洲熟妇无码乱子AV电影| 快播电影网址| 成品片a免人看免费| 亚洲国产精品久久又爽黄A片| 久久久久久久久久综合情日本| 999久久免费高清热精品| 肉肉描写很细致的黄文| 国产真实夫妇交换视频| 自拍 偷拍 亚洲 经典| 日韩欧美群交P内射捆绑| 好大好爽好深舒服死了| 99国产精品| 乌克兰美女x?x?y?y| 久久久久久久久久综合情日本| 芭乐视频免费资源在线观看| 亚州综人网|