Hi zusammen,
ich habe mir auch ein Ethercat System aufgebaut. Was die ganzen EMV Probleme angeht empfehle ich auf jeden Fall passende Netzfilter für jede Servo Endstufe und auch (ganz wichtig) für den VFD der Spindel! Hier mal ein Bild von meinem Schaltschrank während der finalen Bausphase. Der Netzfilter für den Delta Ethercat VFD ist noch nicht verbaut, der kommt über die Drossel.
Ansonsten war ich mit dem Testsystem zu frieden! Man hat durch den Ethercat Cycle immer einen Following Error, den konnte ich auch nicht weg tunen! Das ist aber nicht schlimm weil das nur ein Offset ist, LCNC bekommt die Ist-Position vom Drive praktisch um ein bis zwei Ethercat Zyklen später! Da Linux CNC hier aber sowieso nicht regelt (wie bei klassischen Mesa Systemen wo man PID settings nutzt um den Following Error zu minimieren) hab ich mir den DeASDA Treiber etwas modifiziert und gebe mir den realen Schleppfehler der Servo Endstufen aus. Da sieht man, dass dieser extrem klein ist und vernachlässigt werden kann. Die Servos erreichen praktisch immer ihre Sollposition innerhalb eines Zyklus.
Alles in allem wird das, denke ich auf jeden Fall ne deutlich flexiblere Lösung als mit MESA! Verarbeitung von Endschalter, Homing Sensoren und Probes muss man ordentlich machen! Homing/Endschalter kann man über schnelle Beckhoff Klemmen anschließen, damit es hochgenau wird und der Ethercat cycle offset hier nicht reinhaut, am besten den Index Pin der Servo Encoder als finale Position nutzen! Das ist extrem genau und sehr reproduzierbar (genauer als jeder induktiver Sensor und genauer als die mechanische Genauigkeit der Spindeln). Man kann die Sensoren aber auch direkt am Drive anschließen. Die Touch Probe hab ich an einer Klemme die auch Zeitstempel macht wenn ein Eingang geschaltet wird! Leider kann die Ethercat Implementierung in LinuxCNC diesen Zeitstempel nicht auswerten um die exakte Position beim antasten zu ermitteln….da einfach Geschwindigkeit beim zweiten Antasten so weit runter wie nötig um den Fehler im unterm Mikrometern Bereich zu halten. (Kennt jemand hier einen besseren Weg?)
Beste Grüße