Fahrtenregler

Mahlzeit!

Ich bins mal wieder.

Ich habe recht erfolglos versucht meinen Fahrenregler über den Arduino anzusteuern. Zwar gibt der Regler ab und an mal Leistung auf den Motor, aber wirklich gesteuert bekomme ich es nicht.

Deshalb habe ich angefangen einfach mal in einer Schleife den Regler über einen PWM PIN von 0-255 anzusteuern. Habe notiert wann der Motor lief und wann er wieder aus ging. Als ich die Werte dann direkt eingegeben habe ist nichts passiert. Das hatte ich sowohl wenn ich es mit analogWrite versucht hatte wie auch wenn ich es als Servo versucht habe.

Hat da jemand Ahnung von? Der Regler wird normalerweise über den selben Empfänger wie jeder andere Servo auch angesprochen. Also müsste er doch auch wie ein Servo zu steuern sein, oder?

hirnfrei:
Ich bins mal wieder

... und Du hast offensichtlich aus allen Deinen Threads immer noch nicht gelernt, dass Du mit konkreten Dingen wie Schaltbildern oder Sketches antanzen solltest, wenn Du kompetente Hilfe bekommen möchtest.

Gruß

Gregor

PS: Vielleicht postest Du auch nur gerne, quälst andere Leute und ziehst den Abstand zwischen Problem und -behebung gerne in die Länge.

Wie kann man auf die Lustige Idee kommen, dass ein Modellbau Fahrtenregler, oder ein anderer Servo, Standard Arduino PWMs abhandeln kann?
Falsche Kanone.

"Servo Lib", dürfte das Zauberwort sein.

So muss das Signal aussehen:
Stichwort Servo

Servo-Signal.png

Gruß
DerDani

Rest kann man schon selber machen (Beispiele anschauen in der IDE)

Einmal zum ermitteln der Werte:

  1. mit Servo
#include <Servo.h>

int servo = 3;

Servo lenkung;

void setup() 
{
  lenkung.attach(servo);

  Serial.begin(9600);
}

void loop() 
{
  for(int i=0;i<255;i++)
  {
    lenkung.write(map(i, 0, 255, 0, 180));
    Serial.println(i);
    delay(50);
  }
}
  1. Mit analogWrite
#include <Servo.h>

int servo = 3;

Servo lenkung;

void setup() 
{
  lenkung.attach(servo);

  Serial.begin(9600);
}

void loop() 
{
  for(int i=0;i<255;i++)
  {
    analogWrite(servo, i));
    Serial.println(i);
    delay(50);
  }
}

Dann das ganze mal zum Überprüfen:

#include <Servo.h>

int servo = 3;

Servo lenkung;

void setup() 
{
  lenkung.attach(servo);
}

void loop() 
{
  lenkung.write(map(190, 0, 255, 0, 180));
  delay(1000);
  
  analogWrite(servo, i);
  delay(1000);  
}

AUf dem Schaltplan habe ich einen Servo eingesetzt, Fahrtenregler gibts da irgendwie keine glaub ich.

hirnfrei:

  • Untitled Sketch_Schaltplan.png
    47.1 KB

DAS nennst Du einen Schaltplan?!

hirnfrei:
Fahrtenregler gibts da irgendwie keine glaub ich.

Und ich glaube allmählich, dass Du mit Arduino von vorne bis hinten falsch bedient bist.

Gruß

Gregor

also mit

loop()
{
  lenkung.write(map(i, 255, 0, 180));
}

kann ich einen normalen Servo einwandfrei ansteuern. In beide Richtungen, so wie ich erwarte.

Und wo sollte da ein Refresh rein?

Ja okay Schleife muss nicht sein. Aber ich bin es vom "normalen" Programmieren gewohnt, da habe ich selten ein loop();.

@gregorss

Hmm nenne ich so etwas einen Schaltplan? Keine Ahnung! Ich hab bisher nicht wirklich welche erstellt. Im Endeffekt ist vom Server der gelbe Anschluss an Pin 3, der Rote an 5V und der Schwarze an Masse.

Und warum bin ich damit falsch bedient?

hirnfrei:
Hmm nenne ich so etwas einen Schaltplan? Keine Ahnung! Ich hab bisher nicht wirklich welche erstellt. Im Endeffekt ist vom Server der gelbe Anschluss an Pin 3, der Rote an 5V und der Schwarze an Masse.

Das macht drei Leiter. In Deinem Schaltplan sehe ich auch mit viel Wohlwollen nur zwei.

hirnfrei:
Und warum bin ich damit falsch bedient?

Weil Du Dich erst mal mit den „Werkzeugen“ befassen solltest, die Du zur Erfüllung Deiner Technik-Träume benötigst. Fang‘ am besten damit an, dass Du brauchbare Fragen stellst, die berücksichtigen, dass die Leser nicht vor Deinen sondern vor ihren Basteleien sitzen.

Gruß

Gregor

Ich will jetzt nicht auf Klugscheisser machen, aber ich zwinge niemandem mir eine Antwort zu geben oder? Wenn du mit deinen Basteleien beschäftigt bist und nicht antwortest ist dir, so nehme ich zumindest mal an, niemand böse. Ich wäre es auf jeden Fall mal nicht!

Hallo,

Du musst den ESC erst "scharfschalten"
Mit 1,5 / 20 Frames aus dem Setup heraus.
Danach kannst mit 1 / 20 voll rechts und mit 2 / 20 voll links einstellen.
Zum feinstellen kannst die microseconds verwenden.
Mit dem verlängern der Frames kannst die Stellgeschwindigkeit anpassen.

mfg Martin

Okay, Problem gelöst ;).

Nachdem ich es jetzt auch 200 verschiedene Varianten versucht habe und NICHTS reagiert hat habe ich mal was ganz abgefahrenes gemacht. Ich hab den Regler gewechselt ;).

Schieb das Dings mehr nach links und mit einem Mal da gings ;).

@wasjetzt

War aber ein guter Tipp mit dem "scharfschalten". Es geht zwar auch ohne, aber wenn ich das im setup() mache bringt er anschliessend deutlich mehr Power, also 0 liegt wirklich bei 0 und nicht irgendwo anders. Danke dir!