Umstieg von LinuxCNC + Mesa auf EtherCAT (Leadshine EL8 / Beckhoff) – Erfahrunge

More
8 months 4 days ago #343663 by Muecke
Hallo @nichtAlex, 

welche Treiber sind das von StepperOnline? 
Ich überlege, die A6-Serie (AC) zu nehmen, doch die von StepperOnline konnten mir nicht versichern, dass diese mit LinuxCNC funktionieren. Sie glauben es zwar, getestet haben sie es aber noch nie. 

Was mich noch interessieren würde: Was stört dich an den IOs der Motortreiber, sodass du sie nicht nutzen möchtest?
Hast du den Home-Eingang dann nicht in Benutzung? 
Sind das AC- oder DC-Motortreiber bei dir? 

Gruß Mücke 

Please Log in or Create an account to join the conversation.

More
8 months 4 days ago #343670 by nichtAlex
Das sind die A6-400EC 400 Watt EtherCat Treiber. Laufen mit einphasig 230V AC. Da die das cia402 Profil nutzen lassen die sich ganz normal mit LinuxCNC und der cia402 Komponente ansteuern. Beispiele für die ethercat-conf.xml gibts hier im Forum ja genug zu den A6 Treibern.

An sich stören mich die IOs der Treiber nicht aber ich finde das übersichtlicher/sauberer wenn alles auf die Beckhoff Module geht. Keine Lust da jetzt noch irgendwelche d-sub stecker zu löten für die Treiber. Habe durch mein Bedienpult nen haufen Digitalein- und ausgänge und mit den Beckhoff Modulen hab ich das schön sortiert.

Ich nutze die Treiber im inkrementalen Modus und referenziere nur über linuxcnc und nicht über den Treiber selber
The following user(s) said Thank You: Muecke

Please Log in or Create an account to join the conversation.

More
7 months 4 weeks ago #343711 by Muecke

Das sind die A6-400EC 400 Watt EtherCat Treiber. Laufen mit einphasig 230V AC. Da die das cia402 Profil nutzen lassen die sich ganz normal mit LinuxCNC und der cia402 Komponente ansteuern. Beispiele für die ethercat-conf.xml gibts hier im Forum ja genug zu den A6 Treibern.
Perfekt, danke! Das nimmt mir ein wenig die Angst. :-)

An sich stören mich die IOs der Treiber nicht aber ich finde das übersichtlicher/sauberer wenn alles auf die Beckhoff Module geht. Keine Lust da jetzt noch irgendwelche d-sub stecker zu löten für die Treiber. Habe durch mein Bedienpult nen haufen Digitalein- und ausgänge und mit den Beckhoff Modulen hab ich das schön sortiert.
Ah okay, das verstehe ich. Die IOs sind am CN1 der D-Sub. Das hatte ich noch gar nicht auf dem Schirm, dass man die Kabel dann daran löten müsste. Das ist ein guter Hinweis, danke!

Ich nutze die Treiber im inkrementalen Modus und referenziere nur über linuxcnc und nicht über den Treiber selber
Was genau bedeutet es, wenn du die Treiber im inkrementalen Modus nutzt?

Please Log in or Create an account to join the conversation.

More
7 months 4 weeks ago #343718 by nichtAlex
Die Motoren können mit einem zusätzlichen Geber-Kabel (mit Batteriebox) mit absoluter Positionierung genutzt werden. Dadurch "merkt" sich der Motortreiber die Position auch wenn die Hauptspannung abfällt. Auch manuelle (per Hand) Bewegungen werden erfasst und beim einschalten weiß der Motortreiber ohne referenzieren direkt wo er genau ist. Man muss lediglich ein mal den Nullpunkt im Treiber setzen. Habe mich damit allerdings nicht allzu viel beschäftigt.

