采用stm32使用PID控制器实现对步进电机转速的控制。
一、课题概括
1、该课题主要使用了正点原子的探索者开发板,42步进电机,步进电机驱动器,编码器、电源等。
2、课题完成功能。实现通过按键KEY0启动系统开环控制,KEY2实现PID闭环控制。
二、实物接线
接线图如图,步进电机采用驱动器驱动,并且采用了通用定时器TIM3的通道1(PA6),输出PWM信号,用来驱动步进电机。编码器用来检测电机的转速,并用联轴器连接,采用的定时器TIM4的编码器模式(PD12、PD13)检测编码器信号。
三、程序代码
一、转速测量代码
计算出电机转速的代码,每20ms采集一次代码编码器的值,并计算出转速
编码器采集代码为:
encoderValue_old = __HAL_TIM_GET_COUNTER(&htim4);
HAL_Delay(20);
encoderValue_new = __HAL_TIM_GET