西安工业大学毕业设计(论文)
加减速实时算法的核心是使用定时中断,当定时器发生超时中断时,中断服务程序推动电机走下一步,然后计算出下一步将要维持的时间,并以之设置定时器下一次的中断时间。当下一次中断来临时,再推动一步,并设置再下一步的时间,如此循环往复。如图2.10所示,步进电机先以加速度
加速,然后以加速度
,从到是
减速到停止,之间没有匀速过程。从到是第一步持续的时间第二步持续的时间,从
到
是最后一步持续的时间和
。
;每一步的时间间
隔越短,平均加减速度越接近
图2.10 用定时器控制时间
如图2.10所示,电机某一步的持续时间(即定时器的延时时间)为
(2.4)
式中:为第n步时定时器的计数值;f为给定时器提供的时钟源频率。
转速
(单位:
)为
(2.5)
加速度
(单位:
)为
(2.6)
式(2.6)假设了每步的平均速度等于中心时间的速度。如果为加速状态,则
,
;如果为减速状态,则
,
。
电机转过的步数n为
12
西安工业大学毕业设计(论文)
(2.7)
转过n步所花的时间为
(2.8) 为
(2.9)
由图2.10可知,第n步的定时器计数值
由式(2.8)和式(2.9)可得第0步的计数值为
(2.10)
也可表
再由式(2.8)、式(2.9)和式(2.10),可得第n步的定时器计数值示为
由式(2.10)可知,第0步的计数值
(2.11) 包含了加速度
的信息,只要把
设
定好,后面的实时计算就不用再考虑了。但式(2.11)需要开平方,它不适合
没有浮点运算功能的处理器,下面再加以变换。
由式(2.11)可得相邻两步的比值为
(2.13)
根据泰勒变换可得
(2.14)
再由式(2.10)、式(2.11)和式(2.13)代入式(2.12)可近似得到
(2.15)
根据泰勒变换可得
(2.16)
13
西安工业大学毕业设计(论文)
把式(2.15)的n换成i,得
(2.17)
由式(2.7)开始,就假设了大于零,即为加速,所以式(2.16)是加速的递推公式,只要知道前一步的计数值,就可以算出后一步的计数值。加速过程如图2.11所示。
可以推断,减速过程是图2.11的逆过程,如图2.12所示。它的第0步是对应加速过程的第i步,最后一步对应加速过程的第0步。如果减速过程中要跑m步,则有
(2.18)
图2.11 加速过程
图2.12 减速过程
现在根据式(2.11)和式(2.12)分别列出相邻的两步c值之比的确切值与近似值,见表2.2所示。这里假设
。
14
西安工业大学毕业设计(论文)
表2.2近似值的误差 n 1 2 3 4 5 6 10 100 1000 确切的0.4142 0.7673 0.8430 0.8810 0.9041 0.9196 0.9511 0.9950 0.9995 近似的0.6000 0.7778 0.8462 0.8824 0.9048 0.9200 0.9512 0.9950 0.9995 近似值误差 0.4485 0.0136 0.00370 0.00152 7.66E-4 4.41E-4 9.42E-5 9.38E-8 9.37E-11 从表2.2可以看出,除外,其他比值的误差都很小。由于每一步的延时
时间是由前一步计算出来的,如果的误差较大,后面每一步的延时误差都增大。解决办法是把单独挑出来,使它等于0.4142倍的递推计算
(2.19)
最后,由式(2.18)可推导出步进电机从速度为0加速到s,以及速度从s减速到0所要走的步数为
(2.20)
,给定时
和
,其他值依然按照式(2.15)
在本例中,加速过程的加速度和加速过程的减速度都为1000
器提供的时钟源频率为50MHz,根据式(2.10)和式(2.16)可以计算出的值,根据式(2.15)就可以导出的值。由以上分析可进行编程调试。
由V1~V6六只功率管构成的驱动全桥可以控制绕组的通电状态。按照功率管的通电方式,可以分为两两导通和三三导通两种控制方式。由于两两导通方式提供了更大的电磁转矩而被广泛采用。在两两导通方式下,每一瞬间有两个功率管导通,每隔1/6周期即60°电角度换相一次,每只功率管持续导通 120°电角度,对应每相绕组持续导通120°,在此期间相电流方向保持不变。为保证产生最大的电磁转矩,通常需要使绕组合成磁场与转子磁场保持垂直。由于采用换相控制方式,其定子绕组产生的是跳变的磁场,使得该磁场与转子磁场的位置保持在60°~120°相对垂直的范围区间。
15
相关推荐: