接线
线色 | 端子名 |
---|---|
褐色 | 电源+5V~24V |
蓝色 | 0V(COMMON) |
黑色 | 输出A相 |
白色 | 输出B相 |
橙色 | 输出Z相 |
输出说明
AB相为正交信号,若A相超前B相,说明编码器正旋
若B相超前A相,说明编码器反旋
每转一圈,AB输出脉冲数等于编码器线数,而一圈Z相仅输出一个脉冲波
编程
输入捕获
这里采用定时器4的通道1和通道2
void TIM4_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;
//PB6 ch1 A,PB7 ch2
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //使能TIM4时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB时钟
GPIO_StructInit(&GPIO_InitStructure); //将GPIO_InitStruc