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

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

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

3天內不再提示

詳解stm32定時器的編碼器模式

CHANBAEK ? 來源:電子愛好者 ? 作者:LinuxARM ? 2023-01-19 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言:

增量式編碼器在實際應用中還是很常見。stm32定時器帶的也有編碼器模式。所用的編碼器是有ABZ三相,其中ab相是用來計數,z相輸出零點信號。AB相根據旋轉的方向不同,輸出的波形如下圖所示:

Dingtalk_20221206154648.jpg

第一步:具體配置如下圖:

Dingtalk_20221206154648.jpg

重點說明:

一、如果編碼模式設置為 Encoder Mode TI1 and TI2 則會默認檢測AB相的上升沿與下降沿;

每一個上升沿和下降沿都觸發計數,所以每轉一格計數器就會+4;那么上圖計數周期設置為400;也就是編碼器轉100格,計數器就會置零,重新開始計數!

二、關于Polarity參數:這個參數的意思是在檢測到上升沿的時候就觸發encoder捕獲AB相的值,而并不是這里設置的是上升沿就只檢測AB相的上升沿,下降沿還是同樣會計數的。

第二步:

可以根據自身需要在NVIC 中斷控制器中配置中斷響應優先級。這里的配置方法可以參考前面幾章!

第三步:代碼分析:

