【C语言】STM32控制步进电机

您所在的位置:网站首页 div位移 【C语言】STM32控制步进电机

【C语言】STM32控制步进电机

#【C语言】STM32控制步进电机| 来源: 网络整理| 查看: 265

目录 1 前言2 理论分析2.1 选择曲线2.2 计算函数方程2.3 单位分析2.4 模拟验证 3 两种代码实现3.1 速度与时间关系3.1.1 原理3.1.2 优点3.1.3 缺点 3.2 速度与位移关系3.2.1 原理3.2.2 优点3.2.3 缺点 4 测试验证5 参考文献

1 前言

手上有个42步进电机,可是要么龟爬要么光叫不跑,百度了才知道要有个加速过程,而各种加速中又属S形加速最棒,那我当然要一步到位啦。 以下图片可以很好的展示S形加速的特点: 网图侵删。

2 理论分析 2.1 选择曲线

加速曲线有很多,梯形、余弦、多项式、7段S型、7段修正S型、15段S型、31段S型等。

其中很多分段函数一看就很复杂,需要的参数也很多,我们选一种简单的,仅需要一个表达式就能确定的加速曲线:

2.2 计算函数方程

首先确定三个输入参数,也就是函数中的常量: 起始速度 V 0 ? ? 目标速度 V 1 ? ? 加速时间 T 起始速度V_0 -- 目标速度V_1-- 加速时间T 起始速度V0???目标速度V1???加速时间T 由图可知加速度为二次函数,且极值点 t = T 2 t=\frac{T}{2} t=2T?,所以 a ? t a-t a?t表达式为: a ( t ) = k ( t ? T 2 ) 2 + n a(t)=k(t-\frac{T}{2})^2+n a(t)=k(t?2T?)2+n 因为函数图像过原点,所以带入 a = 0 , t = 0 a=0,t=0 a=0,t=0可得: n = ? k T 2 4 n=\frac{-kT^2}{4} n=4?kT2? 所以 加速度公式 为: a ( t ) = k t 2 ? k T t a(t)=kt^2-kTt a(t)=kt2?kTt 对时间一次积分获得速度: v ( t ) = 1 3 k t 3 ? 1 2 k T t 2 + C 1 v(t)=\frac{1}{3}kt^3-\frac{1}{2}kTt^2+C_1 v(t)=31?kt3?21?kTt2+C1? 二次积分获得位移: s ( t ) = 1 12 k t 4 ? 1 6 k T t 3 + C 1 t + C 2 s(t)=\frac{1}{12}kt^4-\frac{1}{6}kTt^3+C_1t+C_2 s(t)=121?kt4?61?kTt3+C1?t+C2? 将三个常量带入速度表达式,可得: { V 0 = C 1 V 1 = 1 3 k T 3 ? 1 2 k T ? T 2 + C 1 \left\{ \begin{array}{ll} V_0=C_1 \\ V_1=\frac{1}{3}kT^3-\frac{1}{2}kT*T^2+C_1 \end{array} \right. {V0?=C1?V1?=31?kT3?21?kT?T



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3