国民技术
直播中

lyhfight

2年用户 12经验值
擅长:嵌入式技术
私信 关注

【国民技术N32项目移植】 编码器的移植

本帖最后由 lyhfight 于 2023-3-14 22:05 编辑

在 N32 系列中,高级定时器和通用定时器均集成了编码器接口模式。编码器输入信号 ti1、TI2 经过输入
滤波和边沿检测产生 TI1FP1、TI2FP2 接到定时器的正交解码模块。


通过TIM3来读取编码电机的速度,然后通过增量式pid来控电机保持在预期速度。
相关代码展示

TIM_TimeBaseInitType TIM_TimeBaseStructure;
    TIM_ICInitType TIM_ICInitStructure;
               
                TIM_DeInit(TIM3);
                TIM_InitTimBaseStruct(&TIM_TimeBaseStructure);
                TIM_TimeBaseStructure.Period = ENCODER_TIM_PERIOD - 1;
                TIM_TimeBaseStructure.Prescaler = 0;
                TIM_TimeBaseStructure.ClkDiv = TIM_CLK_DIV1;
                TIM_TimeBaseStructure.CntMode = TIM_CNT_MODE_UP;
                TIM_InitTimeBase(TIM3, &TIM_TimeBaseStructure);
               
                TIM_ConfigEncoderInterface(TIM3, TIM_ENCODE_MODE_TI12, TIM_IC_POLARITY_RISING, TIM_IC_POLARITY_RISING);
                TIM_InitIcStruct(&TIM_ICInitStructure);
                TIM_ICInitStructure.IcPolarity = TIM_IC_POLARITY_RISING;
                TIM_ICInitStructure.IcFilter = 6;
                TIM_ICInitStructure.Channel = TIM_CH_1;
                TIM_ICInit(TIM3, &TIM_ICInitStructure);
                TIM_ICInitStructure.Channel = TIM_CH_2;
                TIM_ICInit(TIM3, &TIM_ICInitStructure);

然后通过串口把电机的速度发送到电脑的上位机进行展示





  • pid控制效果图

更多回帖

发帖
×
20
完善资料,
赚取积分