Jump to content

Stepper neue Position senden während des ausführen möglich?


Recommended Posts

Hallo Ich versuche eine 3Axen Steuerung zu programieren womit auch Kreise gefahren werden können habe aber das problem das die Stepper immer auf 0 abbremsen und dann erst neue Positionswerte annehmen gigt es eine möglichkeit während der ausführung schon neue Positionswerte zu überspielen so das die Motoren(Stepper) nicht die Rampen ausführen?

Dann habe Ich noch eine Frage wo kann Ich nachlesen wann und wo die IPconnection aufgebaut und wieder geschossen werden muß.

Link zu diesem Kommentar
Share on other sites

Eins Vorweg: Zu den Motoren (Schrittmotoren) und den Bricks kann ich so jetzt nichts sagen. Normalerweise öffnet man eine IP Connection pro Deamon, als falls du das nach wie vor für deinen 3D Drucker brauchst eine IPcon zu der du alle 3 Stepper Bricks initialisierst.

Am Ende deines Programms schließt du die Verbindung dann wieder. Sonst bleibt die immer offen. Details über die IP Connection kannst du in der Dokumentation zu jeweiligen Programmiersprache unter Misc => IP Connection nachlesen. Für C wäre das unter http://www.tinkerforge.com/en/doc/Software/IPConnection_C.html zu finden.

 

Eine Andere Sache die dir aber vermutlich Probleme bereiten wird ist der fehlende Buffer. Soweit ich weiß kann man nicht mehrere Befehle Vorweg senden. Als ich meinen 3D Drucker geplant habe, hatte ich auch darüber nachgedacht was mit TF zu machen, da dann aber genau aus dem Grund aufgegeben. Gerade wenn du sehr präzise und feine Strukturen fahren willst, müssen die X und Y absolut synchron arbeiten. Bei TF musst du aber jeden Stepper nacheinander ansprechen. Dazwischen kann es schonmal zu Verzögerungen kommen, die z.B. dafür sorgen würden, dass die Y Achse etwas weiter ist als die X Achse. Deshalb werden einem 3D Drucker immer mehrere Positionswerte in den Buffer geschrieben, sodass der Drucker bereits mit den nächsten Werten arbeiten kann.

Ehrlich gesagt würde ich TF Hardware in dem Punkt als zu ausgelastet ansehen. Bei einem 3D Drucker berechnet normalerweise nicht der Rechner den Verfahrweg, sondern das Treiberboard. Der Rechner liefert nur die Zielpositionen im GCODE.

Ohne jetzt hier TF schlecht reden zu wollen, würde ich dir Empfehlen für einen 3D Drucker andere Hardware wie einen Arduino zu verwenden. Dazu gibt es dann auch bereits fertige Treiberboards wie RAMPS.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...