stm32步进电机控制采用S曲线加减速实现匀加速运动
发布时间
阅读量:
阅读量
C语言电机控制,曲线加速 ,直线加速
1.函数说明
void vStepMotor_Init(void);
初始化步进电机参数:使能脚,方向,脉冲,原点检测信号,终点检测信号 运动最小速度 最大速度 加速步长等等。
void vStepMotor_Calc_S_Wave(unit16_t speedLow, unit16_t speedHigh , StepMotor_Typedef * Motor , unit16_t size );
根据设定计算 电机运动的参数,也就是计算得到定时器翻转脉冲的间隔。
void vStepMotor_Run(StepMotor_Typedef * Motor , Motor_State Dir, uint16_t steps);
电机执行的方向和步数。
void vStepMotor_Run_Motion(StepMotor_Typedef motor);
该函数在对应的定时器中断中执行,根据计算的定时器反转脉冲时间翻转脉冲。
程序框架
int main(void) {
vStepMotorInit();
vStepMotor_Calc_S_Wave(400, 600, 60);
while(true) {
vStepMotor_Run(int motor,i
全部评论 (0)
还没有任何评论哟~
