<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

如果STM32定時器外接了正交編碼器,該剩余通道是否能做PWM輸出呢?

茶話MCU ? 來源:茶話MCU ? 2024-03-21 09:06 ? 次閱讀

有人問如果STM32定時器外接了正交編碼器,該定時器的剩余通道是否可以做PWM輸出呢?

其實,對于STM32芯片,編碼輸入信號就是定時器的計數時鐘源之一。定時器外接了編碼輸入,若還有剩余通道的話,剩余通道依然可以實現輸入捕獲或輸出比較功能。

此時,該定時器的計數時鐘就是由編碼器信號提供的。編碼器信號從定時器的通道1和通道2同時輸入,計數器基于編碼信號的邊沿事件進行計數,可以有多種計數方式供選擇。

具體編碼器計數方式參見下表。后面實驗采用第三種方式。

a0a30404-e71d-11ee-a297-92fbcf53809c.png

下面使用STM32C0系列的Nucleo板,從定時器1的通道1、通道2接入正交編碼信號,以TI1、TI2的有效跳變沿作為時鐘源來實現PWM輸出。

我先使用STM32C031芯片內部的TIM3產生兩路正交編碼信號的輸出,然后將這兩路輸出接到TIM1的CH1、CH2,并令TIM1工作在編碼模式,讓其CH3輸出PWM脈沖。

a0b7f2b0-e71d-11ee-a297-92fbcf53809c.png

先看看TIM3的CubeMx配置。為了產生一對相差90°的正交編碼信號,我用到了TIM3的三個通道,其中CH2沒有做實際輸出【當然,若用兩個通道也行】。見下面配置。

a0d2cb8a-e71d-11ee-a297-92fbcf53809c.png

a0e3712e-e71d-11ee-a297-92fbcf53809c.png

下面波形就是基于上面配置的兩路正交編碼輸出信號:

a0fb2db4-e71d-11ee-a297-92fbcf53809c.png

我們再來看看TIM1的CubeMx配置。工作在編碼器模式,CH1、CH2作為編碼信號輸入,選擇針對兩路輸入的跳變沿進行計數的方式。CH3、CH4做PWM輸出。

a107b296-e71d-11ee-a297-92fbcf53809c.png

a11e5c4e-e71d-11ee-a297-92fbcf53809c.png

在上圖中可以看到,TIM1的PSC=0,ARR為19,計數器處于單向計數模式,即每計20個跳變沿就產生溢出。因為對TI1、TI2兩路的跳變沿進行計數,在輸入信號的1個周期內會做4次計數。

這樣算下來,TIM1的一個輸出周期對應于正交編碼輸入信號的5個周期。

完成配置后創建工程,添加如下必要的用戶代碼。

a132b32e-e71d-11ee-a297-92fbcf53809c.png

稍作調試可以看到如下結果,藍色的為TIM1-CH3的PWM輸出,另外兩路為正交編碼信號。實驗結果跟前面推理的一致。

a14b044c-e71d-11ee-a297-92fbcf53809c.png

不難理解,在前面TIM1時基參數不變的前提下,TIM1-CH3的輸出頻率由外來編碼脈沖的頻率決定,編碼脈沖頻率越高,TIM3-CH1的PWM輸出頻率也越高,反之亦然?!狙奂獾娜丝赡馨l現了此時計數器實際上是處于向下計數模式】

定時器基于編碼脈沖作為計數時鐘源時,使用CubeMx配置計數器的計數方向時,不要選擇中心對齊計數模式,編碼器時鐘模式不支持該計數模式。

至于選擇向上計數模式還是向下計數模式無關緊要。因為編碼器模式下,計數器是向上計數還是向下計數是硬件決定的,即根據TI1FP1和TI2FP2的相對電平以及所選擇的計數方式決定。




審核編輯:劉清

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

    關注

    32

    文章

    2182

    瀏覽量

    93211
  • 定時器
    +關注

    關注

    23

    文章

    3150

    瀏覽量

    112294
  • 正交編碼器
    +關注

    關注

    0

    文章

    16

    瀏覽量

    10517
  • PWM輸出
    +關注

    關注

    1

    文章

    66

    瀏覽量

    5066

