自学内容网 自学内容网

第七节(1)、T型加减速转动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍步进电机T型加减速的控制方法,分2个小节,本小节主要内容为该控制方法的推导与计算,第二节对T型加减速进行了简化计算

一.加速阶段计算
1.1 计算时间与步数关系
在这里插入图片描述
根据位移公式可得:
a n g l e 0 = n ∗ s t e p … … ① angle_{0} =n*step……① angle0=nstep……

a n g l e 0 = 1 2 a 0 t n 2 … … ② angle_{0} =\frac{1}{2} a_{0}t_{n}^{2} ……② angle0=21a0tn2……

由①②得:

t n = 2 ∗ n ∗ s t e p a 0 … … ③ t_{n}=\sqrt{\frac{2*n*step}{a_{0} } } ……③ tn=a02nstep ……

t_n:时间(s)
n:步数
step:步距角(°)
a_0:加速度(°/s^2)
angle_0:加速角度(°)

计算t1
t 1 = 2 ∗ s t e p a 0 … … ④ t_{1}=\sqrt{\frac{2*step}{a_{0} } } ……④ t1=a02step ……

由③④得:
t n = t 1 n … … ⑤ t_{n}=t_{1}\sqrt{n } ……⑤ tn=t1n ……

1.2 计算时间与步数关系
在这里插入图片描述

由⑤得:
Δ t n + 1 = t n + 1 − t n = t 1 ( n + 1 − n ) … … ⑥ \Delta t_{n+1}=t_{n+1}-t_{n}=t_{1}(\sqrt{n+1} -\sqrt{n} )……⑥ Δtn+1=tn+1tn=t1(n+1 n )……
Δ t n = t n − t n − 1 = t 1 ( n − n − 1 ) … … ⑦ \Delta t_{n}=t_{n}-t_{n-1}=t_{1}(\sqrt{n} -\sqrt{n-1} )……⑦ Δtn=tntn1=t1(n n1 )……

⑥/⑦得:

Δ t n + 1 Δ t n = n + 1 − n n − n − 1 \frac{\Delta t_{n+1}}{\Delta t_{n}} =\frac{\sqrt{n+1}-\sqrt{n}}{\sqrt{n}-\sqrt{n-1}} ΔtnΔtn+1=n n1 n+1 n

Δ t n + 1 Δ t n = 1 + 1 n − 1 1 − 1 − 1 n … … ⑧ \frac{\Delta t_{n+1}}{\Delta t_{n}} =\frac{\sqrt{1+\frac{1}{n} }-1}{1-\sqrt{1-\frac{1}{n} }} ……⑧ ΔtnΔtn+1=11n1 1+n1 1……

将Sqrt(1±x)麦克劳林展开:
f ( x ) = 1 ± x = f ( 0 ) ± f ′ ( 0 ) + f " ( 0 ) 2 + 0 ( x 2 ) f(x)=\sqrt{1±x} =f(0)±f'(0)+\frac{f"(0)}{2} +0(x^{2} ) f(x)=1±x =f(0)±f(0)+2f"(0)+0(x2)
= 1 ± 1 2 x − 1 8 x 2 + 0 ( x 2 ) =1±\frac{1}{2}x -\frac{1}{8}x^{2} +0(x^{2} ) =1±21x81x2+0(x2)
令 x = 1 n 令x=\frac{1}{n} x=n1
1 ± 1 n = 1 ± 1 2 n − 1 8 n 2 + 0 ( 1 n 2 ) … … ⑨ \sqrt{1\pm \frac{1}{n} } =1\pm\frac{1}{2n} -\frac{1}{8n^{2} } +0(\frac{1}{n^{2} } )……⑨ 1±n1 =1±2n18n21+0(n21)……

将⑨带入⑧:
△ t n + 1 △ t n = 1 + 1 2 n − 1 8 n 2 + 0 ( 1 n 2 ) − 1 1 − ( 1 − 1 2 n − 1 8 n 2 + 0 ( 1 n 2 ) ) \frac{\bigtriangleup t_{n+1} }{\bigtriangleup t_{n} } =\frac{1+\frac{1}{2n} -\frac{1}{8n^{2} } +0(\frac{1}{n^{2} } )-1}{1-(1-\frac{1}{2n} -\frac{1}{8n^{2} } +0(\frac{1}{n^{2} } ))} tntn+1=1(12n18n21+0(n21))1+2n18n21+0(n21)1
△ t n + 1 △ t n ≈ 4 n − 1 4 n + 1 … … ⑩ \frac{\bigtriangleup t_{n+1} }{\bigtriangleup t_{n} } ≈\frac{4n-1}{4n+1} ……⑩ tntn+14n+14n1……

