| Passwort vergessen?
Sie sind nicht angemeldet.  Anmelden

Sprache auswählen:

myhobby-CNC - Kunden Supportforum

Achsen Synchronisieren
 1 2 3 4
14.12.16 07:49
Emanreztuneb 
Achsen Synchronisieren

Hallo zusammen!

Ich weiß nicht, ob ich hier richtig bin... und normalerweise lese ich mich ein.
Aber in diesem Fall stecke ich irgendwie fest.

Ich bräuchte jemanden, der richtig fit mit MESA Karten ist. (Angesteuert von LinuxCNC)


Also.... so sieht mein Projekt aus:



Ich habe die Konstruktion so gewählt, weil ich keine "ausfahrende/sich streckende" Achse und somit
sich verändernde Hebelkräfte möchte.
Angetrieben wird mit 1,5kw Servomotoren, deren Treiber Step/Dir und +-10V verstehen.
Stahlaufbau ist aus 200er HEM Trägern und mit Beton ausgegossenen Konstruktinsrohren.


So weit so gut.... Aber wie bekomme ich die Z-Achsen synchron?

Mein erster Gedankengang ist, die beiden Endstufen parallel an einen Kanal der MESA-Karte zu hängen.
Dort werden sie dann mit Step/Dir befeuert. (FPGA 5i20 + 7i47)
Zur Positionsauswertung geht nur von einer Endstufe der Encoderausgang zurück zur MESA.
Aktuelle Einstellung sind 16.000 Step/U bei 16mm Spindelsteigung = 0.001mm/Step.


Möchte ich echten Servobetrieb mit +-10V, MUSS ich logischer weise mit 2 Kanälen fahren, weil die Karte ja
auch mit beiden Encodern arbeiten muss.

Aber in meinem Kopf sprechen zwei Dinge absolut dagegen:

- Die FPGAs haben grundsätzlich Step/Dir, was erst auf den Daughterboards umgewandelt wird (Fehlerquelle)
- Es muss eine "Regelung bzw Synchronisation" stattfinden (nächste Fehlerquelle)

Oder sehe ich das alles viel zu kritisch und die Karten machen das locker mit?


Ich hoffe, ich bin hier richtig und jemand hat Zeit sich der Sache ein wenig an zu nehmen.
Ich bin für jede Idee offen! (Außer jemand kommt mir mit Zahnriemen ;)


Ich wünsche stressfreie Weihnachten!

Datei-Anhänge
Render.jpg Render.jpg (4x)

Mime-Type: image/jpeg, 315 kB

14.12.16 08:21
crix

nicht registriert

Re: Achsen Synchronisieren

Hi,

was für ein Monster ;-)
Wir sind hier von der Zahnriemenfraktion auf Basis ShapeOko,
Steuerung ist in der Regel GRBL auf Arduino und wir haben auch keine Positionsrückmeldung.

ABER: Wir haben auch doppelte Achsantriebe. Allerdings keine Servos sondern Stepper.
Dazu schließen wir STEP und DIR der Achse an 2 Treiber (Parallel oder in Serie, je nach dem ob der Treiber einen Optokoppler am Eingang hat) an.

Positionsrückmeldung geht mit dem Ansatz natürlich nur von einer Seite und dem Vertrauen dass die zweite identisch mitläuft.
Ob deine Karte zwei synchrone Achsen unterstützt: keine Ahnung.. wenn ja, wäre das vermutlich die sauberere Lösung.

Ich denke Du wirst in anderen Foren eher kompetente Antworten finden als hier von uns armen Zahnriemen..
Ich glaube bei cncwerk tummeln sich die Kollegen mit den "richtigen" Fräsen...

Gruß
crix

Zuletzt bearbeitet am 14.12.16 08:23

14.12.16 08:32
Emanreztuneb 
Re: Achsen Synchronisieren

Guten Morgen!

Also das mit den "Zahnriemen" war natürlich auf keinen Fall böse gemeint ;)

Eher als kleiner Scherz.
Ich schätze die Leute hier so ein, dass sie bei der Konstuktion in Verbindung mit
Zahnriemen ein Lächeln im Gesicht haben.

Bei meiner Portalfräse zum Plexiglas ausschneiden habe ich es per Riemen + Parallele
Stepper Treiber gemacht.
Funktioniert wunderbar und würde ich auch immer wieder so machen.


Hauptsächlich bin ich ja wegen den MESA-Karten an sich hier.
Ich hoffe gerade in euerem Bereich auf Leute zu treffen, die sie wegen der möglichen
Geschwindigkeiten benutzen.

Aber danke für den Tip! Dann fange ich gleich mal am ersten Tag des Fremdgehen an ;)


Grüße

Tom

14.12.16 08:38
crix

nicht registriert

Re: Achsen Synchronisieren

Von den MESA Karten hab ich hier noch nie gehört, ich schau sie mir bei Gelegenheit mal an.
Glaube nicht dass das hier jemand einsetzt, zumal auch keiner hier mit Servos arbeitet soweit ich weiß.

14.12.16 10:37
Ronald 

Moderator

Re: Achsen Synchronisieren

Hallo Tom,

soweit ich die Steuerungen für BLDC-Motoren kenne, ist es ja so, dass ich Richtungs- und Step-Signale in die Karte reinschicke, und die Positionsrückmeldung direkt von der Karte selber verarbeitet wird. Es ist ja nicht eine "absolute" Positionsrückmeldung, sondern es wird der Winkel zurück gegeben, den sich der Motor bewegt hat. Wenn ich also dem Motor, genauer gesagt der Steuerungskarte, sage das er 16.000 Schritte machen soll dann hört die Karte erst auf den Motor mit Strom zu durchfluten, wenn 360 Grad Winkel vollendet wurden. Das bedeutet, dass die Rückkopplung autonom auf der Karte vollzogen wird. Die Karte sorgt dafür, dass die gewünschten Schritte auch wirklich genau eingehalten werden!

Es müssen also nur die beiden Step- und Richtungssignale parallel in zwei Kontrollerkarten reingeschickt werden?!?

Soweit nach Adam Riese!

LG Ronald

Zuletzt bearbeitet am 14.12.16 10:38

14.12.16 11:01
Emanreztuneb 
Re: Achsen Synchronisieren

Hallo Ronald, hallo Crix!

Ja jain...

Im PC sitzen die PCI MESA-Karten.
Diese bekommen von Linux-CNC die Fahrbefehle.

Die Fahrbefehle schicken sie dann per Step/Dir an die Servoendstufen (genau wie vom Druckerport zu den Steppertreibern)

Die Servoendstufen sind mit den Encodern am Motor im Closed-Loop (schneller Regelkreis)


Nur um Gegensatz zum Druckerport Stepper Aufbau hat die Endstufe (Treiber/Regler) auch einen
Encoder AUSgang. Über den schickt sie das Encoder Signal auch wieder zurück zur MESA Karte.
Die kann so XYZ kontrollieren und korrigieren. (langsamer Regelkreis)
Der PC ist also nicht "blind" sondern weiß, wo die Motoren sind. Ein DRO sozusagen.

Für XYZ ok. Aber reicht es auch um zwei Spindeln in der gleichen Achse zu regeln....


Hänge ich jetzt zwei Endstufen an einen Step/Dir Ausgang der Karte, sollten sie von sich aus synchron sein.
Es kommt folglich auch nur ein Encodersignal von einer der beiden Endstufen zurück.
Also die Positionsabfrage der gesamten Achse.

Eigentlich benutzt man das Setup anders.
Man schickt nicht das Encoder Signal der Endstufen zurück, sondern hängt Glasmaßstäbe dran.
Und der Encoder am Motor ist rein für das "Gespräch" zwischen Motor und Endstufe.


Grüße

Tom

14.12.16 11:41
crix

nicht registriert

Re: Achsen Synchronisieren

Soweit klar.
Du brauchst je Motor einen Treiber. Dieser wird mit STEP/DIR Signal angesteuert und positioniert den Servo anhand der Encoderrückmeldung seines Motors entsprechend der Anforderung über STEP/DIR.
Der Encoder wird benötigt weil der Servo anders als ein Stepper keine Rastpositionen hat und man ohne Encoder nur schätzen kann wo der gerade steht.

Es spricht in meinen Augen nichts dagegen die STEP/DIR Signale für eine Achse parallel an zwei Treiber/Motor Einheiten zu geben.
Natürlich muss sichergestellt werden dass der MESA Ausgang 2 Eingänge der Treiber Parallel treiben kann.
Das Rücksignal für die Karte müsste dann nur von einem Treiber an die Karte zurückgehen, egal ob es von einem Glassmassstab kommt oder ein Encodersignal verwendet wird.

Vielleicht gibt es alternativ auch die Möglichkeit eine weitere separate Achse anzusteuern und die softwareseitig mit den gleichen Parametern zu füttern. Das hängt dann davon ab wieviele Kanäle die MESA Karte hat, und ob das CNC Programm in der Lage ist Achsen zu doppeln.

Gruß
crix

Zuletzt bearbeitet am 14.12.16 11:52

14.12.16 12:05
crix

nicht registriert

Re: Achsen Synchronisieren

Hab mal die Karte gegoogelt. Wenn es die 5i20 ist, hat die ja reichlich I/O Ports, so dass man problemlos eine weiteres STEP/DIR Paar spendieren könnte. So wie ich das verstehe bräuchte man nur eine entpsrechende Konfiguration erstellen. Da die Karte einen FPGA einsetzt wäre es sogar denkbar die Karte eine Achse doppeln zu lassen.

Da müsste man sich mal in die Konfigurationsmöglichkeiten einlesen.

14.12.16 12:36
Emanreztuneb 
Re: Achsen Synchronisieren

Naja mal sehen, vielleicht bringen euch die Informationen auch was. Würde mich freuen.

Aktuell bin ich bei der Konfiguation 5i25 + 7i85s.
Zusammen rund 230,- bei CNCMonster.de

Dazu RS422 Glasmaßstäbe.


Was für euch spannend wäre:

Es können die billigsten Treiber und Motoren verwendet werden und das Ergebnis wird
trotzdem besser als "normales" closed loop.

Die 7i85s schließt den Regelkreis mit den Glasmaßstäben.

Wird im Gesamtpaket wieder teurer. Sollte sich aber im Endergebnis lohnen.


In meinem Fall werde ich mal versuchen, die beiden Z Antriebe parallel zu hängen und einen
Glasmaßstab als Feedback zu benutzen.

Aber was mich noch fertig macht, sind die Bezeichnungen....

TTL (also 5V Logic)
TTL single end (A+- B+- eine Seite auf Masse bzw dauer +5V = Step/Dir zwei Adern = wie standard Stepper Setup)
TTL differential (A+ B+ bekommen invertiertes Signal von A- B- als doppelte Sicherheit = Step/Dir vier Adern)
RS422 (tja... = theoretisch TTL differential)
RS422 duplex.... (noch mehr tja.... = theoretisch Datenbus)

Aber wenn man dann die Beschreibungen liest:

- "TTL OR differential by Jumper selection"
- "TTL or differential (RS422)"
- Dann heist es aber plötzlich bei einer RS422: "designed for single end TTL" Hat aber TX0 + /TX0, TX1 + /TX1 usw...

Damit die Verwirrung komplett wird gibt es 2 mal die gleiche Karte (7i85 und 7i85s).
Aber die eine hat RS422 und die andere TTL differential..... hä?


Schwere Geburt...
Aber wenn ich alles zusammen habe, schreibe ich ein komplettes HowTo für alle die es interessiert.

14.12.16 13:09
crix

nicht registriert

Re: Achsen Synchronisieren

RS422 kann einen Pegel auf Senderseite bis +/-10V haben, das wäre dann deutlich mehr als TTL.
Ich würde TTL differentiell entsprechend als +/-5V verstehen und RS422 verträgt dann auch den höheren Pegel, ist aber ggf. auch auf die höheren Pegel angewiesen.

 1 2 3 4
Treibereinstellungen   Stepper   Closed-Loop   Konfigurationsmöglichkeiten   Synchronisieren   einfach   Positionsrückmeldung   differential   Wiederholgenauigkeit   Punkt-zu-Punkt-Verbindungen   Microsteppingschritte   Microstepping   Daseinsberechtigung   Kugelumlaufspindeln   Einstellmöglichkeiten   Klemmenbezeichnungen   Encoder   Interpretationsfehler   Treiber   können