衡阳派盒市场营销有限公司

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輸出頻率也越高,反之亦然。【眼尖的人可能發現了此時計數器實際上是處于向下計數模式】

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

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




審核編輯:劉清

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

    關注

    32

    文章

    2261

    瀏覽量

    94981
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115368
  • 正交編碼器
    +關注

    關注

    0

    文章

    16

    瀏覽量

    10644
  • PWM輸出
    +關注

    關注

    1

    文章

    66

    瀏覽量

    5218

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

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

收藏 人收藏

    評論

    相關推薦

    基于STM32正交編碼器驅動電機設計

    1。編碼器原理 什么是正交如果兩個信號相位相差90度,則這兩個信號稱為正交。由于兩個信號相差90度,因此可以根據兩個信號哪個先哪個后來判斷方向。 這里使用了TI12模式,例如當T1上
    的頭像 發表于 09-10 16:25 ?7322次閱讀
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>正交</b><b class='flag-5'>編碼器</b>驅動電機設計

    電機控制基礎3——定時器編碼器模式使用與轉速計算

    路脈沖,如果使用上一篇介紹的方法,編程就較為復雜。還好單片機的通用定時器具有 專門的正交編碼器接口 ,只需配置相應的寄存,就可實現
    的頭像 發表于 08-30 17:26 ?1.5w次閱讀
    電機控制基礎3——<b class='flag-5'>定時器</b><b class='flag-5'>編碼器</b>模式使用與轉速計算

    stm32定時器編碼器模式可以做輸出嗎?

    我想要做正交編碼器,但是網上一般只介紹了用編碼器對其做解碼,而我需要的是輸出波形。我在一個小網站的解答上看到定時器
    發表于 07-31 07:59

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

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

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

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

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

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

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

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

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

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

    如何通過STM32定時器輸出PWM

    ? 本文將介紹通過STM32定時器輸出PWM如果定時器不太熟悉的同學可以看下之前的文章《
    的頭像 發表于 02-20 15:08 ?2.2w次閱讀
    如何通過<b class='flag-5'>STM32</b>的<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>?

    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>

    電機控制基礎——定時器基礎知識與PWM輸出原理

    單片機開發中,電機的控制與定時器有著密不可分的關系,無論是直流電機,步進電機還是舵機,都會用到定時器,比如最常用的有刷直流電機,會使用定時器產生PWM波來調節轉速,通過
    發表于 11-30 14:21 ?38次下載
    電機控制基礎——<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>信號

    STM32F401 定時器編碼器使用 采集電機旋轉速度、旋轉方向

    任何問題)下面步入正題:TIMER都可以作為編碼器采集通道,但是需要十分注意的是:定時器只有通道1和通道2可以作為
    發表于 01-17 09:47 ?8次下載
    <b class='flag-5'>STM32</b>F401 <b class='flag-5'>定時器</b>做<b class='flag-5'>編碼器</b>使用   采集電機旋轉速度、旋轉方向

    STM32F407定時器編碼器模式簡介

    STM32F407定時器編碼器模式
    發表于 03-31 17:14 ?8781次閱讀
    <b class='flag-5'>STM32</b>F407<b class='flag-5'>定時器</b><b class='flag-5'>編碼器</b>模式簡介

    詳解stm32定時器編碼器模式

    增量式編碼器在實際應用中還是很常見。stm32定時器帶的也有編碼器模式。所用的編碼器是有ABZ三相,其中ab相是用來計數,z相
    的頭像 發表于 01-19 09:14 ?9431次閱讀
    詳解<b class='flag-5'>stm32</b><b class='flag-5'>定時器</b>的<b class='flag-5'>編碼器</b>模式
    百家乐官网隔一数打法| 赌博博彩论坛| 金三角娱乐城| 百家乐官网棋牌交| 真钱百家乐赌博| 实战百家乐十大取胜原因百分百战胜百家乐不买币不吹牛只你能做到按我说的.百家乐基本规则 | 全讯网网站| 夏河县| 百家乐官网买闲打法| 百家乐投注平台| 太阳城小区| 大发888网站| 真人百家乐官网娱乐好玩| 百家乐视频大厅| 百家乐网络赌城| 张家港市| 杨筠松古法风水24| 威尼斯人娱乐平台开户| 百家乐官网虚拟视频| 百家乐官网平注法到6| 水果老虎机游戏下载| 广州百家乐官网娱乐场| 申博百家乐有假吗| 新濠天地娱乐城| 三公百家乐官网在哪里可以玩| 全讯网信息| 金沙百家乐官网娱乐城场| 百家乐庄闲局部失衡| 足球开户网| 百家乐官网网上赌有作假吗| 百家乐平注秘籍| 网上百家乐官网真的假的| 网上百家乐如何作假| 888娱乐城返水| 百家乐官网旺门打| 德州扑克比赛规则| 金龍百家乐官网的玩法技巧和规则| 大发888游戏平台 黄埔网 | 百家乐官网游戏研发| 澳门百家乐怎洋赢钱| 百家乐官网软件l柳州|