1.3误差分析
△ t n + 1 △ t n 与 4 n − 1 4 n + 1 之间存在误差 \frac{\bigtriangleup t_{n+1} }{\bigtriangleup t_{n} } 与\frac{4n-1}{4n+1} 之间存在误差 tntn+14n+14n1之间存在误差
为消除该误差,在计算过程中需乘上一个误差系数K
取 K = 0.676 取K=0.676 K=0.676

1.4计算定时器初值
Δ t 1 = 2 ∗ s t e p a 0 \Delta t_{1} =\sqrt{\frac{2*step}{a_{0} } } Δt1=a02step

校正后:
Δ t 1 = K 2 ∗ s t e p a 0 \Delta t_{1} =K\sqrt{\frac{2*step}{a_{0} } } Δt1=Ka02step

定时时间递推关系:
Δ t n + 1 = 4 n − 1 4 n + 1 Δ t n \Delta t_{n+1} =\frac{4n-1}{4n+1} \Delta t_{n} Δtn+1=4n+14n1Δtn

定时器采用16位溢出模式:
C n = 65536 − Δ t n ∗ X t a l 12 C_{n} =65536-\Delta t_{n} *\frac{Xtal}{12} Cn=65536Δtn12Xtal

Xtal:晶振频率
Cn:定时器初值

二. 加速+减速过程计算
在这里插入图片描述根据基本运动定理:

  • w m a x = a 0 ∗ t n 0 … … ⑪ w_{max} =a_{0} *t_{n0} ……⑪ wmax=a0tn0……
  • w m a x = a 2 ∗ t n 2 … … ⑫ w_{max}=a_{2} *t_{n2} ……⑫ wmax=a2tn2……
  • a n g l e 0 = 1 2 a 0 ∗ t n 0 2 … … ⑬ angle_{0}=\frac{1}{2} a_{0} *t_{n0}^{2} ……⑬ angle0=21a0tn02……
  • a n g l e 2 = 1 2 a 2 ∗ t n 2 2 … … ⑭ angle_{2}=\frac{1}{2} a_{2} *t_{n2}^{2} ……⑭ angle2=21a2tn22……
  • a n g l e = a n g l e 0 + a n g l e 2 … … ⑮ angle=angle_{0}+angle_{2}……⑮ angle=angle0+angle2……

由⑪~⑮得:
a n g l e 0 = a n g l e a 2 a 0 + a 2 … … ⑯ angle_{0}=angle\frac{a_{2}}{a_{0}+a_{2}}……⑯ angle0=anglea0+a2a2……

w_max:角速度(°/s)
a0:加速度(°/s^2)
tn0:加速时间(s)
angle0:加速角度(°)
a2:减速度(°/s^2)
tn2:减速时间(s)
angle2:减速角度(°)
angle:总角度(°)

三. 判断匀速阶段是否存在
3.1 假设存在匀速阶段,运动图像如下
在这里插入图片描述
3.2 假设不存在匀速阶段,运动图像如下
在这里插入图片描述
如下四个变量由用户设定:(配套程序角速度单位均换算为RPM)
angle:转动角度(°)
a0:加速度(°/s^2)
a0:减速度(°/s^2)
w:角速度上限(°/s)

3.3判断angle_max与angle0的大小,即可判断出是否存在匀速阶段
angle_max:不存在匀速阶段情况下,加速角度(°)
angle0:存在匀速阶段情况下,加速角度(°)

由⑯得:
a n g l e m a x = a n g l e a 2 a 0 + a 2 angle_{max}=angle\frac{a_{2}}{a_{0}+a_{2}} anglemax=anglea0+a2a2
由位移定理得:
a n g l e 0 = w 2 2 a 0 angle_{0}=\frac{w^{2} }{2a_{0}} angle0=2a0w2

