INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Rx - Board - Regler/Servo (PWM)
19.02.2015, 13:33
Beitrag #1
Rx - Board - Regler/Servo (PWM)
Hey! Ich habe einen RC Empfänger und steuere damit normalerweise einen Brushless Regler. In meinem Fall aber möchte ich zwischen dem Empfänger und dem Regler ein Board setzen. Dieses soll das PWM Signal eines Kanals über PulseIn auslesen und Mappen. Je nach Wert soll es dem Regler oder eben einem Servo eine Position vorgeben.

Ich möchte also je nach Hebelstellung an meiner Fernbedienung entweder mit Hebelstellung nach oben den Motor steuern (Drehzahl 0 bis max.) und Hebelstellung nach unten einen Brems-Servo steuern (Winkel 90 bis 180).

Die Frage ist nun, ob ich mit der Servo Library in " write() " nur einen Zahlenwert zwischen 0 und 180 eingeben kann oder auch z.B. " myservo.write(Gaspedal)" ?

"Gaspedal" wird dann selbstverständlich implementiert und einem Wert zwischen 0 und 180 zugewiesen.

Ist das machbar?

Danke Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.02.2015, 14:06
Beitrag #2
RE: Rx - Board - Regler/Servo (PWM)
(19.02.2015 13:33)luto92 schrieb:  Dieses soll das PWM Signal eines Kanals über PulseIn auslesen
Damit kann man mal anfangen, aber pulseIn willst Du nicht wirklich. Man sollte da mit PinChangeInterrupts arbeiten und die Zeiten mit micros() messen. Siehe auch RCArduinoFastLib (mal googlen).

Zitat:Ich möchte also je nach Hebelstellung an meiner Fernbedienung entweder mit Hebelstellung nach oben den Motor steuern (Drehzahl 0 bis max.) und Hebelstellung nach unten einen Brems-Servo steuern (Winkel 90 bis 180).
Klingt relativ "straightforward".

Zitat:Die Frage ist nun, ob ich mit der Servo Library in " write() " nur einen Zahlenwert zwischen 0 und 180 eingeben kann oder auch z.B. " myservo.write(Gaspedal)" ?
Du kannst entweder write() mit dem Winkel zwischen 0 und 180 nehmen oder writeMicroseconds(), was dann Pulse in der angegebenen Länge erzeugt. Damit kann man wesentlich genauer arbeiten.
Allerdings würde ich nicht die Servo-Lib nehmen, sondern RCArduinoFastLib. Ansonsten hast Du nur 50 Pulse pro Sekunde, wodurch ESC-Regler etwas träge werden können.

Zitat:"Gaspedal" wird dann selbstverständlich implementiert und einem Wert zwischen 0 und 180 zugewiesen.
Hä? Es ist einer Funktion egal, ob man als Funktionsparameter eine Variable nimmt oder eine Konstante.

Zitat:Ist das machbar?
Ja.
Ich würde das allerdings nicht gleich in ein Modell einbauen, sondern erst einmal so experimentieren. Wenn es dann das erste Mal im Modell eingebaut wird, dann Sicherheitsmaßnahmen nicht vergessen. D.h. Propeller ab bzw. das Auto "hochbocken".

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.02.2015, 14:18
Beitrag #3
Smile RE: Rx - Board - Regler/Servo (PWM)
Danke Thorsten für deine ausführliche Antwort!
Straightforward genau, allerdings auch als Straightbackwards ebenfalls mit Bremse, wenn ein Schalter betätigt ist, aber das krieg ich hin.

writeMicroseconds hatte ich übersehen, dann werde ich das benutzen.

Hochgebockt wird auf jeden Fall, ich möchte vorher eh einzelne Funktionen testen und nach und nach das komplette System laufen lassen, ein bisschen HiL mäßig...

Ich werde definitiv nach der fastlib schauen, da du mir diese so gerne empfehlst Rolleyes Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.02.2015, 15:23
Beitrag #4
RE: Rx - Board - Regler/Servo (PWM)
(19.02.2015 14:18)luto92 schrieb:  Ich werde definitiv nach der fastlib schauen, da du mir diese so gerne empfehlst
Ja, das Ding ist wirklich gut. Vielleicht nicht ganz so einfach zu verwenden, wie pulseIn und Servo, aber es ist es Wert. Mein Quadrokopter hat sofort aufgehört, sich aufzuschwingen, nachdem ich darauf umgestellt habe.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Star ATtiny Servo SOS SOS hansanne1310 10 177 Heute 13:23
Letzter Beitrag: hotsystems
  Servo über Temperatur steuern querkopf71 3 74 07.12.2016 19:21
Letzter Beitrag: hotsystems
  ATtiny und Servo Bibliothek malsehen 9 312 15.10.2016 18:09
Letzter Beitrag: malsehen
  Servo soll nur in Ruhelage stoppen Sven1996 1 241 19.08.2016 14:37
Letzter Beitrag: StephanBuerger
  Sketch vom Arduino Board Herunterladen Sarius 2 351 27.07.2016 15:26
Letzter Beitrag: Sarius
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 759 16.07.2016 11:43
Letzter Beitrag: Binatone
  Servo und PWM Ausgabe F2Ingo 4 497 17.06.2016 14:53
Letzter Beitrag: F2Ingo
  Fehlermeldung "build.board"-Einstellung Stefan2016 5 339 11.05.2016 07:21
Letzter Beitrag: hotsystems
  Adafruit Gemma Board kommt nicht in den Bootloader-Modus! Jack Sparrow 2 330 09.04.2016 12:10
Letzter Beitrag: hotsystems
  Programme lassen sich nicht auf das Gemma Board downloaden! Jack Sparrow 13 565 08.04.2016 10:01
Letzter Beitrag: hotsystems

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste