本帖最后由 21创造欲 于 2018-8-19 14:33 编辑
在驱动步进电机时,加减速算法是非常有必要的,可以防止失步等多种优点,相信熟悉步进电机的同学都有所了解。
简言之:
驱动方式:定时器中断法,PWM法,PWM+DMA,从定时器法等
加减速曲线:梯形、指数、S形7段,logisin,SPTA等
此帖主要分享:步进电机加减速---(
定时器中断法+S形7段曲线),其他算法后续会一一分享
平台:STM32F103VET6
标准库
步进电机驱动采用共阳极
驱动器16细分-3200
说明:3.3V单片机输出特定的信号经过三极管 转换成步进电机控制器所能容许的设定值,因为大多单片机的3.3V的,而驱动器一般用5V驱动
运行效果:开机后顺时针转一圈,之后逆时针转一圈。
可自行修改圈数和正反转,
整体过程波形
加速段起步波形其中一部分
1、table_move_axis_s函数里,cnt=g_steps_per_seg_s;这一句为什么要注释掉?后面的TIM5的CCR1与ARR写入相同的数值10的作用是什么?
2、所中断所执行table_move_isr_X函数中,为什么向CCR1与ARR寄存器写入相同的曲线表的值?
谢谢大神解答!
一周热门 更多>