Visualizza messaggio singolo
Vecchio 10 aprile 12, 20:13   #1 (permalink)  Top
liftbag
UserPlus
 
L'avatar di liftbag
 
Data registr.: 10-03-2010
Messaggi: 12.100
Immagini: 10
BlHeli: ovvero rendere un discreto regolatore un super esc

La premessa doverosa è che tutto quanto riportato in questa specie di guida è il frutto del lavoro di un gruppo di appassionati modellisti e programmatori, in particolare di Steffen (sskaug su helifreak) che hanno reso disponibile il frutto del loro lavoro sulle pagine di helifreak e di rcgroups.
In particolare ho seguito il topic di Steffen su helifreak, cui vi prego di fare riferimento per una comprensione più approfondita dell'argomento.

Poiché ho trovato il progetto utile e la realizzazione pratica semplice ed alla portata dei più, ho pensato di condensarlo in italiano sulle pagine del barone.


Cosa è BlHeli?

E' un progetto che si è posto come obbiettivo la modifica di un certo tipo di regolatori molto diffusi nella conversione brushless dell'mCPX e che ha raggiunto gli obbiettivi prefissati che erano principalmente quattro:

1- migliorare le performances finalizzando i parametri all'utilizzo con l'mCP X
2- eliminare la necessità di un convertitore di segnale esterno
3- includere la modalità governor anche a 1S
4- ottimizzare l'esc per pilotare efficacemente un motore brushless di coda.


E' un progetto utile solo per i possessori di mCP X?

Assolutamente no. In realtà i motori brushless in uso sull'mCP X sono da tempo utilizzati come upgrades su moltissimi altri micro modelli, soprattutto Walkera.
Inoltre, la possibilità di invertire la polarità del segnale di ingresso rende compatibile l'esc sia agli usuali standard E-flite che a quelli di Walkera.
Questo è anche il motivo della scelta di collocazione di questa discussione.


Occorrono competenze teoriche da programmatore per usufruirne?

No. Il grande merito di Steffen e degli altri è quello di aver messo a disposizione il codice già compilato e pronto per essere scaricaro nella mcu del regolatore.
Semmai serve un minimo di abilità nelle saldature elettroniche e un minimo di conoscenza del pc.


E' un progetto multipiattaforma pc?

Al momento no. Il software necessario è disponibile solo per windows ed anch'io al momento lo uso su osx grazie a parallel desktop con una versione demo di windows 8.


Quali esc possono essere riprogrammati con BlHeli?

Il progetto si divide in due branch, quello per gli esc basati su mcu Silicon Labs e quelli basati su Atmel.
Almeno per ora, tratterò i primi, perché molto più utilizzati sull'mCP X, e sono:

TGY DP3A
SuperMicro System - 3.5A
Oversky XP-3A
Oversky XP-7A
Oversky XP12A
Turnigy 6A



La riprogrammazione dell'esc

Per prima cosa è necessario procurarsi il Silicon Labs ToolStick.
E' in vendita sul sito SiliconLabs e quello da ordinare è al link TOOLSTICKBA (17.50$) a questa pagina: USB ToolStick
E' possibile trovarlo altrove, ad esempio io l'ho ordinato da Mouser Electronics, ma in questo caso costa di più ed è disponibile soltanto la spedizione veloce che ne fa lievitare ulteriormente il prezzo.
Così come arriva non è utilizzabile per i nostri scopi, e dobbiamo modificarlo un poco.

Questo è il ToolStick, così come arriva



Per poterlo usare occorre portare fuori tre fili, il positivo, il negativo ed il segnale.

La copertura in plastica si apre facilmente aiutandosi con un cutter, poi si può decidere di non usarla più, oppure di farci un foro per far uscire i fili.
Io ho preferito tenerlo chiuso e far uscire i fili.

Sul lato anteriore si salda il filo del segnale, ma occorre anche cortocircuitare due pin indicati in foto



Dal lato posteriopre si preleva il + e il -



