Jeder, der sich mit der Materie Multicopter beschäftigt, hat sicher auch schon mal den Begriff SimonK gehört oder gelesen. Simon hat für eine fast nicht mehr überschaubare Anzahl von ESCs mit AtMega µController eine spezielle Firmware entwickelt, die sich durch die Akzeptanz einer sehr hohen Folgefrequenz der Sollwerte, eine sehr schnelle Reaktion auf diese Vorgaben der Steuerung sowie eine sehr hohe Drehfeldfrequenz für den Motor auszeichnet. Das unangenehme Fiepen der Motoren durch die Ansteuerung ist damit Geschichte.
Zusätzlich löst die Firmware nicht nur 127 diskrete Drehzahlvorgaben auf, wie das bei Standard-ESCs der Fall ist, sondern die Sollwerte werden in ca. 800 Schritten aufgelöst, die Steuerung reagiert also deutlich feinfühliger, soweit die verwendete FlightControl die PPM- oder PWM-Signale in entsprechender Auflösung anbietet.
Die gleichen Vorteile gelten für BLHeli, der Unterschied liegt im unterstützten µController. BLHeli läuft auf ESCs mit Silabs Chip, was für die EAZY 3A zutrifft.
Eine kurze Recherche im Netz ergibt: Meine EAZY 3A werden von BLHeli unterstützt :-)
Auf OlliW’s Bastelseiten (insbesondere hier) wird die Programmierung der auf meinen ESCs verbauten Silabs µControllern ausführlich beschrieben. Die kurze Überlegung, die notwendige Hardware zur Programmierung meiner ESCs selbst zu bauen, wurde zugunsten einer Bestellung eines Arduino Nano V3 Derivats verworfen.
Um mich nicht mit temporärem Anlöten von Leitungen an den ESCs für den Flashvorgang zu belasten, habe ich mir noch ein paar Federkontakt Prüfstifte bestellt, wie ich sie bereits zum Programmieren der I²C-PPM-Konverter für meinen Tricopter verwendet habe. Da die Pads für die beiden Programmieranschlüsse des Silabs µC sehr klein sind und dicht beieinander liegen, muss der Durchmesser der Nadeln sehr klein sein. Ich habe wieder den Typ PTR 1007-B-0.7N-AU-0.5C (bestellbar bei Conrad) selektiert.
Wenige Tage später sind die notwendigen Teile im Briefkasten und der Umbau kann beginnen.
Im ersten Ansatz habe ich vier Nadeln an eine doppelreihige Stiftleiste gelötet, da ich neben den beiden Programmiersignalen für den Silabs µC noch Plus und GND zuführen wollte. Es zeigte sich aber, dass die Nadeln - unter der Lupe von Hand geführt - nur sehr zufällig alle gleichzeitig Kontakt gegeben haben, so dass ich den Adapter schließlich auf zwei Kontakte reduziert und die Spannungsversorgung und die Masseverbindung über getrennte Leitungen zugeführt habe. Hier noch die Version mit vier Nadeln:
Der Programmer (ein Arduino Nano V3) mit der von OlliW bereit gestellten Firmware:
Nadeladapter und “Opfer” kurz vor dem Programmieren:
Und schließlich einer der ESCs mit angelegtem Nadeladapter (die Nadeln sind links oberhalb des quadratischen µC zu sehen):
(Mit Click auf das Bild Ausschnittvergrößerung)
Es war problemlos möglich, die Masseverbindung zwischen ESC und Programmer mit einem ca. 25 cm langen Kabel mit Kroko-Klemmen irgendwo am Copter anzuschließen, die Spanung zur Versorgung des ESC kam dabei aus einem Netzteil mit Strombegrenzung. Beim Flashen der Firmware eines ESC ist es nicht empfohlen, einen Lipo-Akku als Stromlieferant zu verwenden, denn im Falle eines Fehlers beim Flashen besteht die Gefahr, dass die FETs des ESC falsch angesteuert werden und einen Kurzschluss produzieren, der zusammen mit dem kleinen Innenwiderstand des Akkus zum Gau führt. Das strombegrenzte Netzteil verhindert in so einem Fall allzu Schlimmes.
Beim Flashen eines auf den Betrieb mit einem einzelligen Lipo-Akku ausgelegten ESC muss darauf geachtet werden, dass die Versorgung nicht mit der vom Arduino zur Verfügung gestellten 5V Spannung erfolgen darf. Das würde unweigerlich zur Zerstörung des ESC führen.
Nach erfolgreichem Firmware-Update an allen vier ESCs erfolgte ein Testlauf mit der in der FC integrierten Auswucht-Funktion. Hier kann über den Roll-Nick-Knüppel einer der vier Motoren ausgewählt werden, der dann automatisch den Drehzahlbereich von Stillstand bis Vollgas und zurück durchläuft. Mit der Originalfirmware waren hierbei immer leichte Sprünge und Pausen zu hören, während die Drehzahländerungen mit der BLHeli-Firmware absolut linear vollzogen werden.
Das Fiepsen der Motoren ist ebenfalls weg, mit der Updaterate der Sollwerte von ca. 700 Hz hatten die EAZY 3A ohnehin keine Probleme, insgesamt also ein voller Erfolg :-)