PWM 1500us Puls ... generelle Frage

Hallo ihr,

eine allgemeine Frage zu PWM: ich möchte mit meinem Arduino Mini Pro 3,3 einen RC-Fahrwerkscontroller ansprechen, der eine Pulsweite über 1500us erwartet.
Allerdings habe ich leider noch keine Info gefunden, welche Pulsweite z.B. analogWrite (pin, 255) erzeugt.

Nutze die servo.h Bibliothek.

Grüße Uwe

Hallo Uwe,

ja das mache ich schon, um an einem Pin den Empfängerkanal auszulesen usw.
Aber es scheint eine Eigenart dieses Controllers zu sein, das er nicht auf den Ardu reagiert. Schließe ich den Controller direkt an den Empfänger an, klappt es wunderbar. Wär auch doof, wenn es anders wäre. Aber sobald ich das über den Ardu versuche ...

Ich hab es eben mit dem Standard-Beispiel der Servo.h gestet. Egal was ich als Microseconds da reinschreibe ... das Ding rührt sich nicht. Bin ich schief gewickelt oder liegt es am Output Pin? Benutze Pin 5, aber der sollte doch PWM tauglich sein.

Der Sketch, Den Du verwendest könnte helfen zu verstehen was Du machst.
Grüße Uwe

Hi Uwe ...

der Code ist wirklich nur der aller simpelste zum testen!
Ich habe hier einen Fahrwerkscontroller aus dessen Bescheibung folgendes hervorgeht:

Pulsweite 1520us = Nullstellung
Pulsweite über 1520us = Ausgefahren
Pulsweite unter 1520us = Eingefahren

aber egal was ich im Code bei Microseconds eingebe ... es tut sich nix. An dem Controller ist eine kleine Kontroll-Led, die anzeigt, dass der Controller mit dem Input "unzufrieden ist". Immerhin ein Indiz dafür, dass die Verbindung klappt :wink:
Unzufrieden bedeutet: das Fahrwerk ist normal ausgefahren. Sobald Strom dazu kommt, erwartet der Controller vom RC-Empfänger ein Signal über 1520, damit es nicht im Stand einfach einfährt. Erst dann kann man den Puls unter 1520 geben und es fährt ein. Mit dem RC-Empfänger klappt das genau so.

Im Beispielcode steht jetzt zwar 1200. Aber ich hab auch schon alle möglichen Werte bis 40000 ausprobiert um zu sehen, ob die Controlleuchte endlich mal ausgeht. Ohne Erfolg.

Daher meine Ursprungsfrage: welche PWM-Pulseweite ist tatsächlich zu erwarten?

#include <Servo.h> 

Servo myservo;

void setup() 
{ 
  myservo.attach(5); 
} 

void loop() { 

myservo.writeMicroseconds(1200);
}

Hast Du die Masse verbunden?
Grüße Uwe

Ja :wink:

Meine Pro Minis funktionieren bei mir tadellos mit der servo.h lib in Verbindung mit Servos als auch mit ESCs. Ich habe aber die 5V Versionen der Pro Minis.
Aber ich lese bei Dir, dass Du die 3,3 V Version des Pro Mini einsetzt.
Reicht evtl. der Pegel der Ausgänge nicht aus für Deinen Fahrwerkcontroller, wenn der mit 6V betrieben wird ?!
Versuch es mal mit nem einfachen Pegelwandler dazwischen.

Gruß,
Tütenflieger

Hey Tütenflieger,

ich wollte es ja nicht wahr haben :wink: aber mit einem 5V geht es natürlich sofort. Wobei ich dem 3.3er auch 5V an VCC gab und der Controller eigentlich nur per Masse und Signal angeschlossen war.

Gruss
Chris