今天有空 把双环PID也仿真了 说实在的 双环和单环 其实在数学上几乎就是等价的 因为位置是速度的积分 所以速度环的P 其实就是位置环的D 速度环的I 其实就是位置环的P 多出来的速度环的D 其实非常不好用 数值稍大 系统就不稳定了 ... 效果如下图 和单环PID区别不大 略增加速度环的D 会导致颤抖 再增加 就直接飞了
今天顺便仿真了滑膜控制 说起来 在这个场景中 滑膜控制有点类似PD无I的算法 但是其中的P变成了非线性 然后有一定收敛的条件 最传统的趋近律就是基于符号函数的 说白了就是相当非常大的Kp 特点就是拼命 然后抖 通过使用更平滑的趋近律 以及引入速度参量 使得它尽量不那么抖 下面就是仿真结果 可见及其迅猛 就是有点扑楞 (有意思的是 机械系统的滑块的质量平滑了抖动 但是可以预期的是 电机这时候应该在啸叫)
话说纯粹步进电机本身 等于用了一个sin的趋近律 如果加上速度分量呢 效果竟然非常令人满意啊
这给出了一种变形的控制可能 就是在传统的步进电机基础上 假如不考虑最大效率(电磁力矩始终垂直磁链轴) 只需要根据速度差 来控制步进电机电流 就可以很好地改善振动 我似乎也听过什么xxxstep 没准就是这样实现的
基本上已经打消了使用FOC算法的设计 感觉确实不合适在铣雕这样的复杂高速场景 也平息了寻找更好的算法的想法 在大电流和相电感较大的情况下 所有可能需要大电流变换 甚至需要短时间剧烈更改电流方向的 都不可行 必然事实上虽然没有失步 但是仍然会造成跟不上复杂运动的误差 只有电机本身的sin趋近律最合适 只能在这基础上变化
然后 现在思考是否可以尽量减少电机引线 常规的高速光耦方案至少需要4根线 如果使用rs485可以减为两根 甚至可以4个电机并2根 需要2 byte 可惜就需要修改运动控制器 还有是通过10M以上的载波接到电源线上 但是没有廉价的芯片方案 MBus不合适这样的电流 带宽也太窄
附上现在用的电机模型 已经考虑了相电流不能突变的限制
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |