REGLER ESC piept nur

#1
Mahlzeit,
ich habe mir vor ein paar tagen einen HGLRC BS30A ESC gekauft welchen ich mit Hilfe eines Arduinos Steuern möchte.
Ich stelle mir die frage wie ich den ESC richtig mit dem Arduino einlerne weil mit dem unten stehenden Sketch der ESC nur Piept kann mir dort jemand weiterhelfen?
(ich bin noch Anfänger in diesem Gebiet)
----------------------------------
Sketch:

#include <Servo.h>
Servo myservo;

void setup() {
myservo.attach(10);
myservo.write(180);
delay(5000);
myservo.write(0);
delay(2000);
}

void loop() {
myservo.write(100);
delay(2000);
myservo.write(100);
delay(2000);
}
-----------------------------------
Danke im vorraus LG P.K
 

brandtaucher

Erfahrener Benutzer
#2
Hi, habe das noch nicht gemacht. Ich finde nur Deine Werte für das Anlernen komisch. Kenne ich grundsätzlich anders. Vielleicht hilft Dir unter nachfolgendem Link der Beitrag 11 mit dem Code weiter:

SimonK ESC
 

donvido

Erfahrener Benutzer
#4
Prinzipiell sollten diese Zeilen ausreichen um den ESC zu kalibrieren.
Code:
myservo.write(180); // entspricht einer Pulsbreite vom 2000µs
delay(5000);
myservo.write(0);// entspricht einer Pulsbreite vom 1000µs
delay(2000);
Das Problem ist, dass die Kalibrierung nur funktioniert, wenn beim Initialisieren des ESC die 2000µs anliegen.
Ich würde dir daher empfehlen, den Code etwas umzuschreiben:

Code:
void setup(){
    Serial.begin(9600);
    myservo.attach(10);
    myservo.write(0);
}

void loop(){
    int cmd;
    if(Serial.available()){
        cmd=Serial.parseInt();
        Serial.println(cmd);
        myservo.write(cmd);
    }
}
Das ist jetzt nur mal eben hingezimmert soll aber verdeutlichen, dass es einfacher ist, wenn du selbst entscheidest, wann welche Pulslänge anliegen soll.
Zum Kalibrieren schreibst du dann also erst 180 in die Konsole, steckst dann den ESC an, und schreibst dann 0 in die Konsole. Bei einer normalen Intialisierung fängst du mit 0 an.
Schau dir außerdem mal ein Video zu dem Thema an. Es gibt nämlich verschiedene Pieptöne.
U.a. gibt es einen Ton/Melodie für eine normale Initialisierung, eine Initialisierung mit High Input (z.B. 2000µs), ein Ton für eine erfolgreiche Kalibrierung usw.
Wenn man weiß wofür welche Melodie steht, hilft das ungemein. ;)
 
Zuletzt bearbeitet:
#7
Okay ich werde es mal probieren Dankesehr👍🏼
Nach dem Kalibrieren kann ich allerdings jeden Code drauf laden ohne erneut zu Kalibrieren korrekt ?
 

donvido

Erfahrener Benutzer
#8
Ich bin mir grad nicht sicher ab wann, aber jedes Mal wenn du mit einer zu großen Pulsweite initialisierst, springt der ESC automatisch in die Kalibrierung.
 
#17
Ich glaube ich habe das Problem entdeckt. hab aus Interesse einen Normalen Servo angeschlossen bei der Eingabe einer Zahl im Seriellen Monitor kommt immer eine Antwort nämlich eine 0. Es sieht für mich so aus als würde der Servo Auf die von mir gesendete P Unbenannt.PNG osition fährt aber sobald der Arduino Antwortet wieder aus Position 0.
 

donvido

Erfahrener Benutzer
#18
Du müsstest noch dafür sorgen, dass kein Zeilenende mitgeschickt wird.
Das ist im seriellen Monitor der dropdown in dem in deinem Screenshot "Neue Zeile" steht.
 

donvido

Erfahrener Benutzer
#20
Okay, dann könntest du dir hier noch die BLHeli Suite ziehen, deinen Arduino zu einem Programmer umprogrammieren und die Konfiguration des ESCs checken.

Alternativ: mach doch mal ein Video mit Ton, in dem man sieht, wie du versuchst zu kalibrieren.
 
FPV1

Banggood

Oben Unten