I know there have been many Arduino ESC Posts but I have a Special Problem and no solution of the other posts worked for me.
So i will start to explain my problem:
I am using the Hobbyking 120A Boat ESC
I want to control it with an Arduino Uno and read that I have to use the Servo library with the normal servo.write function or the servo.writemicroseconds function.
Following the manual I have to push the throttle to full forward then to full reverse and then to the neutral position. I tried it but after I connected my ESC to the battery it made the battery cell counter sounds and finished its calibration. It was only calibrated in one direction (only forward) but I programmed it with the programming card to froward and reverse.
I don’t know what’s wrong because with the Hobbyking Servotester everything worked flawlessly and I only try to emulate the Servotester with the Arduino.
My Code just maps the Analog Signal of an Potentiometer to Microseconds between 1000 and 2000. The the Microseconds were used in the servo.writemicroseconds function
Die bisherigen Posts haben bei mir nicht funktioniert. Ansich möchte ich einfach nur nen Servotester simulieren, da das mit dem HK Servotester bereits problemlos funktioniert hat.
Dafür nutze ich die servo Library und Mappe die Analogen Daten eines Potis zu Microseconds zwischen 1000 und 2000
1000 = full reverse
2000 = full forward
1500 = neutral
Dann bewege ich das Poti am Arduino genau wie das Poti vom Servotester zum Kalibrieren. Zuerst Full forward dann Full reverse und dann neutral. Beim Servotester funktioniert das problemlos. Allerdings beginnt das ESC bei der Kalibrierung direkt mit dem Abshluss Gepiepe für das Zählen der Batterie Zellen und lässt sich nicht Kalibrieren. Es geht nur in eine Richtung: Full forward. Was mag ich falsch bzw. Kann mir jemand bei dem Code helfen.
Also wenn ich das mit dem Srvotester steuere dann ist das Poti auf Full forward bevor ich das ESC anschalte. Wenn das ESC dann mit Strom versorgt wird dauert es ein paar Sekunden bis es zweimal piepst dann gehe ich auf full reverse und nah kurzer Zeit piepst es erneut. Dann gehe ich zum neutral Punkt und das ESC zählt die Zellen der Batterie(in Piepsern) bis es dann zweimal zur Bestätigung piepst. Wenn ich das jedoch über den Arduino versuche fängt das ESC direkt mehreren Piepsern an, egal wo das Poti ist.
Hast Du Dir die Pulse angeschaut, Die Arduino und Servo-Tester raus geben?
Ob jetzt die Wiederholfrequenz oder die absolute Länge der Pulse nicht passen - kA.
Oszi oder LogicAnalyser wären hier das Mittel der Wahl.
Hab da leider nicht die technischen Mittel. Das einzige was ich mal gelesen hab ist, dass es sein kann , dass die 1000ms zu gering sind. Wobei mich das wundern würde.
Immerhin eine Richtung, Die wir probieren können.
Nebenbei: Ein Logik-Analyzer kostet nicht die Welt und kann Dir auch bei der Kommunikation der µC zu Sensoren & Co recht hilfreich sein - zeigt halt nur 'bereinigte' digitale Signale an.
Meiner (von eBay) nennt sich auch nur schlicht 'Logic Ananyzer' und bietet 8 Kanäle.
Wenn Du die 'linke' Zeit auf 800, statt auf 1000, setzt? Besser, schlechter, keine Änderung?
Was macht der 'Hobbyking' bei diesen 800? (wäre ja blöd, wenn Dieser die 800 mechanisch nicht hinbekommt, wie immer Der intern funktioniert).
Im Moment ist mein Setup Teil nur mit Servo.attach. Ich hab mal gelesen, dass ich im Setup Teil schon ein Arming durchführen muss allerdings weiß ich nicht was ich da genau armen soll