Forum: Mikrocontroller und Digitale Elektronik Synchronisierung mehrerer CNC Achsen über CAN Bus


von Martin G. (Firma: www.engyneer.at) (martin_g697)


Lesenswert?

Hi!
Ich habe eine Maschine.
Sie besteht aus X, Y Linearmotor Achsen und Z ist eine Spindelachse 
angetrieben von einem BLDC Motor. Alle Motoren arbeiten mit Encodern.

Als Treiber nehme ich Elmomc Cello A10/100. Die können bis 10A durch die 
Spulen jagen.

Einstellung und Homing geht über CAN Bus. Vor allem, weil ich auf die 
Encoder Index Pulse referenziere.

Bis jetzt hab ich die Bahnbewegungen mit externem Step-Dir Befehlen mit 
Hilfe von Arduino Grbl gemacht.
Also ich hab mir erst mal die Arbeit gespart einen G-Code zu CAN Bus 
Converter zu machen.

Aber jetzt möchte ich eine 4. und eine 5. Achse aufbauen. Ich sehe aber 
Grbl im Arduino Uno ist nicht fähig die 4. Achse zu betreiben, zu wenig 
Ports.

So, wie würdet ihr das Problem lösen?

Ich dachte daran, da die Cello auch zeitsynchron arbeiten können, 
vielleicht den g-code Interpreter selber zu machen, aber gibts das nicht 
schon irgendwo?

Hat jemand Erfahrung, wie man über CAN Bus 2D/ 3D / 4D  Bewegungen 
machen kann?

Ich dachte mir, z. B. bei 2D Bewegung von z. b. X und Y Achse, geeignet 
berechnete Fahrbefehle an die Cello senden. Aber das geht nur mit 
geraden linien, und auch aus denen werden eher Bananen als gerade 
linien.
Von Kreisen kann ich erst mal nur träumen, da man da Sinus und Cosinus 
irgendwie den Cello mitteilen müsste.

Einfacher wäre statt grbl ein board mit mehr Ausgängen zu nehmen.

Was hat bei euch super funktioniert?

von Gabriel M. (gabse)


Lesenswert?

Martin G. schrieb:
> Grbl im Arduino Uno ist nicht fähig die 4. Achse zu betreiben, zu wenig
> Ports.

Arduino Mega mit GRBLMega verwenden?

von Vka (Gast)


Lesenswert?

Ist bei CAN die zeitliche Auflösung ausreichend um die Achsen präzise zu 
fahren? Ich hätte da Zweifel ob das alles synchron genug läuft.

von Martin G. (Firma: www.engyneer.at) (martin_g697)


Lesenswert?

grbl-mega... Da ist aber wenig dokumenitert, und wie heißt der Befehl 
für die 4. oder 5. Achse? (A, B ?) Wo stecke ich die an?

Was ich gefunden hab in den zig Manuals, daß ein master die Zeit an alle 
senden kann, damit synchronisieren die Slave sich, und man kann zu einem 
bestimmten Zeitpunkt eine Bewegung starten.
Aber ein Kreis wird daraus noch nicht.
Wie machen das die Motion controller von den ganzen Anbietern? (Elmo, 
Etel, Technosoft etc)
Die müssen doch auch irgendiwe die Trajektorien rüberschaufeln...

Wie gut kann man mit so Pos/Speed/acceleration tabellen Kreise 
nachbilden?
Hat einer von euch das schonmal gemacht?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.