Seite 1 von 1

RF2000 - 3 Servos ansteuern

Verfasst: Do 12. Jan 2017, 21:05
von Nibbels
Guten Abend,

ich will hier dokumentieren, wie man mit dem RF2000-Board V3.0 Servos steuern kann.
Bei diesem Thema unterscheidet sich das Board des RF2000 von dem des RF1000 ein wenig, weshalb ich das Thema hier ganz speziell für den RF2000 behandle.

Servos

Generell sind Servos kleine Motoren, oft mit Getriebe, welche meistens die Aufgabe haben, Hebelchen zu spielen. Davon gibts diverse Typen. Man kann also z.B.
- eine Klappe einstellen,
- einen Knopf drücken lassen,
- einen Roboterfinger bewegen
- Sowas: http://www.thingiverse.com/thing:1156995
Screenshot_1.jpg
Diese Motorlein brauchen normalerweise ~5V und unter Umständen unter Last einige Ampere.
Zum Motor gehen 3 Leitungen. 5V, Masse und ein Taktsignal, die PWM-Leitung.
http://www.toeging.net/flieger/profi/st ... tecker.htm
Das Taktsignal stellt meistens den Winkel ein, in den sich der Motor dreht.

Im Fall meiner Servos:
Der Motor hat die Information, dass je nach PWM-Signal der Winkel eingenommen und gehalten werden soll. Drücke ich dann mit dem Finger gegen den Hebel, drückt der Motor dagegen und verbraucht in diesem Zustand normalerweise mehr Strom. Die Kraft die ich dagegendrücke, will der Motor ausgleichen, sodass sein Winkel nicht verändert wird.
Das muss man wissen, denn wenn man dauernd Last auf einem Motor hat wird vermutlich auch dauernd Strom fließen. Mit Netzteil nicht so kritisch, mit Akku schon. Man sollte einem Motor die Chance geben, seinen Winkel einzunehmen - und ihn nicht auf Block schicken.

RF2000

Quelle: http://www.rf1000.de/viewtopic.php?f=73 ... ich#p14594
RAU hat geschrieben:[...]
Die drei Servo Anschlüsse an X30, X31 und X32 sind zwar noch da, benötigen aber nun eine eigene 5V-Versorgung am neuen Stecke X46. Das finde ich vernünftig.[...]
Man kann den Takt = Winkel einstellen, indem man den G-Code M340 (http://www.rf1000.de/wiki/index.php/GCo ... _ansteuern) benutzt.

Für den RF2000 ergeben sich ein paar kleine Änderungen:
- Es existieren 3 Servos: P1, P2, P3
- Der Takt reicht von 800 bis 2200. Nicht wie in der RF1000-Anleitung 500-2500
Siehe Commands.cpp in der Firmware ~Zeile 1859
source.jpg
Beispiele:
M340 P1 S2200
M340 P1 S800
M340 P1 S1500

M340 P2 S1500
M340 P3 S1500

5V-Versorgung

Das Board des RF2000 generiert über die Firmware den Takt, den die Servos brauchen. Die Stromversorgung muss man allerdings an der Klemmleiste X46 ins Board liefern, dann werden aus allen drei 3-Pin-Servo-Steckern die Servos versorgt.
http://www.produktinfo.conrad.com/daten ... RF2000.pdf
Screenshot_4.jpg
Screenshot_3.jpg
Screenshot_5.jpg
5V-Quelle

Man könnte z.B. einen Spannungskonverter an einen Mosfet Ausgang (http://www.rf1000.de/viewtopic.php?f=73 ... =10#p16157) anschließen.
RAU hat geschrieben:[...]
Es gibt mehr MOS FET Ausgänge:
[...]. Ebenso X19. Neue Ausgänge mit Standard-Funktion sind X42 X44 [...].
https://www.amazon.de/DROK-DC-DC-Abw%C3 ... 00HYRDFW2/
https://www.amazon.de/DC-DC-Abwärtswand ... 00GYL9690/
Oder einen Traco o.ä.

Oder man versorgt die Servos "von Aussen". Man könnte z.B. ein Netzteil ähnlich einem starken 5V-Ladegerät an die Steckdose des RF2000 anschließen.

Je nach Servo und Aufgabe sollte man die 5V-Stromquelle mit genügend max. Ampere wählen - und auf die Servo-Kabeldicke achten.
Man sollte dabei darauf achten, dass die 24V-Versorgung im Drucker nicht unendlich viele Ampere liefern kann.
Man sollte strickt drauf achten, dass man nirgends die Kabel verpolt.

Re: RF2000 - 3 Servos ansteuern

Verfasst: Do 12. Jan 2017, 21:20
von Nibbels
Meine Kabelführung und Versorgung

Bei mir versorgt X44 über den Spannungswandler X46.
Ich habe einen Stepdown Converter an X44 angeschlossen. Das ist auf dem folgenden Bild der Alu-Kasten oben rechts wo DROK draufsteht.
13.jpg
Schalte ich X44 mit dem Gcode M3300
(http://www.rf1000.de/wiki/index.php/GCo ... n.2FAus.29)
an, haben die Servos eine Stromversorgung mit 5V. Der Ausgang des Wandlers ist korrekt gepolt mit X46 verbunden.

Vorsicht:
Screenshot_2.jpg
Hier auf dem Bild sind die Farben rot und schwarz RICHTIG rum eingesteckt. Was geliefert wurde war verpolt ;). Ich musste mit einer Nadel die Pins raushebeln und richtig rum einstecken. Die richtige Polung habe ich am Gehäuselüfter abgeschaut. Der Stecker heißt JST(XH) Pin-Abstand: 2.54 mm.
Firmware rf.h hat geschrieben:- M3300 [P] - configure the 24V FET outputs ( on/off )
- Examples:
- M3300 P1 S0 ; turns the first 24V-FET output off
- M3300 P1 S1 ; turns the first 24V-FET output on
- M3300 P2 S0 ; turns the second 24V-FET output off
- M3300 P2 S1 ; turns the second 24V-FET output on


Quelle: http://www.rf1000.de/viewtopic.php?f=73 ... =10#p16160
Nibbels hat geschrieben: RF2000:
Man kann diese FET-Ausgänge FET1, FET2
mit M3300 schalten. Px=FETx, S0=0V, S1=24V

M3300 P2 S1 aktiviert den X44,
also ist FET2 == PIN32 und damit FET2 == Anschluss X44.

M3300 P1 S1 aktiviert den X42,
also ist FET1 == PIN33 und damit FET1 == Anschluss X42.


FET3 ist hier unnütz! Das ist der kleine Board-Lüfter der Luft in den Drucker ansaugt und übers Board bläst.
Alternativ kann man auch X19 nutzen. Wessix hat an X19 seine Lichter angeschlossen (http://www.rf1000.de/viewtopic.php?f=26 ... cht#p15885) und er steuert die mit M355. Dafür hat er seine Firmware geändert.

Bilder von meiner Umsetzung

14.jpg
16.jpg
Da ist ne Zugentlastung eingeklebt. Der Kabelbinder sichert die Servo-Kabel gegen rausziehen.
17.jpg
18.jpg
Man sollte die Kabel nicht an der scharfen Blechkante entlangziehen. Drum ist die Tülle aussenrum. Das scharfe Blech ist zusätzlich mit Klebeband umklebt.
19.jpg
20.jpg
Die Motoren funktionieren und ich kann alle 3 Ports steuern :)

LG

Re: RF2000 - 3 Servos ansteuern

Verfasst: Do 12. Jan 2017, 21:27
von Nibbels
Der Grund dieser Aktion ist folgender:
Meine Abluft (http://www.rf1000.de/viewtopic.php?f=76 ... uft#p15717) saugt mir nachts das Zimmer leer. Ich heize also zum Kamin raus.
1) Ich will die Luftklappe am Ende von jedem Druckvorgang schließen und zu Beginn öffnen.
2) Mit dem zweiten kleinen Servo könnte ich den Notaus drücken. Das ist zwar die Holzhackermethode, aber ich hab Spass dran, mir einen Finger auszudrucken und diesen an den Servo zu montieren :D
3) Das dritte Kabel wird natürlich auch verlegt. Man kann nie wissen.

