发表于:2007-07-05 15:42:00
楼主
之前有一些朋友提及过这个问题, 那时本人的观点是:
带载时细分精度失去意义.比如:二相混合步进电机, 一个整步1.8度,10细分, 最大输出扭矩为10牛米,现在带5牛米的负载,忽略摩擦. T1时刻电机停整步位置,现在要让电机转到下一个整步位置, 那么控制器将要发10细分脉冲.第一个脉冲来时,电机瞬间输出力矩为:10*sin(90/10),小于负载,转子不动, 第二个脉冲来时, 电机瞬间输出力矩为:10*sin(2*90/10),小于负载, 转子不动......即带载启动时有一些细分步将失效. 而停下来时, 转子将停在离目标位置距离为+-arcsin(负载/最大输出力矩)的电角度范围内, 故要实现10细分的定位时, 负载必须得小于10*sin(90/10)即必须小于最大输出扭距的0.156倍.
后来经过考虑, 发现, 这只是开环控制的情况. 如果有准确的位置检测装置, 理论上应该是可以实现细分定位的, 甚至是可以实现无级差细分定位的!
比如:依然是上面的情况, 要实现100细分定位, 但现在是闭环控制, 有一个100%准确的位置检测装置. T1时刻, 电机转子在整步位置, 需要转子走到第三个细分步对应的位置,误差不得超过细分步(1.8度的100分之1). 给1个脉冲时,电机瞬间输出力矩:10*sin(90/100), 小于负载5负载, 电机不动......给第33个脉冲时, 电机瞬间输出力矩:10*sin(33*90/100)=4.95牛米, 小于负载, 电机不动;给第34个脉冲时,电机瞬间输出力矩:10*sin(34*90/100)=5.09, 大于负载, 由于5.09是瞬间最大力矩,它只能带动转子走一小段距离, 如果不考虑过冲(这种情况下过冲量是非常小的), 将停在acrsin(5/10)即离34个号脉冲对应该的位置相差30电角度的地方, 此时输出力矩等于负载; 此时由位置检测得知, 还没到达预定位置, 于是给第35个脉冲, 此时瞬间输出力矩为 10*sin(30+90/100)=0.513, 大于负载, 又将带动转子走一小段距离(此时几乎是一个准确的细分步距离), 同样在不考虑小步过冲的前提下, 电机将停在输出力矩等于负载的地方, 即距35个脉冲对应的位置相差30个电角度的地方......就这样, 在位置反馈下给脉冲, 最终将转子带到目标位置, 且能实现误差控制在正负一个细分步内.
在上述分析里, 如果考虑小步运行过冲量, 上述的某些值将会产生一些微小的偏差, 但不影响最终的结果.
同样, 理论上, 如果将细分变成无限大, 那么细分步距将无限小, 小步过冲量将为0, 那么理论上将可实现无误差步进定位.
当然, 上述只是理论分析, 实际中这么做将会使步进反应周期变得非常大. 不过, 我们倒是可以整步运行完了之后, 再用细分步进行细分定位, 调节方法得当的话, 应该可以找到一个精度跟反应时间的合适的结合点.
欢迎讨论!