楼主最近还看过
"Arptor" 的回复,发表在1楼
对内容: 【Trio还不够开放?自己还没完全掌握就别乱下结论,Trio本身就已经内置了全闭环的支持。另外全闭环的本质是用一个最近控制对象的MPOS作为PID的反馈信号源,而非电机的MPOS。所以还可以通过User...】进行回复:
-----------------------------------------------------------------
首先感谢大佬提供的思路,每一个总线轴确实都是一个闭环轴,我的习惯让我认为电机本身的位置闭环是半闭环,加了机械结构后的反馈才称为全闭环。
翠欧不够开放指的是,如下图位置闭环示意图,我目前没有找任何计算公式和每一个参数内部存储器地址的相关资料,除此以外其他功能的算法和一些硬件手册根本不开放 。请问大佬,您哪里有相关资料可以分享吗?谢谢
ADD_DAC,ADDAX,这是全闭环要用到的命令。大概的思路是你的电机弄到axis0,编码器设到axis1,然后通过ADD_DAC,ADDAX使2者连接起来。具体怎么用可以联系Trio中国的工程师,Ethercat使用上会跟模拟量+编码器闭环可能有一些区别,Trio Ethercat的全闭环我还没实践过,但是肯定是可以的。
全闭环的实现有很多种,别拘泥于一两个命令。
比如,电机的编码器输入和电机的速度模拟量输出接到AXIS0,载荷(也就是全闭环的光栅)的输入接到AXIS1,然后用上面2个命令把Axis0和axis1组成全闭环。
我就没这么做。我直接到光栅接到AXIS0的编码器口(载荷位置为闭环信息输入),模拟量输出不变还是axis0(电机执行器的速度环为输出)。这样连什么命令都没用就成了全闭环,还省了一个轴axis1的钱。
还有一个思路是把MPOS或者用算法计算好的编码器信息弄到VR0,通过USER_PID处理输出到VR1,再用VR1的数输出到电机速度。
"M默" 的回复,发表在4楼
对内容: 【"Arptor" 的回复,发表在1楼 对内容: 【Trio还不够开放
写在前面:入行没有几年,很多东西还处在学习阶段,说的不对的、不到的地方,欢迎各路大佬指点斧正。
然后关于问题:
首先,总线型控制的运控系统其优势是轴数量多,运动控制器只负责联动插补运算,单一轴精度完全交由伺服驱动器负责。虽说EtherCAT堪称世界最快总线这一点没毛病,但是毕竟总线通讯还是有延迟。利用总线型控制去弥补单轴精度与其基础思路相违背。目前第二反馈可能的方案是找一个编码器反馈信号与EtherCAT通讯的转换模块或者支持EtherCAT的光栅/编码器,但我觉得可能性很低,因为“第二反馈接入控制器提升单轴精度”与总线型“少线多轴,驱动器卡精度,控制器算插补”的基础思路有悖。可以上Beckhoff的官网看一看有没有相应的转换模块,毕竟EtherCAT是他们开发的,他们没有那应该就是没有了。
其次,你上面回复的“全闭环”“半闭环”的概念是没有毛病的,当然把“半闭环”叫成“开环”其实也没错,但是交流起来可能会比较麻烦,就像步进也是伺服电机,但一般说伺服电机都是指永磁同步一样。这些名词并不一定准确、正确,但大家习惯这么叫了,交流就比较方便。
最后,如果半闭环不能达到性能指标,轴数过多坚持EtherCAT总线的话,双反馈的驱动器应该是唯一解决方案。因为在总线型架构中运动控制器本身不是用来参与单轴精度计算的。假设真的有EtherCAT-编码器信号转换模块,和驱动器放在一起,物理上不就是一个双反馈驱动器了么?只不过精度计算是放在控制器还是放在驱动器里执行的区别了。如果一定要运动控制器参与单轴精度(轴数少的情况下),我觉得换成其他控制形式的结构比较好,比方说用PMAC外接一个绝对值信号的光栅,然后以差分模拟量的形式下达指令到驱动器,这样控制器除电源外要接至少10根线,但是其实时性要比总线型控制更好,也更容易出效果。