LG

Re: RF2000 - 3 Servos ansteuern

Verfasst: Fr 13. Jan 2017, 14:10
von Nibbels
Und jetzt wieder der Debug-Modus :)
Die Servos funktionieren, ich habe das mit der Luftklappe schon umgesetzt.
Doch nun brauche ich eure Hilfe. Denn an einem Punkt komme ich nicht weiter.

Wenn der Port für den Spannungskonverter aktiv war, kann ich ihn nicht wieder abschalten. Ich habe das heute morgen gemerkt.

Code: Alles auswählen

M3300 P2 S0 //Schalter FET2/X44 auf Aus
5V bleibt, die Servos bleiben an. Die Kontroll-LED auf dem Board schaltet korrekt aus.

Zu allererst dachte ich, evtl. ist nur noch Restspannung da. Aber mehrmaliges Servobewegen hat nichts dran geändert. Die Spannung der Servos blieb 5.00V

Dann hab ich etwas geschwitzt, weil man kaputten Mosfets nachsagt, dass sie 0 Ohm haben können. Ich habe nochmal das Datenblatt angesehen und war verwirrt - die maximalen Amperes sind riesig. Dann nochmal getestet, den Drucker wieder aufgemacht und schlussendlich konnte ich den Defekt vermutlich ausschließen.
Der Port schaltet korrekt, die LED schaltet korrekt. Nur nicht, wenn der Spannungskonverter dran ist.

Ziehe ich den Spannungskonverter ab, messe ich kurz danach an dessen Eingang noch ca. 1V.
Ich habe etwas nachgedacht und mich an Transistoren etc. erinnert. Dann eine Diode zwischen X44-24V und Konverter-Plus eingebaut, die Rückfluss vom Konverter zum Mosfet verhindern sollte. Aber es hat bisher nicht geholfen.

a) Muss ich in diesem Fall zusätzlich noch sowas wie einen hochohmigen Pulldown zwischen X44-24V und X44-Masse vor der Diode machen? Ich kenne Mosfets leider noch zu wenig.
b) Liegt das Problem wo ganz anders?

LG