Ecco quindi come si presenta una volta richiuso






E' molto comodo utilizzare un connettore sia per le esigenze di riprogrammazione che per la modifica dei parametri via pc.
Io ho utilizzato connettori a 3 pin di AEOrc, perché sono leggeri e sottili e possono quindi essere lasciati permanentemente sull'esc per tutte le esigenze di aggiornamento software.

Sul toolstick ho usato il maschio, indicando chiaramente il significato dei pin, perché questi connettori non sono polarizzati




Sugli esc, uso ovviamente la femmina e per ora, sull'XP-12A e sul 7A ho trovato una sistemazione ottimale.

I punti sull'esc dove collegare il ToolStick sono indicati con precisione nel primo post di helifreak, ingrandendo le miniature delle fotografie dei vari regolatori.

E' importante ricordare che per poter utilizzare l'XP-7A e l'XP-12A occorre rimuovere un condensatore, come chiaramente indicato nelle fotografie del primo post del topic su helifreak.

L'XP-12A con il connettore saldato ed il condensatore rimosso




e collegato al toolstick




Questo invece è l'XP-7A: il segnale, come nella foto sopra, è a destra, il negativo a sinistra ed il positivo al centro




Il software FLASH Programming Utility, da utilizzare per riprogrammare l'esc, è scaricabile dal sito SiliconLabs.
E' possibile flashare l'esc anche con il software BlHeliSetup sviluppato dall'utente helifreak 4712, scaricabile a questa pagina, che contiene le dll del software originale Silicon Labs per comunicare con il toolstick.
Inoltre questo software consente di settare i parametri dell'esc via pc, di nominare ciacun esc con un nome univoco, di salvare le impostazioni in un file .ini e di poterle importare, di disabilitare la programmazione via TX, e di settare il cut-off e la possibilità di invertire il senso di rotazione del motore.

I binari compilati per i vari escs sono disponibili al github di sskaug, nella sottocartella SiLabs/Hex files, ma è facile che si possano trovare versioni più recenti alla pagina del blog di 4712 postata poche righe sopra.
Hanno estensione .hex e sono chiaramente descritti nel nome.
Per ciascun esc esiste la versione main e la versione tail, destinate ovviamente all'utilizzo con main motor la prima e tail motor la seconda. Ma è bene precisare che soltanto gli esc 1s, quelli da 3 e 3.5A dispongono dell'opzione per migliorare la velocità di riduzione del regime di rotazione.

La procedura per riprogrammare l'esc con il software silicon labs è descritta in questo pdf.

Invece, se volete riprogrammare col software BlHeli-Setup, aprite l'applicazione, fate click sul pulsante "Read Setup" in basso a sinistra, facoltativamente inserite un nome univoco nel campo "Name", cliccate sul pulsante "Flash BlHeli Hex File", navigate nel file system del pc e scegliete il file .hex appropriato ed il software lo trasferirà nella mcu dell'esc in un istante.

Tutto qui. Ora potete variare i parametri dell'esc, sempre con il software BlHeli-Setup, oppure tramite la trasmittente, sempre che non ne abbiate inibito l'utilizzo con BlHeli-Setup.

Per usare la trasmittente, fate riferimento all'apposita guida.



Utilizzo del BlHeli ESC come main

Il meccanismo di armamento dell'esc è appena più laborioso del solito, ma è un workaround per aggirare l'ostacolo del ritardo durante la fase di armamento della 3 in 1 dell'mCP X, ritardo che ostacola l'ingresso in modalità programmazione con gli esc non riprogrammati.


Armamento dell'esc in modalità volo

La parte in blu è riferita all'mCP X, ma il meccanismo di armamento è valido per tutti gli elicotteri.

Accendendo l'elicottero, l'esc si troverà in ogni caso uno 0 throttle in ingresso, perché o lo avete impostato voi sulla TX, oppure se avete il gas alzato, la 3 in 1 non si arma.
Appena alimentato, l'esc emette tre beep in rapida sequenza e rimane in attesa disarmato.

