Liccsu一个简易的步进电机变速算法 中发帖

速度曲线函数为 f(t)=\cfrac{\nu_1-\nu_0}{1+e^{\cfrac{-16t}{T}+8}}+\nu_0,由 f(x)=\cfrac{1}{1+e^{-x}}变换而来,因为电机由PWM驱动,改变转速就是改变PWM的频率,所以函数中的 \nu_0为初速度对应的PWM频率, \nu_1为末速度对应的PWM频率,而 T为加速时长(单位为毫秒),即从 \nu_0加速到 \nu_1所花费的时间。例如,从 100Hz加速到 1000Hz,加速时长设为 1000ms,所得频率变化曲线如下图所示: [image] 
" width=“100%” height=“100%” style=“display: inline-block”> 在代码中根据这条曲线改变PWM的频率即可实现电机的平滑变速。