static void MX_TIM4_Init(void)
{


  /* USER CODE BEGIN TIM4_Init 0 */


  /* USER CODE END TIM4_Init 0 */


  TIM_Encoder_InitTypeDef sConfig = {0};
  TIM_MasterConfigTypeDef sMasterConfig = {0};


  /* USER CODE BEGIN TIM4_Init 1 */


  /* USER CODE END TIM4_Init 1 */
  htim4.Instance = TIM4;
  htim4.Init.Prescaler = 0;
  htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
  htim4.Init.Period = 400;
  htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
  sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
  sConfig.IC1Polarity = TIM_ICPOLARITY_FALLING;
  sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
  sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
  sConfig.IC1Filter = 15;
  sConfig.IC2Polarity = TIM_ICPOLARITY_FALLING;
  sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
  sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
  sConfig.IC2Filter = 15;
  if (HAL_TIM_Encoder_Init(&htim4, &sConfig) != HAL_OK)
  {
    Error_Handler();
  }
  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN TIM4_Init 2 */
  HAL_TIM_Encoder_Start(&htim4, TIM_CHANNEL_ALL); //啟動編碼器接口
  /* USER CODE END TIM4_Init 2 */
}
//主函數里面調用計數值
 while (1)
  {
    // Enc_Count:獲取計數個數
    Enc_Count =  __HAL_TIM_GET_COUNTER(&htim4);
    
    //若需要檢測編碼器轉了多少格,記得要/4,因為轉一格是+4;
    //Enc_Count =  __HAL_TIM_GET_COUNTER(&htim4)/4;
     
    

    /* USER CODE END WHILE */


    /* USER CODE BEGIN 3 */

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

    關注

    114

    文章

    17052

    瀏覽量

    183580
  • 編碼器
    +關注

    關注

    45

    文章

    3786

    瀏覽量

    137618
  • STM32
    +關注

    關注

    2291

    文章

    11022

    瀏覽量

    363525
  • 定時器
    +關注

    關注

    23

    文章

    3297

    瀏覽量

    117621
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    上篇介紹了 定時器捕獲輸入脈沖的原理 ,那種方式是根據捕獲的原理,手動切換上升沿與下降沿捕獲,計算脈沖寬度的過程原理比較清晰,但編程操作起來比較麻煩。 對于電機測速用到的正交編碼器,測速時需要捕獲2
    的頭像 發表于 08-30 17:26 ?1.5w次閱讀
    電機控制基礎3——<b class='flag-5'>定時器</b><b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>使用與轉速計算

    stm32定時器編碼器模式

    0、編碼器模式stm32定時器帶的也有編碼器模式。所用的
    發表于 08-09 06:55

    STM32利用定時器編碼器模式處理帶編碼器直流電機

    STM32 Cubemax(五) —— STM32利用定時器編碼器模式處理帶編碼器直流電機文章目
    發表于 09-03 07:38

    stm32 定時器編碼器模式有哪幾種呢

    stm32 定時器編碼器模式有哪幾種呢?STM32固件庫中編碼器接口的配置函數是怎樣的?
    發表于 11-15 06:11

    請問怎么實現STM32f103定時器配置為編碼器模式使用?

    請問怎么實現STM32f103定時器配置為編碼器模式使用?
    發表于 11-18 07:30

    STM32單片機定時器1設置成為AB項編碼器模式的方法

    STM32單片機定時器1設置成為AB項編碼器模式大家好·,我是DXZ,這篇博客是使用STM32單片機定時
    發表于 11-26 08:09

    STM32F407定時器編碼器接口模式的相關資料推薦

    STM32F407定時器編碼器接口模式16位定時器擴展32位
    發表于 01-12 06:17

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

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

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

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

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

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

    STM32單片機定時器1設置成為AB項編碼器模式

    STM32單片機定時器1設置成為AB項編碼器模式大家好·,我是DXZ,這篇博客是使用STM32單片機定時
    發表于 11-18 15:21 ?21次下載
    <b class='flag-5'>STM32</b>單片機<b class='flag-5'>定時器</b>1設置成為AB項<b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>

    STM32——編碼器測速原理及STM32編碼器模式

    本問講解了編碼器測速原理及STM32編碼器模式,文末有STM32編碼器
    發表于 11-26 11:36 ?275次下載
    <b class='flag-5'>STM32</b>——<b class='flag-5'>編碼器</b>測速原理及<b class='flag-5'>STM32</b><b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>

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

    STM32F103-定時器編碼器模式和高級定時器輸出互補的PWM信號剛使用STM32時使用輸入捕
    發表于 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>輸出互補的PWM信號

    STM32F407定時器編碼器模式簡介

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

    STM32CubeMx定時器編碼器模式基本使用方法

    增量式編碼器在實際應用中還是很常見。stm32定時器帶的也有編碼器模式。所用的編碼器是有ABZ
    發表于 06-01 14:36 ?6594次閱讀
    <b class='flag-5'>STM32</b>CubeMx<b class='flag-5'>定時器</b><b class='flag-5'>編碼器</b><b class='flag-5'>模式</b>基本使用方法
    主站蜘蛛池模板: 色视频免费版高清在线观看 | 老湿司午夜爽爽影院榴莲视频 | 一区二区三区四区在线观看视频 | 亚洲一二三区在线观看 | 久久天天躁狠狠躁夜夜躁综合 | 伊人电影综合网 | 你懂的在线观看网站 | 久久美女免费视频 | ts人妖国产一区 | 黄色免费网站在线 | 日韩av线观看 | 国产日日操 | 美女被异性狂揉下部羞羞视频 | 国产成人综合欧美精品久久 | 天天操夜夜草 | 亚洲综合激情另类专区 | 亚洲第一综合 | 亚洲精品美女在线观看 | 国产午夜视频高清 | 99久久综合狠狠综合久久男同 | 午夜免费观看福利片一区二区三区 | 天天操天天射天天舔 | 天天看天天爽天天摸天天添 | 四虎在线免费视频 | 美女免费视频色在线观看 | 好男人社区在线观看www | 久青草视频免费视频播放线路1 | 天天弄天天干 | 生活片毛片 | 色妹子在线 | 国产免费高清福利拍拍拍 | 日本三级香港三级人妇网站 | 国产精品欧美精品国产主播 | 亚洲人成在线精品不卡网 | 欧美成人免费网站 | 亚洲一区二区三区免费看 | 国产成人精品亚洲日本在线观看 | 看免费黄色大片 | 奇米久久久 | 天堂在线www天堂中文在线 | 国产综合精品久久久久成人影 |