Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Closed Loop für Schrittmotoren

geschrieben von Zizibee 
Closed Loop für Schrittmotoren
29. December 2017 13:02
Hallo zusammen,

ich habe letztens Schrittmotoren von Didi bekommen, die einen Encoder eingebaut haben und wenn man so etwas schon hat, dann will man es natürlich auch nutzen winking smiley
Hat hier jemand Erfahrung damit, wie man die Stepper als closed-loop einbauen kann? Ich habe zwar ein paar Boards gefunden, aber die waren meist unbezahlbar...

Mal eine ganz grundlegende Frage zu Closed-Loop:
Wäre es nicht sinnvoller, die Rückmeldung des Encoders zum Arduino zurück zu führen, wo das Signal dann über die Firmware ausgewertet wird? Wenn dann z.B. der X-Motor hängt, dann könnte der Y-Motor warten, bis der X-Motor seine Position tatsächlich erreicht hat.
Gibt es eine Firmware, die so etwas unterstützt?


Grüße
Martin
Re: Closed Loop für Schrittmotoren
30. December 2017 05:17
Marlin 2.0 hat Encoder Auswertung mit drin, ob das bei den älteren Versionen auch so ist weiß ich nicht.


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
31. December 2017 08:07
Danke für die Antwort! Ich habe nun den Absatz "I2C Position Encoder Settings" in Marlin 2.0 gefunden.

Das heißt also ich muss einen I2C-Bus aufbauen und da die Encoder anhängen. Was aber nicht so einfach funktionieren dürfte, da die Encoder, so wie ich das verstehe, keinen I2C unterstützen...
Muss ich zwischen Bus und Encoder ein µC mit I2C Anschluss hängen und den programmieren oder gibt es für so etwas schon fertige Platinen? Oder bin ich da komplett auf dem Holzweg?
Hat hier jemand schon mal so etwas (ähnliches) gemacht? Sonst hilft wohl nur fleißig einlesen...


Grüße
Martin
Re: Closed Loop für Schrittmotoren
31. December 2017 11:09
Hier mal ein WIKI die arbeiten aber mit Hal-Gebern die schon von sich aus I2C unterstützen. Für diese Encoder ist der Teil in Marlin auch gedacht.

1-mal bearbeitet. Zuletzt am 31.12.17 11:10.


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
31. December 2017 12:08
Dann weiß ich jetzt also, wie man es benutzen sollte und muss raus bekommen, auf welche Arten man es sonst noch benutzen kann winking smiley
Oder ich finde irgendeine andere Art und Weise die Encoder in den Motoren zu nutzen...


Grüße
Martin
Re: Closed Loop für Schrittmotoren
31. December 2017 12:41
eigentlich ist der encoder kram nutzlos *g* nach dem homen weiß dein Drucker wo er steht und wenn er schritte verliert beim drucken nutzen die Encoder auch nix winking smiley


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
31. December 2017 16:50
[youtu.be]

Da siehst du die Funktionsweise von einem closed loop Stepper


Gruß
Gregor
Re: Closed Loop für Schrittmotoren
31. December 2017 18:42
ok winking smiley


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
01. January 2018 17:19
Hi Zizibee
Was Dir erstmal nicht hilft,
Die TMC2130 Stepper-Treiber können das nicht mit der im Video gezeigten Eleganz, sind aber bei entsprechender Konfiguration auch in der Lage Stepfehler zu erkennen.
Die bislang beste Umsetzung zeigt nach meinem Empfinden der Prusa i3-MK3.
Dazu findet man reichlich Videos auf der Tube.

Interessant wäre zu wissen mit welcher Firmware der Drucker Deines Video´s fährt.

Hast Du schon versucht mit dem Autor in Kontakt zu kommen ??


Die Dummheit ist rund. Niemand weiß, wo sie anfängt und wo sie aufhört.

------------------------------------------------------------------------------------------------------------------------------------
(Wood) CTC - i3Clone a.D.
(Yellow) i3-Steel Eigenbau ( Ramps 1.4 )
(Green) Prusa i3-MK3
(Red) DICE von Skimmy
(Blue) Anycubic Chiron

