Willkommen! Anmelden Ein neues Profil erzeugen

Erweiterte Suche

Servos bei Marlin; bekommen dauer Impuls

geschrieben von XY-23 
Servos bei Marlin; bekommen dauer Impuls
25. September 2018 08:49
Hallo Zusammen.


Ich bin neu hier im Forum und möchte alle herzlich begrüßen.

Nach langem Recherchieren im Internet, bin ich auf diesen Forum gestoßen und glaube dass es für mein Problem das richtige ist.

Ich habe folgendes Problem. Momentan arbeite ich am Bcn3d Moveo, was ein Roboter ist.
Gesteuert wird er über eine abgeänderte Version von der Marlin Softwear. Bisher funktioniert alles außer der Servo Motor, welchen ich an ein Ramps 1.4 und einen Arduino Mega angeschloßen habe. Das Problem ist das jeder Servoport auf dem Ramps 1.4, den ich (in der Firmwear ) aktiviere einen dauer Impuls sendet, wodurch der Servo unkontroliert bis auf anschlagfährt, wenn man das board aktiviert.

Meine Frage wäre ob es eine Lösung gibt, die Servoports zu deaktivieren solange ich sie nicht über den g Code Befehl M280 P S expliziet ansteuere. Eventuell basiert der Fehler auch auf einer falschen Configuration für die Servos in der Firmwear.

Bisher habe ich nur in configuration.h #define PROBE_SERVO_DEACTIVATION_DELAY 300, #define SERVO_ENDSTOPS{-1,-1,0} und
#define SERVO_ENSTOPS_ANGELS {0,0,0,0, 70,0}
aktiviert. Was bei mir keinen Unterschied zum deaktivierten Zustand macht.



Wäre sher dankbar wenn mir jemand weiterhelfen könnte
Grüße XY-23
Re: Servos bei Marlin; bekommen dauer Impuls
25. September 2018 10:19
http://marlinfw.org/docs/configuration/configuration.html#servos

// Only power servos during movement, otherwise leave off to prevent jitter
//#define DEACTIVATE_SERVOS_AFTER_MOVE


funktioniert evtl. diese config-Zeile? (die beiden "//" entfernen)
(die Zeilennummer der Textdatei müsste um 1925 liegen https://github.com/MarlinFirmware/Marlin/blob/1.1.x/Marlin/Configuration.h)


Ist in der Firmware auch das RAMPS1.4 board ausgewählt? Damit die Pins auch stimmen?



"Servo-Probe" und "Servo-Endstop" kann es eigentlich nicht sein. Ersteres ist für automatisches Bed-Leveling beim Drucker und das zweite für Endlagenschalter die auf Servos befestigt sind.

Ist der Servo für den Greifer vorn am Roboter-Arm zuständig?

Viele Grüße

3-mal bearbeitet. Zuletzt am 25.09.18 10:34.
Re: Servos bei Marlin; bekommen dauer Impuls
26. September 2018 05:56
Danke für die schnelle Antwort.

Musste leider gerade feststellen, das in der geänderten Version, confiq.h bei Zeile 1000 aufhört und #define DEACTIVATE_SERVOS_AFTER_MOVE nicht mehr vorkommt, vermutlich basiert die Roboter firmwear noch auf Marlin 1.0 anstatt auf 1.1.

Habe jetzt aus Intresse mal die standart Marlin firwear 1.1 genommen, etwas geändert so das die Servos für den Roboter laufen und deinen Tipp ausprobiert.
Die Servos haben daraufhin funktioniert. Also danke für den Tipp.

Muss jetz leider nur noch schauen ob es möglich ist diese Funktion in die Roboter firmwear einzubinden, oder Marlin 1.1 soweit zu ändern das diese beim Roboter funktioniert.

Und ja der Servo soll die Greifzangen steuernwinking smiley)

2-mal bearbeitet. Zuletzt am 26.09.18 05:58.
Re: Servos bei Marlin; bekommen dauer Impuls
26. September 2018 06:13
Quote
XY-23
Danke für die schnelle Antwort.

Musste leider gerade feststellen, das in der geänderten Version, confiq.h bei Zeile 1000 aufhört und #define DEACTIVATE_SERVOS_AFTER_MOVE nicht mehr vorkommt, vermutlich basiert die Roboter firmwear noch auf Marlin 1.0 anstatt auf 1.1.

Habe jetzt aus Intresse mal die standart Marlin firwear 1.1 genommen, etwas geändert so das die Servos für den Roboter laufen und deinen Tipp ausprobiert.
Die Servos haben daraufhin funktioniert. Also danke für den Tipp.

Muss jetz leider nur noch schauen ob es möglich ist diese Funktion in die Roboter firmwear einzubinden, oder Marlin 1.1 soweit zu ändern das diese beim Roboter funktioniert.

Und ja der Servo soll die Greifzangen steuernwinking smiley)

Klingt gut. Aber nachdem ich nochmal drüber nachgedacht habe wäre es wohl nicht besonders gut diese Funktion zu benutzen, denn dann hat der Greifer ja quasi keine Kraft mehr sobald er an der Zielstellung ist. Ich meine das Servo versucht dann nicht mehr die Position zu halten wenn keine Impulse kommen, oder?

Das ramps board steuert also den gesamten roboter wenn ich das richtig verstehe? Ist natürlich blöd das die dafür angepasste Version nicht so ganz funktioniert..
Re: Servos bei Marlin; bekommen dauer Impuls
26. September 2018 06:29
Das Stimmt, aber der Servo ist auch ohne Impuls immer noch recht schwer zu bewegen. Besser wäre es aber sicherlich wenn der Servo per Impuls in seiner gewünschten Position bleiben würde.

Ja genau, das Ramps steuert den Kompletten Roboter, über die 5 Schrittmotorausgänge, welche ich an tb6560 Treiber angeschlossen habe (liefern mehr Leistung als die für den Ramps vorgefertigten) und den Servo port.
Leider ist die Firmware in vielen Bereichen nicht abgestimmt, wodurch auch das ansteuern der Schrittmotoren schon eine firmwear Änderung erforderte. Aber beim Servo binn ich jetzt Ratlos.

Aktuell schreibe ich die Marlin1.1 um und hoffe hier auf das gewünschte Endresultat, jedoch gibt es noch Probleme mit negativen Koordinaten und dem Heather pin0 welcher angeblich nicht definiert ist.
Re: Servos bei Marlin; bekommen dauer Impuls
26. September 2018 07:16
Bei der Steuerung der Servos muss IMMER ein Dauerpuls anliegen. Die Stellung der Servos wird mit der Pulsbreite eingestellt. Je höher die Pulsfrequenz, um so weiter dreht der Servo. Kein Puls oder langsame Pulse lassen den Servo zurück drehen.


Liebe Grüße aus Kaltenkirchen.
Frithjof
Meine Seite
[www.facebook.com]
Re: Servos bei Marlin; bekommen dauer Impuls
26. September 2018 08:07
Okai .
Dann liegt das Problem vermutlich daran das dauerhaft ein zu hoher Impuls anliegt, welcher den Servo zu Programstart drehen lässt.
Gibt es in Marlin eine Möglichkeit diesen Servo Impuls zu ändern, bzw. den Impuls für Programstart einzustellen?
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen