China-Drohne macht mich fertig (ESC-Programmierung und ähnliche Späße)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    ACHTUNG: In Deutschland muß Deine Drohne per Gesetz mit einem Drohnen-Kennzeichen versehen sein! Diese Plakette muß feuerfest sein und Deinen Namen und Anschrift enthalten. Ein passendes Kennzeichen bekommst Du hier.

    • China-Drohne macht mich fertig (ESC-Programmierung und ähnliche Späße)

      Hallo an alle!

      Nachdem ich mich schon gut mit RC Cars auskenne und auch IT-technisch und was Elektronik (Analog, AVR usw.) angeht interessierte/erfahren bin, dachte ich mir, dass ich es doch bestimmt hinbekomme einen chinesischen Bausatz ohne Anleitung zusammenzubauen und zum Fliegen zu bringen. Noch will ich die Hoffnung nicht aufgeben, jedoch hat sich inzwischen nach einigen Erfolgserlebnissen eine gewisse Verzweiflung breit gemacht.

      Zur Illustration habe ich mal ein paar Bilder gemacht:
      imgur.com/a/3lwKmvv

      Der Zusammenbau usw. war eigentlich recht einfach und da ich sogar richtig gern löte, war auch das alles keine echte Herausforderung - wozu gibt es Google bzw. das Internet... Mittels Kombination verschiedener Dokumentationen, hat das eigentlich recht schnell alles geklappt.

      Der "APM 2.8" Flugcontroller hat mich da schon mehr gefordert, weil der im GPS-Modul steckende Kompass einfach nicht funktioniert hat. Offenbar war ich da auch nicht der Einzige. Nach einigen Stunden habe ich dann durch ein YouTube-Video und langem Starren auf die Schaltplänen herausgefunden, dass man erst auf der Rückseite der Platine zwei Lötbrücken (für SCL/SDA bzgl. I2C) schließen muss, damit der funktioniert bzw. damit die I2C-Leitungen überhaupt verbunden sind. Danach sah es eigentlich alles recht zuversichtlich aus. Alles mögliche kalibriert, GPS hat auch funktioniert und die Motoren konnte ich über den Controller einzeln in der richtigen Reihenfolge anlaufen lassen.

      Mit Spannung habe ich dann den erste Flugversuch unternommen, bis ich realisiert habe, dass sämtliche Rotoren falschherum drehen - und das obwohl ich jeden vor dem Zusammenbau, jeden einzelne mit einem Servotester geprüft habe und hätte schwören können alle richtig herum angeschlossen zu haben (CW/CCW mit Linksgewinde und Rechtsgewinde usw.).

      Wie auch immer... also jeweils ein Leitungspaar getauscht, kenne ich ja von den Brushless-Motoren bei den Autos.

      Blöd nur: Maximal drei Rotoren lassen sich nun noch kalibrieren bzw. laufen (richtig rum). Der Vierte Motor bzw. dessen ESC hat sich entschieden bei ca. 1500 ms (mit Servotester ausprobiert) aufzuhören zu drehen (Neutralstellung) und dann in die andere Richtung umzuschalten. Da habe ich ganz schön blöd geschaut, insbesondere weil er vor dem Vertauschen der Leitungen noch im Gleichtakt mit den anderen lief (sprich ungefähr linear von ~1000 bis ~2000 ms). Habe dann herausgefunden, dass es sowas wie "BLHeli" gibt und einen "3D-Modus" indem dieses eine ESC nun wohl aus unerfindlichen Gründen hängt - zumindest passt die Beschreibung exakt zu dem was ich beobachte. Sämtliche Versuche dieses eine ESC zurückzusetzen oder mittels Arduino damit zu kommunizieren sind fehlgeschlagen. Um ehrlich zu sein, habe ich zum Schluss nur noch wahllos irgendwelche Software-(Versionen) mit verschiedenen Pins und Kabeln ausprobiert. Irgendwie fehlt mir bei diesen ganzen Projekten ein roter Faden dem man folgen kann. Der Controller auf den ESCs scheint wohl ein SIL F330 zu sein -- aber wie gesagt, sämtliche Kommunikationversuche liefen bisher ins Leere.

      In meinem Kopf dreht sich langsam alles, weil irgendwie jede Anleitung etwas anderes sagt und teilweise sogar das genaue Gegenteil von der vorherigen. Alles was ich will, ist dass sich dieses blöde ESC sich wieder "normal" verhält. Weil abgesehen davon, sah es nämlich ganz gut aus mit dem Bausatz.

      Deswegen habe ich jetzt mal ein paar Fotos gemacht und mein Leid hier geteilt, um die Sache etwas systematischer anzugehen.

      Würde mich über HInweise und Ideen freuen, die zur Lösung dieses Problems führen könnten.

      (Habe auch ein Oszilloskop usw., falls das notwendig sein sollte um Licht ins Dunkle zu bringen ;) )
    • Eigentlich bräuchtest du nur in der BLHELi Suite den 3D-Modus wieder ausschalten, dann sollte er normal laufen. BLHELI neu zu flashen sollte ihn auf Werkseinstellungen zurücksetzten, was den 3D Modus auch deaktivieren sollte. Wenn selbst das nicht hilft dürfte das Problem nicht der 3D Modus sein.
    • gsezz wrote:

      Eigentlich bräuchtest du nur in der BLHELi Suite den 3D-Modus wieder ausschalten, dann sollte er normal laufen. BLHELI neu zu flashen sollte ihn auf Werkseinstellungen zurücksetzten, was den 3D Modus auch deaktivieren sollte. Wenn selbst das nicht hilft dürfte das Problem nicht der 3D Modus sein.
      Genau das habe ich versucht, bin aber bis jetzt leider gescheitert. Erstmal gibt es irgendwie unterschiedliche Versionen von diesem BLHeli (32 und nicht 32?) und dann noch ein paar verschiedene Varianten, wie man mit dem ESC kommunizieren kann. Soweit ich es richtig verstanden habe, gibt es eine Variante mit drei Leitungen und eine mit zwei Leitungen - wobei das in beiden Fällen jeweils die Leitungen des "Servo"-Steckers sind? Ich habe einmal mit einem Arduino Uno dieses 4 way interface Variante probiert und dann noch irgendwas mit COM oder Bootloader. Verschiedene Pins, von Pin 0 bis Pin 10, 11, 12 - natürlich immer mit common GND. Und dann gibt es noch multi und ohne multi - und spätestens da steige ich dann aus. Die Software beschwert sich immer, dass sie kein ESC findet und alle Signalleitungen LOW sind. Natürlich habe ich parallel das ESC mit Strom vom Akku versorgt bzw. abgezogen und wieder angesteckt usw..
      Auch habe ich keine Ahnung, ob diese mitgelieferten ESCs (siehe aucch Bilder) überhaupt ohne weiteres einen Zugriff erlauben. Würde es aber mal vermuten, da sie ja diesen 3D-Modus offensichtlich auch haben. Der zentrale Chip scheint ein Sil F330 zu sein.

      Was für ein Ansatz wäre denn in meinem Fall der sinnvollste bzw. wie kann ich mich da systematisch rantasten?

      Ich habe auch irgendwo gelesen, dass man das ESC zurücksetzen kann, wenn man innerhalb von zwei Sekunden auf Null runter und wieder hoch geht (oder so ähnlich) - das habe ich auch mit einem Servotester mal ausprobiert, aber leider hat es nicht geholfen.

      Idealerweise würde ich dann natürlich gern die Konfiguration aller ESCs prüfen, nicht nur des einen.
    • Es gibt BLHELI_S, das ist die mittlerweile etwas veraltete Variante. Und es gibt BLHELI32, für die neueren 32bit ESCs.

      Die BLHELI32 Suite kann nach dem flashen neuer Firmware automatisch wieder die alten Einstellungen auf den ESC schreiben. Achte darauf dass das nicht gemacht wird.

      Neben der Stromversorgung ist EINE Datenleitung vom FC zum ESC nötig, über die er seine Befehle bekommt. Eine Zweite Rückleitung kann optional verwendet werden, um Telemetrie zurück zum FC zu übertragen, falls ESC und FC das unterstützen.

      Mit der Technik deines Flugcontrollers kenne ich mich aber nicht mehr aus. Das klingt recht Vorsintflutlich. Aktuelle FCs können ESC passthrough. Das heißt man lötet die ESCs einfach an den FC und braucht dann nur dessen USB Port mit dem PC verbinden um an die Firmware der ESCs ran zu kommen. Ganz ohne Arduino Bastelei oder sonstige externen Programmer.
    • gsezz wrote:

      Neben der Stromversorgung ist EINE Datenleitung vom FC zum ESC nötig, über die er seine Befehle bekommt. Eine Zweite Rückleitung kann optional verwendet werden, um Telemetrie zurück zum FC zu übertragen, falls ESC und FC das unterstützen.
      Nur damit ich es nicht falsch verstehe: Ist damit die bereits herausgeführte 3-polige Leitung gemeint (die PWM-Leitung inkl. GND und VCC), welche am FC angesteckt wird, oder eine noch zu verbindende Leitung, welche zu einem Lötpunkt auf dem ESC führt?

      Dieser APM 2.8 scheint eine alte Gurke zu sein, aber ich will jetzt trotzdem mal versuchen es damit zum Laufen zu bringen. Mir reicht es deswegen auch, wenn ich die Firmware bzw. Konfiguration der ESCs nur mit Programmer o.ä. umsetzen kann.
    • Vielen Dank für deine Hilfe!

      Ich habe jetzt nochmal alles durchprobiert mit BLHeliSuit und BLHeliSuit32, sogar der Chrome App und einem Arduino Uno in 4way Modus. Die Verbindung zum Arduino bzw. Programmer klappt immer, aber es werden in keinem Fall irgendwelche ESC gefunden.

      Leider habe ich keine Ahnung was das nun bedeutet. Evtl. ist eine andere Firmware drauf? Oder ich muss doch irgendwie an die Platine dran um erstmal eine FIrmware zu installieren, die dann über die Servo-Leitung konfigurierbar ist?

      Gibt es denn noch andere Foren (gern auch englischsprachige) mit Leuten die sich da evtl. noch besser auskennen? Irgendwie würde ich zumindest gern herausfinden, warum es nicht funktioniert. Weil irgendeine Software muss ja da drauf sein.
    • Normalerweise ist es eigentlich egal, denn die USB-Adapter verwenden meistens auch nur einen Microcontroller mit entsprechender Firmware und einen serial USB adapter chip o.ä. Zumindest kenne ich es so von anderen Projekten.

      Ich habe jetzt mal das Ding auseinandergenommen und direkt mit den C2CK und C2D Lötpads im Inneren verbunden (SiLabs C2 Interface). BLHeli32 erkennt damit überhaupt nichts, aber BLHeli.... ohne 32... erkennt eine "unknown or erased firmware". Da das Teil irgendwie ja funktioniert, handelt es sich also um eine unbekannte Firmware. Einfach irgendwas drüber flashen wird wohl kaum funktionieren und die Bezeichnung auf der Hülle hat sich wahrscheinlich ein Chinese letzte Wochen in der Mittagspause ausgedacht - sprich ist keine bekannte Marke o.ä.. Solang ich also diese Firmware und damit die Hardware nicht identifizieren kann, kann ich das Ding auch als schlechten Briefbeschwerer benutzen. Klarer Fall von dumm gelaufen. Aber das Risiko war mir ja grundsätzlich bekannt.

      Werde mal den Händler noch etwas ausquetschen, was er mir da für einen Müll verkauft hat und mir dann vier neue ESCs mit bekannter Firmware bestellen.
    • Habe exakt die gleiche Platine gefunden:
      quadmeup.com/hands-on-emax-simonk-series-30a-esc/

      Auf meinen steht aber "BLHeli" drauf. Vielleicht kann ich diese SimonK Software flashen? Meine Platine ist identisch inkl. Logo des Herstellers.

      Habe mal die empfohlene Firmware installiert:
      github.com/bitdump/BLHeli/issues/254

      Bin mal gespannt ob die funktioniert....

      The post was edited 1 time, last by neo2001: Link hinzugefügt ().

    • Mir sind drei grundlegend verschiedene BLHELI Firmwares bekannt:
      BLHELI
      BLHELI_S
      BLHELI32
      Sicher dass du die richtige hattest?

      Ich habe einmal einen 32er ESC über einen Arduino geflasht, und auch angesteuert. Das ging problemlos, lässt sich hier aber nicht übertragen, denn deine sind keine 32er. Mit der ganze alten, und der "S" Firmware kenne ich mich nicht mehr aus, die waren schon nicht mehr aktuell als ich ins Hobby eingestiegen bin.
    • BLHeli_S ist wohl die Weiterentwicklung von BLHeli und BLHeli32 ist wiederum eine Weiterentwicklung für ESCs mit 32bit MCU.

      Funktionieren tut bei mir die Software welche im Archiv mit dem Namen "BLHeliSuite16714901.zip" steckt.

      Die Links in dem letzten Post von mir haben sich als Volltreffer entpuppt.

      Erstmal habe ich die dort empfohlene BLHeli-Software (Image) mittels C2 Interface geflasht und damit lief das Ding dann auch sofort und ohne 3D-Modus.

      Weiter unten in dem verlinkten Beitrag, wird sogar ganz gezielt darauf hingewiesen, dass man noch einen Kondensator und einen Widerstand entfernen muss, damit die Konfiguration auch über die Signalleitung des Servostecker funktioniert.

      Danach lief dann auch die Konfiguration über die vorhandene Leitung.

      Beides hat mit einem Arduino (Uno) und der mit BLHeli mitgelieferten "4 Way Interface" Firmware funktioniert.
    • Nachdem jetzt alle ESC schön laufen, funktionieren plötzlich die anderen Sachen nicht mehr. :(

      Jetzt nervt wieder dieser scheiß externe Kompass von wegen erst "not calibrated" und danach "offset too high". Ich begreife allerdings auch den Prozess der Kalibrierung nicht wirklich. Mit dem Kompass stehe ich allerdings auch bei meinem Smartphone auf Kriegsfuß. :D Dieses alberne Herumgeruder kann doch nicht das Ende der technischen Entwicklung in dem Bereich sein.

      Nach ein paar Minuten Leerlauf fangen plötzlich die Motoren an zu piepen und hören nicht mehr auf. Keine Ahnung was das nun wieder soll...

      Eigentlich wollte ich auch noch die Fernbedienung (FlySky i6) mit einer Custom Firmware flashen, damit dieses NERVTÖTENDE Gepiepse nach 60s Leerlauf endlich aufhört - das scheint allerdings auch nicht zu klappen. Egal ob unter Windows oder Linux und egal mit welchem Kabel und Programmer...

      Nachdem ich die Funke auf Werkseinstellung zurückgesetzt hatte, ließ sich dann plötzlich nicht mehr mit dem Receiver verbinden. Erst nach einigen Versuchen ging es wieder.

      Danach hat sich plötzlich der COM-Port des Flight Controllers geändert und mir wieder einige Minuten meines Lebens geraubt.

      Irgendwie ist diese Drohne bzw. die Einzelteile verflucht.

      Ich habe mir mal einen aktuellen Flight Controller bestellt und hoffe, dass es damit besser läuft. Wenn ja, werde ich den aktuellen rituell mit dem Vorschlaghammer beerdigen.

      Gefolgen ist das blöde Ding dementsprechend immer noch nicht. Das Teil ist echt Frust pur. :thumbdown:

      Sobald sich ein Problem löst, tun sich zwei neue auf.

      Sorry, aber ich musste nur mal eben eine wenig Frust abladen. :whistling: ||
    • Irgendwie habe ich den Kompass ausgetrickst... :D

      Anfangs schien alles sauber zu laufen. Die Drohne ist aber in Richtung des offensichtlich nach wie vor schwächelnden Motors gedriftet, weswegen ich sie auch gleich wieder herunter gelassen habe. Dann aber hat der Motor erst richtig angefangen zu spinnen. Mehrfaches Kalibrieren hat leider nichts verändert.

      Gleichzeitig wird das ESC des nicht laufenden Propellers deutlich wärmer, als die anderen drei ESCs (nicht mal handwarm). Irgendwas scheint da mit der Brushless-Regelung nicht zu funktionieren.

      Hier ein Video (musste sowieso eines für den Händler machen):
      (Zwischendurch löst sich mal ein anderer Propeller beim Herunterdrehen, was aber, denke ich, unproblematisch ist? Wichtig ist AFAIK nur, dass er sich in Drehrichtung ein- und nicht ausschraubt?)
    • Der Händler schickt mir ein neues ESC und einen neuen Motor. Damit wird es dann wohl hoffentlich erledigt sein. Da ich ohne Ersatzteile höchstwahrscheinlich ohnehin nicht weiterkomme, habe ich die Drohne erstmal weggelegt. Werde dann berichten, was daraus geworden ist.
    • Das ESC war kaputt. Mit einem anderen ESC läuft der selbe Motor einwandfrei und die Drohne hebt ab und schwebt ohne größere Schwankungen in der Luft.

      Vielen Dank nochmal für die Hilfe und Hinweise!

      Der externe Kompass ist auch unschuldig. Ich hatte zwar schon einen leichten Verdacht, aber es lag tatsächlich an dem Gewindestab den ich als Ersatz für den unvollständig gelieferten GPS-Halter verwendet hatte. Hab mal einen (analogen) Kompass genommen - und der fängt schon an zu drehen, wenn die Stange noch 10 cm weit weg ist. Hätte nicht gedacht, dass das Magnetfeld dermaßen weit reicht.

      Den APM "2.8" habe ich trotzdem gegen einen Pixhawk ausgetauscht, welcher die aktuelle Software unterstützt.

      Auch die Flysky FS-i6 habe ich inzwischen mit der Custom-Firmware flashen können - es lag schlicht daran, dass ich das Ding erst einschalten darf, nachdem ich den Programmer angeschlossen habe. Ich hatte sie immer schon vorher eingeschaltet. Kleinigkeit, aber da muss man auch erstmal drauf kommen.