原文標題:基于編碼器信號的PWM輸出示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32定時器用做正交編碼器之后還能輸出PWM嗎?

    最近在做一個控制小車的設計,用STM32定時器用做正交編碼器來進行車速的檢測,由于所選MCU型號問題,定時器較少,請教一下,在
    發表于 04-21 15:08

    【案例分享】STM32正交編碼器驅動電機

    的。4。STM32f1系列定時器16位的問題我用STM32定時器3工作于編碼器方式,可以正常得到編碼器
    發表于 07-20 04:00

    STM32定時器問題

    STM32同一定時器的不同通道可以配置為不同的模式嗎?例如定時器1的1、2通道設置為正交
    發表于 09-18 10:22

    stm32定時器編碼器模式

    0、編碼器模式stm32定時器帶的也有編碼器模式。所用的編碼器是有ABZ三相,其中ab相是用來計數,z相
    發表于 08-09 06:55

    STM32F401的所有定時器都可以作為編碼器使用

    任何問題)下面步入正題:TIMER都可以作為編碼器采集通道,但是需要十分注意的是:定時器只有通道1和通道2可以作為
    發表于 09-13 08:49

    定時器中斷來實現stm32定時

    用來定時、輸入捕獲、pwm輸出、正交編碼器等,功能強大。stm32通用
    發表于 01-06 06:46

    正交編碼器原理什么是正交?

    ,TI1超前TI2 90度時,向上計數;TI2超前TI1 90度時,向下計數。編碼器的應用很多,最常用的就是電機測速,以及各種儀器上的旋鈕等。2.STM32CubeMX配置以STM32F103C8T6為例,
    發表于 01-10 08:04

    怎樣去使用STM32定時器編碼器模式

    STM32F103-定時器編碼器模式和高級定時器輸出互補的PWM信號剛使用
    發表于 01-14 08:02

    為什么STM32單片機的定時器PWM輸入捕獲模式無法讀取編碼器

    為什么STM32單片機的定時器PWM輸入捕獲模式無法讀取編碼器?怎樣去解決STM32單片機的
    發表于 01-21 06:30

    定時器基礎知識與PWM輸出原理是什么

    單片機開發中,電機的控制與定時器有著密不可分的關系,無論是直流電機,步進電機還是舵機,都會用到定時器,比如最常用的有刷直流電機,會使用定時器產生PWM波來調節轉速,通過
    發表于 01-25 08:16

    電機控制知識——定時器編碼器模式的使用

    ,計數向上計數,反轉時,通道A的信號滯后,向下計數。設置信號的極性反相,可以使向下計數代表電機正轉。 2 定時器編碼器模式配置以STM32
    發表于 03-05 07:00

    可以使用單個定時器通道1和2進行編碼器計數并在通道3和4上生成PWM嗎?

    PWM 輸出。為此,我相信我需要至少使用一個定時器通道 1 和 2 上運行編碼器模式,在通道
    發表于 01-12 06:56

    STM32-通用定時器-PWM輸出

    1 通用定時器PWM概述1.1STM32定時器輸出通道引腳這里以TIM3為例來講解。
    發表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時器</b>-<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

    STM32F103-定時器編碼器模式和高級定時器輸出互補的PWM信號

    STM32F103-定時器編碼器模式和高級定時器輸出互補的PWM信號剛使用
    發表于 01-14 12:53 ?11次下載
    <b class='flag-5'>STM32</b>F103-<b class='flag-5'>定時器</b><b class='flag-5'>編碼器</b>模式和高級<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b>互補的<b class='flag-5'>PWM</b>信號

    詳解stm32定時器編碼器模式

    增量式編碼器在實際應用中還是很常見。stm32定時器帶的也有編碼器模式。所用的編碼器是有ABZ三相,其中ab相是用來計數,z相
    的頭像 發表于 01-19 09:14 ?7419次閱讀
    詳解<b class='flag-5'>stm32</b><b class='flag-5'>定時器</b>的<b class='flag-5'>編碼器</b>模式
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>