Ich nutze die Motoren im inkrementalen Modus, der Treiber weiß also nicht wo der Motor steht sondern nur wie viele Pulse er in eine oder die andere richtung gedreht hat seit dem einschalten. Hier ist also jedes mal eine referenzfahrt der achsen erforderlich und diese mache ich über LinuxCNC in Verbindung mit einigen induktiven näherungsschaltern.
The following user(s) said Thank You: Muecke

Please Log in or Create an account to join the conversation.

More
7 months 3 weeks ago #344043 by Muecke

nichtAlex wrote: Die Motoren können mit einem zusätzlichen Geber-Kabel (mit Batteriebox) mit absoluter Positionierung genutzt werden. Dadurch "merkt" sich der Motortreiber die Position auch wenn die Hauptspannung abfällt. Auch manuelle (per Hand) Bewegungen werden erfasst und beim Einschalten weiß der Motortreiber ohne Referenzieren direkt wo er genau ist. Man muss lediglich ein Mal den Nullpunkt im Treiber setzen. Habe mich damit allerdings nicht allzu viel beschäftigt.


Oh, das ist ja cool! So etwas habe ich in einem Video von Leadshine EL8 gesehen. cool das das die A6 von www.omc-stepperonline.com auch können. 

nichtAlex wrote: Ich nutze die Motoren im inkrementalen Modus, der Treiber weiß also nicht wo der Motor steht, sondern nur wie viele Pulse er in die eine oder andere Richtung gedreht hat seit dem Einschalten. Hier ist also jedes Mal eine Referenzfahrt der Achsen erforderlich und diese mache ich über LinuxCNC in Verbindung mit einigen induktiven Näherungsschaltern.


Ah okay, Du nutzt also die Funktionen der Treiber nicht aktiv, sondern überlässt die Referenzierung weiterhin LinuxCNC.

Können grundsätzlich alle Treiber, die das CiA402-Profil (EtherCAT) unterstützen, so einfach eingebunden werden?


Wie muss ich mir das in der Praxis vorstellen – nehmen wir an, mein Aufbau wäre wie auf dem Bild dargestellt:

Sagt LinuxCNC dem Servo lediglich, welche Position angefahren werden soll, und der Treiber kümmert sich intern um die komplette Regelung?

Und was passiert, wenn ich z. B. über einen Gummipuffer Schlupf im System habe?  
Korrigiert der Treiber das selbstständig über den Encoder, weil Soll- und Ist-Position nicht übereinstimmen?  
Oder würde er in so einem Fall einen Fehler ausgeben, weil die gemessene Bewegung (Encoder) nicht zu den berechneten Schritt-/Zeitwerten passt?

Auch wenn Du geschrieben hast, dass Du Dich nicht intensiv mit den erweiterten Treiberfunktionen beschäftigt hast, frage ich trotzdem einmal in die Runde:

Der Treiber kann sich offenbar einen Home-Punkt merken und mit Batterie sogar seine absolute Position speichern – auch wenn die Anlage ausgeschaltet ist.

Wie läuft das dann beim Einschalten einer LinuxCNC-Maschine ab?  
Aktuell muss ich immer referenzieren.  

Melden die Treiber beim Einschalten ihre aktuelle Position inklusive Home-Information an LinuxCNC zurück, sodass die Maschine direkt als referenziert gilt?  
Könnte man theoretisch sofort loslegen?

Ich bekomme das gedanklich noch nicht ganz sauber zusammen.  
In meinem Kopf herrscht da gerade noch ziemliches Chaos – und ich weiß selbst noch nicht ganz, welche Fragen ich eigentlich genau stellen müsste.  
Das ärgert mich gerade ein gewaltig ?

vg Mücke 

Please Log in or Create an account to join the conversation.

More
7 months 2 weeks ago #344421 by Gogonfa
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 
The following user(s) said Thank You: Muecke

Please Log in or Create an account to join the conversation.

Moderators: Muecke
Time to create page: 0.074 seconds
Powered by Kunena Forum