Luclass
Re: Closed Loop für Schrittmotoren
03. January 2018 10:19
Quote
luclass
Die TMC2130 Stepper-Treiber können das nicht mit der im Video gezeigten Eleganz, sind aber bei entsprechender Konfiguration auch in der Lage Stepfehler zu erkennen.
Gibt es eine genauere Beschreibung wie man das macht und wie erfolgreich der Stepper die Schrittverluste erkennt und das ausgleichen kann? Machen die Stepper das so gut, dass es sich dafür lohnt sie zu kaufen?

Quote
luclass
Die bislang beste Umsetzung zeigt nach meinem Empfinden der Prusa i3-MK3.
Der scheint echt gut durchdacht zu sein und hat auch einige Extras, allerdings wollte ich mir keinen neuen Drucker kaufen...


Grüße
Martin
Re: Closed Loop für Schrittmotoren
05. January 2018 03:29
Die TMC2130 können keine Schrittverluste erkennen. Sie erkennen, dass ein Schrittverlust eintreten könnte. Dementsprechend lassen die sich dann konfigurieren.

Ein Modus erzeugt ein Signal bei drohendem Schrittverlust. Man könnte die Geschwindigkeit dann z.B. reduzieren. Oder dieses Signal als einfachen Endstop nutzen. Aber das funktioniert auch nicht bei allen Geschwindigkeiten.
Ein andere Modus, der auf den ersten Modus aufbaut ist, dass der Motor selbst die Geschwindkeit reduziert.

Stark vereinfacht:
Wenn vom Controller z.B. 1000 Schritte erzeugt werden sollen, der TMC aber merkt, dass die Kraft zu stark ansteigt, dann ignoriert er Schrittbefehle vom Controller, z.B. werden anstatt 1000 Schritte nur 800 Schritte im gleichen Zeitraum, aka geringere Geschwindigkeit, gefahren. Am Ende kann man jetzt über SPI auslesen, wie viele Schritte der TMC vom Controller ignoriert wurden. In dem Beispiel würden da also 200 drin stehen.

Wenn wirklich Schrittverluste eintreten, kann der TMC diese nicht erkennen. Zumindest nicht deren Anzahl.


Triffid Hunter's Calibration Guide --> X <-- Drill for new Monitor Most important Gcode.
Re: Closed Loop für Schrittmotoren
05. January 2018 13:17
Danke für die Erklärung!

Jetzt muss ich mir nur weiter überlegen was ich machen will eye rolling smiley

1-mal bearbeitet. Zuletzt am 05.01.18 13:18.


Grüße
Martin
Re: Closed Loop für Schrittmotoren
09. January 2018 07:21
Wurstnase....

im Grunde hast Du recht, doch die Auswertung ob der Motor blockiert wird findet beim TMC2130 über den erhöhten Motorstrom statt.
Das ist auch der Grund warum der Prusai3 MK3 auch komplett auf Endschalter verzichten kann.

Wenn im Druckprozess eine Blockade detektiert (steigender Motostrom) wird merkt sich die Firmware an welchem Punkt des GCodes der Fehler aufgetreten ist....dann werden die X und Y-Achse gehomed und der Druck kann dann fortgesetzt werden.

Die von mir bewunderte Eleganz aus dem Video ist natürlich auf Grund des ClosedLoop begründet, weil da der Motor wirklich weiss wo er steht und nicht wie bei unseren Standard-Antrieben.
Nur nach einem Homing kann der Controller hoffen das jeder Step korrekt ausgeführt wird (mit den "normalen" Stepperdrivern 4988 8255 und auch TMC2100).
Da ist der TMC2130 ein gelungener Zwischenschritt zwischen OpenLoop und ClosedLoop und da ist natrürlich die jeweilige Druckerfirmware der entscheidende Faktor.
Der Prusa i3-MK3 ist da auch nicht fehlerfrei (wie einige wenige Videos beweisen) aber es ist schon mal guter Schritt.

Deswegen wäre für Zizibee eine Kontaktaufnahme mit dem User der das Video eingestellt hat von höchstem Interesse um abzufragen welche Firmware auf der Maschine des Videos werkelt.


