Menu Close

[HowTo] Emax 12A ESC’s voorzien van BLheli firmware

Ik bestelde bij Banggood de standaard EMAX ESC’s met SimonK firmware maar de tjinees die mijn order heeft ingepakt heeft voor het gemak maar BLHeli’s in de package gestopt. Fadoz wees mij er op en gaf aan dat die geschikt zijn om de BLHeli firmware te draaien.

De BLheli firmware is opensource en wordt op GitHub bijgehouden. Zie bitdump voor de sources en handleidingen.

IMG_0753

Dit artikel gaat puur in op het flashen van de BLHeli 12A ESC’s met BLHeli 13.1 firmware via een Arduino 2560 Mega. De standaard handleidingen die geleverd worden gaan uit van een Arduino nano en andere toolies maar die heb ik niet liggen.

Het programmeren van de ESC’s bestaat uit twee fase’s:

  1. Het laden van een nieuwe firmware;
  2. Het doen van instellingen via een software tool.

Wat heb ik nodig?

  1. Arduino Mega 2560 met USB aansluitkabel;
  2. 3 breadboard kabeltjes (rood, wit en zwart);
  3. PC met Arduino software geïnstalleerd;
  4. Firmware bestanden voor jouw ESC’s;
  5. Software om de configuratie aan te passen.

Fase I :: Programmeren van de nieuwe firmware

IMG_0754

Stap 1:: is het klaarmaken van de ESC om geprogrammeerd te worden:
Op elke ESC zitten 4 punten waarmee ze vanuit de fabriek zijn voorzien van een firmware. Drie van deze pinnen gaan we gebruiken. Wat ik gedaan heb is die 3/4 pinnen standaard voorzien van een servo kabel zodat ik later de ESC’s kan bijwerken. Mijn ESC’s hebben een chip van SiLabs dus met alles wat ik doe moet ik rekening houden met stappen die nodig zijn voor SiLabs. De andere variant is Atmel.

De initiële flash wordt gedaan over de zogenaamde “C2” interface.
Deze heeft drie aansluitingen nodig. Deze zijn gemarkeerd als:

  1. Zwart voor aarde;
  2. Rood voor signaal;
  3. Wit voor signaal.

Let op! Dat je de rode ader niet gebruikt op de +5V kabel. Dan blaas je de ESC namelijk op.

Kijk in de handleiding van supported ESC’s voor het juiste aansluit schema. In de foto zie je mijn aansluitingen. Er zit hotglue op om het losraken van de kabels te voorkomen tijdens trillingen tijdens vliegen.

Stap 2 :: Arduino Mega voorbereiden op flashen:
Voordat we de ESC aansluiten gaan we de Arduino laden met de juiste code. Dat doen we door de BLHeliSuite software te downloaden. Download de laatste versie hier. Ik heb de software draaien op een Windows 8 virtuele machine onder VMWare Fusion (Mac OSX versie). Zorg ervoor dat je de USB poort van de MAC doorzet naar de Virtuele machine door het vinkje aan te zetten in de USB opties.
Screen Shot 2015-07-05 at 14.14.36
Start dan BLHeliSuite.exe en selecteerd het tweede tabblad ‘make interface’.Screen Shot 2015-07-05 at 14.25.35
Klik linksonderin op COM ports en selecteer daar de juiste COM poort waar de Arduino aan zit. In mijn geval is dat COM3. (Mocht je geen extra poort zien, controleer dan in device manager of je een unknow device ziet. In dat geval, installeer de Arduino software)Screen Shot 2015-07-05 at 14.46.26Screen Shot 2015-07-05 at 14.45.18
Selecteer aan de rechterkant de type Arduino die je gebruikt. In dit geval is het een Arduino Mega 2560.Screen Shot 2015-07-05 at 14.47.36
Klik op de knop ‘Make Arduino general’ om de Arduino Mega te programmeren.Screen Shot 2015-07-05 at 17.50.38
Bevestig deze melding ook met ‘OK’.Screen Shot 2015-07-05 at 17.51.58
Selecteer nu de juiste bootloader code.Screen Shot 2015-07-05 at 17.53.23
Bevestig de melding en de Mega wordt voorzien van een nieuwe bootloader. Bevestig naderhand het rapport.Screen Shot 2015-07-05 at 17.55.29
Selecteer nu uit het menu ‘Select ATMEL / SILABS interface’ de juiste Bootloader methode. We hebben een Arduino general interface gemaakt. We kiezen dan ook B methode ‘SILABS C2 (4w-if)’.Screen Shot 2015-07-05 at 17.57.47

Stap 3 :: Aansluiten van de Arduino Mega aan de EMAX 12A ESC:

Nu de Arduino Mega 2560 voorzien is van een bootloader gaan we de Arduino aansluiten aan de ESC.

  1. Sluit de zwarte draad aan op de GRN poort van de Arduino;
  2. Sluit de witte draad aan op poort 51 van de Arduino. Dit is de MOSI poort;
  3. Sluit de rode draad aan op poort 53 van de Arduino. Dit is de RESET poort.
  • Poort 50 is de MISO poort;
  • Poort 52 is de SCK poort.

Zet stroom op de ESC door een LiPo aan te sluiten en wacht totdat de motor is opgestart.
N.B.: Je kunt ze ook zonder aangesloten motor flashen en configgen.

Bestand 05-07-15 19 46 17

Stap 4 :: ESC voorzien van BLHeli firmware:

Klik op het eerste tabblad onderin de juiste COM poort aan en klik op Connect.Screen Shot 2015-07-05 at 16.07.16
Zodra je verbonden bent klik je op de knop ‘Flash BLHeli’Screen Shot 2015-07-05 at 18.02.30
Met het filter kun je uitkomen op je benodigde FW. Ik heb een Emax 12A multicopter ESC en zo kom ik op 1 beschikbare recente FW. Selecteer deze en druk daarna op OK.Screen Shot 2015-07-05 at 18.03.52
Bevestig deze waarschuwing als je zeker weet dat je de ESC wilt programmeren.Screen Shot 2015-07-05 at 18.05.49
Na het programmeren krijg je een bevestiging. Druk ook deze op OK.Screen Shot 2015-07-05 at 18.07.26

Fase II :: Configureren van instellingen

Nu we klaar zijn met het flashen van de juiste firmware kunnen we de verbonden ESC configureren. Afhankelijk van je ESC kun je bepaalde zaken wel of niet instellen. Welke instellingen je moet gebruiken is deels persoonlijk en deels afhankelijk van de mogelijkheden van de ESC. Daar gaan we in dit artikel verder niet op in. Ik toon mijn instellingen die ik gedaan heb op mijn 12A ESC’s:

Screen Shot 2015-07-05 at 18.34.04

Wel nog enkele tips:

  • Zet in elke ESC een naam en een nummer. Daarmee identificeer je makkelijker je juiste ESC;
  • Sla de config op in een ini file via het menu. Zo kun je elke ESC met deze ene ini file voorzien van dezelfde config. (Pas daarna wel de ESC ID aan en druk op save).

Related Posts

2 Comments

  1. Fandy Backers

    Dag,

    Ik wilde graag mijn SimonK 12A op deze manier flashen, maar ik kom tot de stap connect en dan connect hij. Maar daarna zou ik toch op read kunnen klikken, en dan zou die de esc moeten uitlezen?

    Ook zeg je in de beschrijving dat ik pin 50 en 51 moet gebruiken, maar volgens het plaatje is dat geen 50 en 51.
    Ik krijg dus geen connectie met de ESC #1.

    Wat doe ik verkeerd?

    met vriendelijke groet,

    Fandy Backers

    • Xibel

      Hallo Fandy,

      Weet je zeker dat jouw SimonK ESC’s te flashen zijn met BLHeli?

      Ik heb zelf heel lang lopen proberen om die ESC’s verbonden te krijgen. Ik heb heel veel verschillende pogingen gedaan. Het grootste probleem zat hem in het goed krijgen van mijn Arduino. Alle handleidingen in het EN gaan over de Arduino Nano en ik wilde het perse met een Mega doen. Het wordt hierboven heel simpel uitgelegd maar het was een enorm gedoe. Het lukte me daarom alleen via een virtuele machine. Ik heb de Arduino meerdere keren voorzien van een bootloader maar daarna lukte het niet om de flashen. De combinatie zoals hier beschreven was voor mij de juiste. Kan zijn dat voor jouw ESC’s je een andere combi nodig hebt.

      Alleen connecten en op read klikken heeft geen zin. De SimonK kan niet gelezen worden met de BLHeli suite software. Je moet dus eerst flashen naar BLHeli.

      Pin 50 en 51 is een goeie van je. Dat staat fout in de handleiding. Ik heb het aangepast aan wat het moet zijn. Zie het artikel.

Leave a Reply

Your email address will not be published.