Appena gli arriva un valore di throttle diverso da 0 (ma non 100%) emette un beep lungo confermando l'inizio della sequenza di armamento.

La sequenza di armamento si completa appena il gas torna a 0, cosa che fa armare l'esc e che quindi farà partire il motore al successivo aumento del throttle.


Armamento dell'esc in modalità programmazione

La procedura è simile, quindi si comincia alzando il throttle di poco.

1) Appena terminato il beep lungo di conferma, invece di portare il gas a 0 si porta al 100%. L'esc restituisce dei singoli beep all'infinito rimanendo in attesa.

2) Si porta il gas a 0. L'esc restituisce una serie infinita di doppi beep.

3) Si riporta il gas al 100%. L'esc emette 4 beep in rapida sequenza per tre volte, dopodiché inizia la sequenza di suoni che indicano le funzioni ed i valori da scegliere.


Le funzioni sono indicate da beep lunghi, quindi un beep lungo significa prima funzione, due beep lunghi seconda funzione e così via.
Subito di seguito ai beep lunghi di funzione seguono i beep corti che indicano il valore da impostare.
Ogni valore selezionabile per la funzione è ripetuto tre volte, per dare il tempo di operare la scelta.

Quando si arriva al valore desiderato di una certa funzione si deve portare il gas a 0.
L'esc emette quattro beep per tre volte per indicare che il valore è stato memorizzato, dopodiché si resetta tornando in attesa di armarsi o di rientrare in modalità di programmazione.



Le modalità di utilizzo con firmware Main


Il BlHeli è un codice sviluppato per esc da elicottero, non è quindi prevista la funzione brake, neanche se si disabilita il governor.

Una volta riprogrammato l'esc potrà funzionare senza governor, oppure con governor in due differenti modalità; TX e Arm.

In modalità TX i giri del motore saranno funzione del valore del canale throttle.
Esiste un foglio excel che dovrebbe descrivere tale relazione, ma non io non ci capisco niente e sono più pragmatico, misuro i giri col tachometro con gas al 100% e mi tengo sotto di almeno il 15% in modo da avere una certa riserva per il governor, poi semmai aggiusto via via se sento che il motore cala sotto sforzo o che non cala mai.
Con questa modalità le curve gas per il volo devono essere piatte, tipo 80-80-80.


Esiste poi la modalità Arm, in cui il massimo valore di gas che l'esc vede durante la sequenza di armamento, determinerà i giri che utilizzerà in volo.


Approfondisco meglio.

Il governor di questo, come della maggior parte degli esc, fa corrispondere il valore di throttle ad un ben determinato valore dei giri al minuto del motore, che poi mantiene costante.

Tipicamente si imposta il modo volo Normal con una curva che termina al valore di throttle desiderato, ad esempio 0-20-40-60-80. La forma della curva non è importante, ma per ora mi è sembrato di capire che deve partire da 0, cioè sganciare l'hold con curva piatta a 80% non produce lo stesso risulatato, occorre salire da 0 con progressione fino al valore desiderato.
Poi occorre avere una seconda curva gas, idle (o stunt per Spektrum) di qualsiasi forma ma mai a 0%.

Si esegue quindi la prima parte dell'armamento dell'esc portando lo stick del gas al massimo (che corrisponde nel nostro esempio a 80%).
Poi a 0%.
Poi si tira l'hold e si inserisce il modo volo idle o stunt.
Quando si rilascia l'hold il motore parte in soft start fino ai giri preimpostati con il primo passo.

Perché questa modalità? Perché l'esc ignorerà il canale throttle per ogni valore diverso da zero (valore che lo disarmerà).
Questa cosa è piuttosto importante in certe applicazioni con l'mCP X, cui faccio un breve cenno nel prossimo post.

Per l'utilizzo dell'esc con il motore di coda, mi riservo di scrivere qualcosa non appena l'avrò provato.

Paolo
liftbag non è collegato   Rispondi citando