Die Dummheit ist rund. Niemand weiß, wo sie anfängt und wo sie aufhört.

------------------------------------------------------------------------------------------------------------------------------------
(Wood) CTC - i3Clone a.D.
(Yellow) i3-Steel Eigenbau ( Ramps 1.4 )
(Green) Prusa i3-MK3
(Red) DICE von Skimmy
(Blue) Anycubic Chiron

Luclass
Re: Closed Loop für Schrittmotoren
09. January 2018 09:31
Quote
luclass
Die von mir bewunderte Eleganz aus dem Video ist natürlich auf Grund des ClosedLoop begründet, weil da der Motor wirklich weiss wo er steht und nicht wie bei unseren Standard-Antrieben.
[...]
Deswegen wäre für Zizibee eine Kontaktaufnahme mit dem User der das Video eingestellt hat von höchstem Interesse um abzufragen welche Firmware auf der Maschine des Videos werkelt.

Genau, durch den ClosedLoop der uStepper, die ihren eigenen onboard stepper driver haben, weiß der uStepper immer wo sich der Motor befindet und kann notfalls nachregeln. Deshalb gehen die Signale nicht zum aufgesteckten stepper driver, sondern zum uStepper, der dann den Motor ansteuert.
Mit der Firmware hat das aber erstmal nichts zu tun, da sie vom Encoder und dem Nachregeln nichts mitbekommt.

Eleganter fände ich, wenn die Encodersignale zentral von der Firmware verarbeitet werden würden. Dann würde nicht nur der hängende Motor nachgeregelt werden, sondern alle anderen Motoren könnten auf ihn warten. Daher versuche ich weiter rauszubekommen, was Marlin 2.0 mit den Encodersignalen über den I2C-Bus macht und wie die Firmware darauf reagiert.
Da ich dazu nichts in der Doku gefunden habe, werde ich mich mal durch den Code suchen müssen.

Falls jemand dazu schon etwas gefunden hat oder weiß mit welchen Encodern das mit Marlin schon mal umgesetzt wurde, ich bin für jede Info dankbar!


Grüße
Martin
Re: Closed Loop für Schrittmotoren
09. January 2018 10:02
Hab doch oben schon den WIKI Eintrag zu den passenden Encodern geschickt (sind halt Halgeber statt der Mechanischen).


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
09. January 2018 13:20
Ja das hast du... und wäre ich nicht so versessen darauf gewesen die bereits vorhandenen Encoder zu benutzen, wäre es in meinem Gedächniss bestimmt nicht so schnell wieder hinten runter gefallen.
Vielen Dank fürs erneut posten smiling smiley


Grüße
Martin
Re: Closed Loop für Schrittmotoren
09. January 2018 13:36
Du kannst auch ne eigene Steuerung via Linuxcnc aufbauen, mit Mesa Karten. Da kannst du Dinge wie Heizungen usw selbst konfigurieren.

Damit ist echter closed Loop mit Rückmeldung via Bus an die Stersoftware möglich.


[www.facebook.com]

Power is nothing.....without control!
Re: Closed Loop für Schrittmotoren
09. January 2018 14:12
Quote
Zizibee
Ja das hast du... und wäre ich nicht so versessen darauf gewesen die bereits vorhandenen Encoder zu benutzen, wäre es in meinem Gedächniss bestimmt nicht so schnell wieder hinten runter gefallen.
Vielen Dank fürs erneut posten smiling smiley

Na deswegen sind wir doch hier oder nicht ?*lach*


Wer freundlich zu mir ist zu dem bin auch ich freundlich. Wer Schreibfehler findet darf sie gerne behalten winking smiley / Geeetech Prusa I3 ProX extended / Repetierhost / Mattercontroll / Slic3r
Re: Closed Loop für Schrittmotoren
10. January 2018 07:24
Quote
Stud54
Du kannst auch ne eigene Steuerung via Linuxcnc aufbauen, mit Mesa Karten. [...]

Das ist eine sehr interessante und extrem erweiterbare Lösung!
Zur Zeit finde ich das für meinen kleinen Prusa i3 aber etwas übertrieben (wie sich allerdings gezeigt hat kann sich das schnell ändern).


Grüße
Martin
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen