电工基础知识_电工技术-电工最常见电路移动版

电工基础主页 > 电工基础

分析驱动步进电机的应用(2)


3.3 精确的位置(圈数)控制
3.3.1 PTO0_RUN + 中断
卷绕定位与圈数控制,达到0.1圈以内的精度即可,以10000步/转的细分驱动器,0.1圈相当于1000脉冲。
假使PTO正以最高100kHz速度输出脉冲,以1ms的时间响应中断,脉冲的误差约为100个,所以从理论上说,中断方式把脉冲误差控制在1000个以下完全可以。
当PTO0_MAN指令RUN=1允许脉冲输出时,脉冲序列从最低速(起始速度,本例设为100p/s,很小,可以认为0)线性加速,加到指定速度speed后保持匀速,当收到减速停止RUN=0命令时,线性减速,至最低速后停止。
所以,我们只要在脉冲输出前计算出停止指令执行的位置,并在此位置设置中断以便执行减速停止指令,就可保证输出的序列脉冲个数在要求的误差范围内。
计算过程:
本例加速和减速的斜率是相同的,比较简单,如果两个斜率不同,计算稍麻烦一点,原理差不多。
3.3.1.1 用向导生成一个最高速单速包络,从生成的PTO0_DATA中找出加速和减速脉冲数(可以参考3.3.2节的描述),如果加减速斜率相同,这两个数应该是一样的,由于计算精度的关系,差几个脉冲也属正常。这个数据在程序中可以作为常数使用。
3.3.1.2 如果目标脉冲数大于加速和减速脉冲数之和,表示脉冲输出可以加速到最高速,有恒速阶段,那么中断位置=目标脉冲数-减速脉冲数;
3.3.1.3 如果目标脉冲数不大于加速和减速脉冲数之和,无恒速阶段,包络变成一个等腰三角形(两边斜率相同的情况),那么中断位置=目标脉冲数/2。
3.3.1.4 更进一步,水平恒速的速度可变,就象本案的情况,卷绕速度是可设定的,而且这个速度受机械/电机最高限速、薄膜最高线速的限制,取三者中的最小值,然后才能确定加速到该速度所需的脉冲数,通过简单的数学计算即可获得。
3.3.2 PTO0_RUN + 修改包络参数
用向导生成一个单一速度包络,我们来研究自动生成的包络数据结构:
PTO0_DATA
//----------------------------------------------------------------
//输出 Q0.0 的 PTO 包络表
//---------------------------------------------------------------- (责任编辑:admin)
相关文章