annuncio

Comprimi
Ancora nessun annuncio.

BLHeli per multirotori

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • BLHeli per multirotori

    Ho pensato di provare ad aprire una discussione riguardante il firmware per ESC BLHeli.

    Esiste già una discussione dedicata all'argomento nella sezione Elimodellismo Elettronica, ma un po' perché è già molto lunga, un po' perché incentrata soprattutto sulla versione per elicotteri, ed anche perché molto di recente è stato nuovamente ripreso il supporto agli ESC Atmel based (praticamente la quasi totalità degli esc usati nei multirotori), credo sia interessante sviluppare l'argomento all'interno della sezione dedicata ai multirotori.

    In breve, BLHeli è un progetto creato e sviluppato da Steffen Skaug (skaug nei forum) con finalità di estendere il governor e gestire una coda brushless nei microelicotteri.
    La parte GUI è stata creata e viene curata da Achim (4712 nei forum).
    Inizialmente sviluppata per piattaforma Atmel, in seguito questa era stata abbandonata in favore degli ESC basati su MCU SiLabs.

    Si divide in tre tipologie di fw, Main, Tail e Multi (creata poco più di un anno fa).
    Le prime due sono specifiche per elicotteri, sebbene la Tail si presta meglio della Multi alla conversione brushless di micro mr che nascono brushed.


    C'è più di un motivo che rende questo progetto interessante per i multirotori, anche confrontato al fw sviluppato da Simon Kirby:

    • - è possibile utilizzarlo su un gran numero di ESC, sia Atmel che SiLabs
    • - è possibile programmare i parametri da TX
    • - è possibile programmare i parametri da GUI
    • sarà a breve possibile programmare i parametri con una AVR box senza bisogno di PC
    • - sebbene possa sembrare una scocciatura rispetto al kazzillo per flashare SimonK, sugli esc SiLabs, la necessità di saldare 3 fili sull'esc per il flashing ed il setup dei parametri, rende l'esc velocemente configurabile lasciando in sito un micro connettore per questo scopo
    • - il regenerative braking disponibile anche su SimonK (comp_pwm) previa compilazione e flashing, è altamente configurabile per renderlo adatto alla specifica combinazione ESC/motore
    • - è disponibile il closed loop, una sorta di governor rovesciato studiato appositamente per i multirotori ad alte prestazioni
    • - è disponibile la funzione di inversione veloce della rotazione per multirotori 3D a passo fisso, non usabile al momento, ma pare che sarà enormemente migliorato nella prossima imminente release.
    • - nel fw è inserita la funzione beacon (configurabile) che genera toni ben udibili dopo un tempo di inattività prestabilito, per aiutare a ritrovare un modello disperso


    I contro rispetto a SimonK è che la GUI è windows only, e che lo start-up dei motori è ancora un pelo più incerto rispetto a SimonK.
    Ma il software viene spesso modificato in modo radicale da Steffen tra una versione e l'altra, con tanto di changelog ben chiaro e definito.
    Ad esempio, siccome ha dichiarato che nella prossima release il tempo di off durante l'inversione della rotazione sarà estremamente ridotto e l'inversione molto affidabile, già credo penso che la routine di start up sarà stata rivista completamente.

    Il forum di riferimento sul nuovo corso di BLHeli è su RCgroups, dove alla prima pagina si trova il link ai sorgenti ed all'ultima versione della GUI BLHeliSuite.

    Questo è lo screenshot della GUI con le impostazioni che a breve andrò a testare sui BS12A con motori Tiger MN2204-2300kv, con regenerative braking attivato.




    Chiudo qui il primo post per non appesantirlo troppo, con una richiesta:
    poiché questo genere di argomenti diventa ineluttabilmente molto dispersivo, vi chiedo di inserire un titolo descrittivo e chiaro dell'argomento trattato, anche nei quote, in modo da facilitare la ricerca degli argomenti, sempre nel caso che l'argomento sia di interesse e che verrà sviluppato approfonditamente.


    P.S.
    Steffen è una persona estremamente altruista e disponibile ed ha sempre dichiarato di non volere soldi per il suo lavoro.
    Nonostante ciò, qualcuno ha creato una sorta di donate page dove è riportato il suo paypal address per fare donazioni, ma meglio della donazione (e soprattutto più utile), è inviargli un nuovo esc non compreso nel suo github da testare e mappare.
    A parte una doverosa donazione in quanto utilizzatore del suo codice dal day one, io gli ho inviato tre esc che poi sono stati mappati e sono attualmente tra la lista dei flashabili.

  • #2
    Info parametri BlHeli

    Grazie liftbag per l'apertura di questo thread, ci voleva

    E' da un pò di tempo che volevo provare BlHeli sul quad che uso un pò per tutto, voletti liberi ed FPV, ma essendo gli ESC poco accessibili dovrei smontarlo tutto, flashare gli esc e se qualcosa non mi piace rismontare tutto e riflashare di nuovo gli esc

    Sono riuscito la settimana scorsa ad usare Arduino come UsbLinker, cosa che consiglio a tutti!
    Se l'ESC ha il bootloader che permette la programmazione tramite la spinetta molex, con due soli cavi GND ed il segnale, è possibile riprogrammare l'ESC in questione.
    A breve metterò qualche info perché l'argomento è un pò scarso di informazioni online...


    Ma torniamo a BlHeli:
    Mi sono informato, ed è possibile mantenere il bootloader presente sull'esc in quanto compatibile con BlHeli, e caricare quindi il nuovo FW mantenendo la possibilità di tornare indietro al FW "originale".
    Rassicurato dalla possibilità di tornare indietro, sono pronto a flashare i miei Afro 30A!

    Ma una volta flashati andranno configurati, quindi tu che lo usi da un pò, ci puoi dare due dritte sui valori configurabili e come eventualmente procedere alla calibrazione?
    Per esempio, variando il "Damping Force" dal minimo al massimo la variazione è facilmente identificabile con un volo di prova?
    Il "Closed Loop" che vedo disabilitato nel tuo screen, cosa comporta se attivato?

    Se si possono trovare tutte queste informazioni in qualche link, sarebbe gradito
    http://www.e-tips.it

    Commenta


    • #3
      Ottima discussione, seguo con interesse. É gia da un po' che volo con ESC flashati e mi trovo benissimo...
      Denis

      Commenta


      • #4
        Originariamente inviato da Creative Visualizza il messaggio
        Ottima discussione, seguo con interesse. É gia da un po' che volo con ESC flashati e mi trovo benissimo...
        Esc flashati Blheli? Sai fare un paragone con firmware Simonk?

        Commenta


        • #5
          Originariamente inviato da lucasss Visualizza il messaggio
          Ma torniamo a BlHeli:
          Mi sono informato, ed è possibile mantenere il bootloader presente sull'esc in quanto compatibile con BlHeli, e caricare quindi il nuovo FW mantenendo la possibilità di tornare indietro al FW "originale".
          Rassicurato dalla possibilità di tornare indietro, sono pronto a flashare i miei Afro 30A!
          Infatti, ma ti ricordo che è sempre possibile tornare al SimonK, che se sostituisci il bootloader con quello BLHeli, basta usare l'interfaccia USBASP con i sei contatti diretti sulla MCU. IL bootloader viene sovrascritto con quello SimonK.

          Commenta


          • #6
            Originariamente inviato da xxxnt Visualizza il messaggio
            Esc flashati Blheli? Sai fare un paragone con firmware Simonk?
            Si, ho seguito per filo e per segno questa videoguida:

            https://www.youtube.com/watch?v=P2agnNY5D-8

            Non è stato difficile.
            Purtroppo non ho mai usato esc con firmware simonK e per questo non posso fare paragoni.
            Posso solo dirti che rispetto al firmware originale dei miei Turnigy PLUSH 18A si nota una maggior reattività e di questo me ne sono accorto qunado ho fatto dei voli di prova in casa a qualche centimetro di quota (in zona turbolenza massima) e già li mi sono accorto che le correzioni della KK si facevano sentire maggiormente per il fatto che erano più immediate.

            Inoltre, programmando gli ESC tramite PC si possono variare un sacco di parametri ma io ho seguito scrupolosamente la guida...
            Denis

            Commenta


            • #7
              Damping force

              Originariamente inviato da lucasss Visualizza il messaggio

              Ma una volta flashati andranno configurati, quindi tu che lo usi da un pò, ci puoi dare due dritte sui valori configurabili e come eventualmente procedere alla calibrazione?
              Per esempio, variando il "Damping Force" dal minimo al massimo la variazione è facilmente identificabile con un volo di prova?
              Divido la tua risposta per poter mettere il titolo sull'argomento.

              Il damping, ovvero il regenerative braking, si ottiene cortocircuitando gli avvolgimenti durante la fase di decelerazione.

              Il damped light, una modalità disponibile su qualsiasi ESC, cortocircuita due dei tre rami del motore.

              Il damped mode cortocircuita tutti e tre i rami ed è possibile soltanto su esc con fet di potenza a commutazione veloce e stadio pilota altrettanto veloce.
              Sulla documentazione fornita con BLHeliSuite c'è la lista di tutti gli esc supportati con una breve descrizione e le informazioni sulla possibilità di usare la damped mode, bootloader ecc.

              La variazione Damping Force è ottenuta variando i cicli tra aperture e cortocircuitazione dei rami, dove ovviamente più è alta la frenatura e maggiori saranno le cortocircuitazioni rispetto alle aperture.

              Il problema del regenerative bracking sta nella difficoltà di mantenere l'informazione sulla rotazione durante le fasi del cortocircuito, tradotto in soldoni, il problema è mantenere il sincronismo.

              Io ti sconsiglio di fare esperimenti volando.
              E' molto meglio farli al banco, oppure sul modello a terra, bloccato, magari con l'esc temporaneamente collegato ad una ricevente standard.

              Come linea generale io faccio così, ma parlandone, magari troviamo un metodo migliore:
              1- senza elica, faccio la prova con PWM frequency high, demag off, controllando che il sincronismo sia buono nelle solite condizioni critiche che già proviamo con i SimonK (accelerazioni e decelerazioni istantaneee).

              2- in caso di problemi di sync si varia il demag e/o il timing (per ora demag off è l'impostazione migliore per motori micro e medi in mio possesso).

              3- quando tutto funziona a dovere con PWM high passo a full dampd se possibile, oppure damped light se l'esc non supporta la full. Parto con frenatura minima ed aumento fino a che non compaiano eventualmente problemi di sync.

              4- se non arrivo al massimo, passo a damped light e vedo se riesco ad arrivare al massimo senza problemi.

              5- monto l'elica e provo le due modalità damped e damped light con i massimi valori di force possibile e valuto quale delle due frena meglio.

              6- a questo punto, se me la voglio rischiare per avere una frenatura migliore, aumento di una tacca e vedo se con l'elica i problemi di sync persistono o sono spariti.

              7- quando sono convinto, ci volo.


              Nello screenshot al primo post, si vede che uso damped light highest force. Perché in full damped potevo usare al massimo mid-low, che frena peggio rispetto all'attuale scelta.

              Commenta


              • #8
                Originariamente inviato da xxxnt Visualizza il messaggio
                Esc flashati Blheli? Sai fare un paragone con firmware Simonk?
                Un paragone obbiettivo.
                Nessuna differenza in termini di prestazioni con regenerative braking off, quindi stessa reattività in accelerazione.
                BLHeli ha qualche minima incertezza in avvio rispetto al SimonK.
                Col Simonk quasi sempre sembra di avviare un motore brushed, BLHeli qualche volta ti ricorda che siamo di fronte ad un motore brushless.

                Aspetto con ansia la prossima release che dovrebbe, tra le altre cose, migliorare lo spool-up.

                BLHeli è virtualmente più compatibile con una vasta gamma di motori vista l'alta configurabilità dei parametri.

                Commenta


                • #9
                  Originariamente inviato da liftbag Visualizza il messaggio
                  Un paragone obbiettivo.
                  Nessuna differenza in termini di prestazioni con regenerative braking off, quindi stessa reattività in accelerazione.
                  BLHeli ha qualche minima incertezza in avvio rispetto al SimonK.
                  Col Simonk quasi sempre sembra di avviare un motore brushed, BLHeli qualche volta ti ricorda che siamo di fronte ad un motore brushless.

                  Aspetto con ansia la prossima release che dovrebbe, tra le altre cose, migliorare lo spool-up.

                  BLHeli è virtualmente più compatibile con una vasta gamma di motori vista l'alta configurabilità dei parametri.
                  Queste incertezze in avvio che si notato con Blheli e che io non ho mai notato con Simonk, non compromettono in alcun modo il volo? Sia in volato tranquillo che volato acro, difficilmente si scende sotto il 10-15% di gas.

                  Con il regenerative breaking in modalità "light" o "full damped" mi dicevi invece che si riescono ad aumentare i Pid in maniera considerevole e questo mi fa pensare ad un miglior comportamento del mezzo nel vento e/o per gli acro.

                  Ho 5 esc multistar 15A...usati sempre con firmware stock senza problemi, potrei fare un pò di prove con firmware stock-simonk-blheli e capire effettivamente cosa cambia

                  Commenta


                  • #10
                    Closed Loop

                    Originariamente inviato da lucasss Visualizza il messaggio
                    Il "Closed Loop" che vedo disabilitato nel tuo screen, cosa comporta se attivato?

                    Se si possono trovare tutte queste informazioni in qualche link, sarebbe gradito
                    Questa funzione non è una novità, in quanto è usata già negli ESCs Autoquad ESC32.

                    Si tratta di una sorta di governor, quindi un modo di funzionamento dove il regime di rotazione è controllato e comparato per essere mantenuto costantemente agganciato al segnale di ingresso sull'esc.

                    Mentre il governor negli elicotteri è concepito per mantenere un regime costante fisso, il multi rotor closed loop ha come priorità il raggiungimento del nuovo regime di rotazione nel più breve tempo possibile, sia accelerando che decelerando.
                    E' quindi inteso che va usato col regenerative braking, quindi prima di sperimentarci su, bisogna regolare a puntino il damped mode.

                    Il vantaggio del closed rispetto all'open loop sta in RPMs indifferenti alle variazioni di carico e in una ancora più veloce risposta in accelerazione.

                    Essendo un governor, dispone dei controlli P e I gain, da regolare fino ad eliminare le oscillazioni nel regime di rotazione.

                    Quella che trovo una limitazione, è la suddivisione in step del range di giri ottenibili in relazione al segnale di ingresso, da usare a seconda dei massimi giri raggiungibili dal motopropulsore.
                    Questa suddivisione in pochi step, fa si che scegliendo un valore più basso di quello corretto, il motore non raggiunge i massimi giri che potrebbe, scegliendo quello corretto, è possibile notare che il raggiungimento dei max rpm avviene sensibilmente prima del massimo segnale in ingresso, cosa che riduce la risoluzione del segnale di ingresso.

                    Ma sono valutazioni teoriche campate in aria, in quanto non ho ancora mai provato a volare con il closed loop abilitato.

                    Commenta


                    • #11
                      PID e regenerative braking

                      Originariamente inviato da xxxnt Visualizza il messaggio
                      Queste incertezze in avvio che si notato con Blheli e che io non ho mai notato con Simonk, non compromettono in alcun modo il volo? Sia in volato tranquillo che volato acro, difficilmente si scende sotto il 10-15% di gas.

                      Con il regenerative breaking in modalità "light" o "full damped" mi dicevi invece che si riescono ad aumentare i Pid in maniera considerevole e questo mi fa pensare ad un miglior comportamento del mezzo nel vento e/o per gli acro.

                      Ho 5 esc multistar 15A...usati sempre con firmware stock senza problemi, potrei fare un pò di prove con firmware stock-simonk-blheli e capire effettivamente cosa cambia
                      No, non comportano inaffidabilità, se la centralina è impostata per non spegnere mai i motori in volo.
                      E anche in caso, non mi è ancora capitato che in avvio un motore fallisca.
                      Soltanto, qualche volta vedi l'elica fare qualche grado a rovescio e poi partire.


                      Si, uno dei vantaggi spesso citati del regenerative braking, è quello di riuscire ad aumentare i PID rispetto a damped off.

                      I pid si tende sempre ad aumentarli fino all'innesco dell'oscillazione per poi tornare indietro di poco per eliminarla.

                      L'oscillazione arriva perché nel momento che la centralina dice "ok, hai raggiunto la posizione, ora fermati", il motore frena per inerzia, quindi con una curva di discesa lenta, quindi sovra-corregge e la centralina da comando opposto per rimediare, con ciclo smorzato fino al raggiungimento della rotazione (del multirotore) voluta.
                      Allora per evitare l'oscillazione, abbassiamo il PID per ridurre l'aggressività del comando o della correzione al punto che la decelerazione non sia tale da andare in sovra-comado/correzione.

                      Ecco perché migliorando la frenatura è possibile aumentare l'aggressività della risposta senza incorrere in eccessi di correzione.

                      Per questo motivo, tendo a credere che anche senza variare i pid, il regenerative braking possa migliorare la sensazione di locked-in in situazioni di vento o turbolenza.

                      Commenta


                      • #12
                        QBrain 4in1 20 Ampere

                        Seguo con interesse questo nuovo tharead poiché sul mio quad monto un esc 4in1 QBrain da 20 Ampere.
                        In passato ho fatto una ricerca ed ho visto che questo tipo di esc supporta come firmware solo il BLHeli.
                        Chiedo: per poterlo programmare è necessario un programmatore Arduino Uno o posso usare anche un programmatore USBasp AVR?

                        Aliexpress.com : Buy FREE SHIPPING 1LOT New USBASP USBISP AVR Programmer USB ATMEGA8 ATMEGA128 Support Win7 64K from Reliable usb atmega128 suppliers on Kesun Electronics
                        G.A.T.
                        Gruppo Aeromodellistico Tarantino
                        Multicopter Games Vol. 1: --> http://www.tarantogat.it/gatwp/?p=1645 <--

                        Commenta


                        • #13
                          QBrain 4in1 20 Ampere

                          Originariamente inviato da birrozza Visualizza il messaggio
                          Seguo con interesse questo nuovo tharead poiché sul mio quad monto un esc 4in1 QBrain da 20 Ampere.
                          In passato ho fatto una ricerca ed ho visto che questo tipo di esc supporta come firmware solo il BLHeli.
                          Chiedo: per poterlo programmare è necessario un programmatore Arduino Uno o posso usare anche un programmatore USBasp AVR?

                          Aliexpress.com : Buy FREE SHIPPING 1LOT New USBASP USBISP AVR Programmer USB ATMEGA8 ATMEGA128 Support Win7 64K from Reliable usb atmega128 suppliers on Kesun Electronics
                          No, usbasp si usa per gli Atmel.

                          Per i SiLabs si usa o il SiLabs toostick opportunamente modificato, oppure quasi tutte le board arduino, programmate tramite la GUI di Achim.

                          Il vantaggio di una Arduino UNO è che collegandogli una shield LCD è possibile usarla sia come interfaccia pc per il flashing, sia per variare al volo i parametri sul campo, lontani dal pc. L'altro vantaggio è che si può usarla per flashare e regolare i parametri in parallelo sui 4 esc.

                          Devi però saldare i quattro cavetti sul tuo ESC 4 in 1, uno per ciascun esc, e devi anche conoscere quale file hex è adatto.

                          Commenta


                          • #14
                            Originariamente inviato da liftbag Visualizza il messaggio
                            Il vantaggio di una Arduino UNO è che collegandogli una shield LCD è possibile usarla sia come interfaccia pc per il flashing, sia per variare al volo i parametri sul campo, lontani dal pc.
                            Mi interessa sta cosa... dove posso trovare maggiori informazioni a riguardo...grazie.


                            Inviato dal mio GT-S5830i con Tapatalk 2
                            Denis

                            Commenta


                            • #15
                              Arduino UNO BLHeli BOX

                              Originariamente inviato da Creative Visualizza il messaggio
                              Mi interessa sta cosa... dove posso trovare maggiori informazioni a riguardo...grazie.


                              Inviato dal mio GT-S5830i con Tapatalk 2
                              Se possiamo, cerchiamo di raccogliere qui le informazioni.

                              Io ho usato un SainSmart Graphic LCD4884 Shield.










                              Creare la box è facilissimo.
                              Si installano i driver di arduino sul pc windows, si avvia BLHeliSuite.
                              Dal menu AVR / SiLabs Interfaces si sceglie Silabs Serial Interface.
                              Si entra nella tab Serial Interfaces Boxes, questa è la schermata.




                              Si clicca su Make Arduino Uno LCD4884.

                              Appare questa finestra



                              La versione multi è quella che abilita la scrittura in parallelo su più ESCs.
                              Io ho sempre usato quella evidenziata.
                              Dopo la scelta, pochi secondi e la box è pronta.

                              Collegata all'usb del pc, diventa una Silabs Serial Interface che tramite la GUI consente di flashare e regolare i parametri dell'esc.
                              Alimentata in proprio e staccata dal pc, si usa per scrivere i parametri sull'ESC, navigando i menu con il joystick dello schermo LCD.


                              Tutto quanto sopra è attualmente appannaggio degli ESCs basati su SiLabs.
                              Dalla prossima versione di BLHeliSuite, pare sarà inserita la programmazione di una BOX per ESCs basati su Atmel.

                              Commenta

                              Sto operando...
                              X