如果angle_max>angle0,则存在匀速阶段

  • 加速角度 a n g l e 0 = w 2 2 a 0 加速角度angle_{0}=\frac{w^{2} }{2a_{0}} 加速角度angle0=2a0w2
  • 加速角度 a n g l e 2 = w 2 2 a 2 加速角度angle_{2}=\frac{w^{2} }{2a_{2}} 加速角度angle2=2a2w2
  • 匀速角度 a n g l e 1 = a n g l e − a n g l e 0 − a n g l e 2 匀速角度angle_{1}=angle-angle_{0}-angle_{2} 匀速角度angle1=angleangle0angle2
    将转动角度换算为电机步数:
  • 加速步数 a n g l e 0 s t e p = w 2 2 a 0 ∗ 5 X 9 = 5 X w 2 18 a 0 = K 3 a 0 加速步数angle_{0step}=\frac{w^{2} }{2a_{0}}*\frac{5X }{9}=\frac{5Xw^{2} }{18a_{0}}=\frac{K_{3} }{a_{0}} 加速步数angle0step=2a0w295X=18a05Xw2=a0K3
  • 减速步数 a n g l e 2 s t e p = w 2 2 a 2 ∗ 5 X 9 = 5 X w 2 18 a 2 = K 3 a 2 减速步数angle_{2step}=\frac{w^{2} }{2a_{2}}*\frac{5X }{9}=\frac{5Xw^{2} }{18a_{2}}=\frac{K_{3} }{a_{2}} 减速步数angle2step=2a2w295X=18a25Xw2=a2K3
  • 匀速步数 a n g l e 1 s t e p = a n g l e s t e p − a n g l e 0 s t e p − a n g l e 2 s t e p 匀速步数angle_{1step}=angle_{step}-angle_{0step}-angle_{2step} 匀速步数angle1step=anglestepangle0stepangle2step
  • 其中 K 3 = 5 X w 2 18 其中K_{3}=\frac{5Xw^{2} }{18} 其中K3=185Xw2

angle_max≤angle0,则不存在匀速阶段

  • 加速角度 a n g l e 0 = a n g l e m a x = a n g l e a 2 a 0 + a 2 加速角度angle_{0}=angle_{max}=angle\frac{a_{2}}{a_{0}+a_{2}} 加速角度angle0=anglemax=anglea0+a2a2
  • 减速角度 a n g l e 2 = a n g l e − a n g l e 0 减速角度angle_{2}=angle-angle_{0} 减速角度angle2=angleangle0
    将转动角度换算为电机步数:
  • 加速步数 a n g l e 0 s t e p = a n g l e s t e p a 2 a 0 + a 2 加速步数angle_{0step}=angle_{step}\frac{a_{2} }{a_{0}+a_{2}} 加速步数angle0step=anglestepa0+a2a2
  • 减速步数 a n g l e 2 s t e p = a n g l e s t e p − a n g l e 0 s t e p 减速步数angle_{2step}=angle_{step}-angle_{0step} 减速步数angle2step=anglestepangle0step
  • 其中 a n g l e s t e p = 5 X a n g l e 9 其中angle_{step}=\frac{5Xangle }{9} 其中anglestep=95Xangle

四、程序流程如下
在这里插入图片描述
五、测试
烧录hex文件后,单片机上电,步进电机经历T型加减速过程,总共转动360°
请添加图片描述

六、功能扩展
扩展1:(实测视频见文末百度网盘)
① 增加4个按键,控制电机启动、转角、加速度、减速度、速度上限
② 增加数码管,显示信息
在这里插入图片描述

七、总结
上述内容对T型加减速的过程进行了推导与计算,可以实现常规的T型加减速运动。但是其中有两个缺陷:

  1. 起始速度从0开始,在步进电机实际使用过程中,起始速度没有必要从零开始,如果速度不从0开始,上述递推过程是不成立的
  2. ∆t(n+1)=(4n-1)/(4n+1)∆tn递推公式对51单片机而言,计算量很大,12MHz晶振频率下,计算一次需要约0.8ms,导致脉冲频率上限很低,在驱动器细分为2的情况下,步进电机速度上限约为200RPM,如采用更大细分,速度上限会进一步降低

对此两个问题点,对T型加减速进行了优化,请见下一节内容

八、附件
Hex测试程序+测试视频请见百度网盘
链接: https://pan.baidu.com/s/1j70qb8vVxGnXTfHf4T4qhg
提取码: fnre

Keil源码请见某宝,搜索:【皮皮黄步进电机】

↓↓↓点击下方【目录】,查看本系列全部文章


原文地址:https://blog.csdn.net/LuDanTongXue/article/details/134255273

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!