STM32伺服編碼器介面

來源:互聯網
上載者:User

在STM32的進階定時器和一般定時器中有Encoder interface mode(編碼器介面),TI1和TI2分別對應TIM_CH1 和TIM_CH2 通道。
一、計數規則如下:
表55的是編碼器不同的訊號下計數方向。

1.僅在TI1邊沿計數:上升沿觸發時,若對應TI2為低電平,則計數器向下計數;對應為高電平,則向上計數。如圖2.在○1和○2處,TI1的上升沿對應TI2為低電平,所以計數器向上計數;同樣的,在○3處則相反。
2.在TI1和TI2邊沿計數:若TI1、TI2上升沿捕捉時,TI1上升邊沿對應TI2位於低電平,則向上計數;TI2上升邊沿對應TI1高電平,向上計數,所以為雙倍。

二、功能配置
1.設定I/O口(啟動時鐘,工作在定時器模式下,無上拉)
2.配置定時器(選擇編碼器介面模式)

void Encoder_Config(){    TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;    TIM_ICInitTypeDef TIM_ICInitStructure;    GPIO_InitTypeDef GPIO_InitStructure;    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_11;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;    GPIO_Init(GPIOE,&GPIO_InitStructure);    GPIO_PinAFConfig(GPIOE,GPIO_PinSource9,GPIO_AF_TIM1);    GPIO_PinAFConfig(GPIOE,GPIO_PinSource11,GPIO_AF_TIM1);    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);    TIM_DeInit(TIM1);    TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;         //單倍模式    TIM_TimeBaseStructure.TIM_CounterMode =TIM_CounterMode_Up;    TIM_TimeBaseStructure.TIM_Period = 500*4;                   //計數周期    TIM_TimeBaseStructure.TIM_Prescaler = 0;                        //時鐘分頻    TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);    TIM_ICStructInit(&TIM_ICInitStructure);    TIM_ICInitStructure.TIM_ICFilter = 0;                           //濾波,0表示不濾波    TIM_ICInit(TIM1,&TIM_ICInitStructure);    TIM_EncoderInterfaceConfig(TIM1,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising);    //設定定時器工作在編碼器介面模式。    TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);    TIM_ClearITPendingBit(TIM1,TIM_IT_Update);    TIM_ClearFlag(TIM1,TIM_FLAG_Update);    TIM_SetCounter(TIM1,0);                                 //設定計數初值    TIM_Cmd(TIM1,ENABLE);   }

實驗中採用的是E6A2-cwz5c編碼器,解析度為500/r, 定時器為TI1和TI2雙邊沿計數,最終計數始終保持為2000,理論值應為1000。如果有實驗通過的,還請告知原因,灰常感謝。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.