LiPoly Monitor con Autodetect per 1,2,3,4 Celle Andrea "Anfarol" Farolfi, anfarol@tiscali.it, http://www.modelrc.it
 |
 |
Componenti: |
 |
 |
Resistenze
R1 SMD 4,7K ohm (formato 0805)
R2 SMD 33 ohm (formato 1206)
R3 SMD 470 ohm (formato 1206)
R4 SMD 560 ohm (formato 1206)
R5 SMD 1,5K ohm (formato 0805) 1% !!!
R6 SMD 10K ohm (formato 0805) 1% !!!
Condensatori
C1 SMD 100 nF (formato 0805)
Diodi
D1 Led Alta Luminosità KingBright L-53SRC-E (2,8Cd)
D2 Diodo Zener BZX79C2V7 (non sostituire !!!)
Transistor
Q1 SMD bc 817 - 16 (o -25)
Q2 SMD bc 817 - 16 (o -25)
In caso di componenti standard potete usare il BC547
Integrati
U1 PIC12F675/SN (SMD) programmato
Varie
circuito stampato 0,8mm
N.B. sul circuito stampato è previsto D3, che sostituisce D2 nel caso
si trovasse l'equivalente SMD di D3.
|
 |
|
Aggiornamento: Nuovo Firmware 1.1C (06/09/2004)
Modifiche rispetto alla 1.1
1) in qualche caso, in particolare con regolatore Brushless, il pic si pianta all'acensione
e/o sprogramma l'eeprom... Questo mi è stato riferito, ma non mi è personalmente (nonostante in
numeri costruiti) mai capitato. Mi è però stato mandato un esemplare che si era effettivamente
sprogrammato.
Pertanto ho attivato il watchdog, aggiunto qualche controllo ulteriore e indurita la possibilità
di entrare in fase di programmazione dell'EEprom involontariamente.
2) ho aggiunto dati di default (se usato il diodo consigliato) sull'EEprom, in modo da
non essere obbligati alla programmazione delle soglie a fine montaggio.
Con un po' di fortuna, l'errore per 2-3 celle è di 60-100mV, quindi ben più che accettabili e
comunque precisione migliore di alcuni regolatori commerciali che mi sono capitati per le mani...
Rimane possibile comunque riprogrammarlo con la solita procedura.
|
Premessa
Questo dispositivo serve per monitorare la tensione delle batterie LiPoly, tanto rivoluzionarie
nel mondo modellistico quanto delicate. Molti modellisti hanno tanti regolatori con circuito di
cut-off che spesso non è programmabile e quindi non utilizzabile per le celle LiPoly. Per evitare
di scaricare eccessivamente le celle e quindi procedere a un tedioso recupero di emergenza
caricando con 1C le celle (o addirittura cestinarle se la scarica aggressiva capita diverse
volte), è necessario effettuare un rientro con il modello e far terminare la scarica il prima
possibile.
Fortunatamente le celle LiPoly, a differenza delle NiCd e NiMh, hanno una curva di scarica
molto più lineare, pertanto non è necessario effettuare uno stop brutale o comunque una
drastica riduzione di potenza che spesso è causa di panico per la difficoltà di recupero
che sorge senza poter disporre di motore.
Inoltre ci sono altri parametri che influiscono sulla soglia di intervento:
-
Le celle LiPoly, normalmente, hanno resistenza interna normalmente
più alta delle NiCd e pertanto la tensione sotto carico crolla. In applicazioni
limite con forti correnti richieste dalle batterie, è possibile che le celle pur
essendo perfettamente cariche, arrivino rapidamente alla soglia "critica" pur non
essendo scariche. Nel momento in cui la potenza si riduce, la tensione risale. Questo
genera problemi se il cutoff del regolatore (anche se espressamente per LiPoly),
riduce potenza: anche con batteria carica, non si può richiedere tutta la potenza,
causa intervento del regolatore. Nei regolatori programmabili di ultima generazione,
è possibile scegliere soglie diverse e quindi abbassare tale soglia per evitare il
problema della riduzione anticipata di potenza. Questo però comporta il pericolo di
ritrovarsi con la batteria veramente sotto la tensione critica dopo un minimo di utilizzo.
Es: su un modello 3d, è necessario utilizzare tutto la modulazione possibile
della potenza. Quindi occorre richiedere forti correnti per alcune manovre mentre
per semplice volo di crociera, riassetto, allineamento alla pista o altre manovre,
la richiesta di corrente è esigua. Questo comporta la necessità di abbassare la
tensione di soglia del cutoff del regolatore, consentendo di usare il modello in
hovering e accelerazioni esasperate. Man mano che la batteria si scarica, il pollice
involontariamente tende a dare sempre più gas, senza che il pilota se ne renda conto,
proprio per compensare il calo di tensione delle celle. Se poi, il pilota decide di
fare qualche "passeggiata", si trova a dare molto gas per compensare la tensione oramai
in posizione critica. Il cutoff non interviene quando dovrebbe e la batteria subisce
uno stress. Nonostante questa combinazione sia rara per un pilota 3d, non è impossibile...
Perché per 1 minuto di volo in più, rischiare una costosa batteria?
In particolare questa situazione si verifica quando si collauda un nuovo modello,
nuova motorizzazione e/o batteria, dove occorrono alcuni voli per capire il normale
range di utilizzo.
-
La temperatura
Tipicamente, la resistenza interna è inversamente proporzionale alla temperatura.
In campi all'aperto, in giornate molto fredde, se la celle non sono tenute al caldo
(20-25°C), la resistenza interna è molto elevata, tanto da far scendere sensibilmente
la tensione sotto carico anche con una scarica di pochi C. Con temperature inferiori ai
10°C il problema è particolarmente sentito, tanto da rendere difficoltoso il volo di un
modello che, in normali condizioni, ha rapporto peso/potenza inferiore a 1.
Il cutoff del regolatore, spesso taglia o riduce ulteriormente potenza, rendendo di
fatto inutilizzabile la batteria a basse temperature.
Pertanto nasce l'idea del LiPoly Monitor, utile per chi vuole utilizzare vecchi regolatori
senza cutoff per LiPoly e per chi vola in condizioni ambientali estreme.
Come funziona
Il LiPoly Monitor, avvisa con il lampeggio del LED ad alta luminosità incorporato, quando
la tensione scende la tensione "critica".
Senza effettuare alcun intervento sull'erogazione di potenza, non sorge il panico del calo di
potenza inaspettato e consente un rientro in tutta tranquillità.
Inoltre, con temperature basse, il decollo del modello, non viene aggravato dal cutoff del
regolatore, ma semplicemente dal lampeggio del Led... Dopo poche decine di secondi di "gas",
la batteria tende a scaldare velocemente, portando il pacco a una temperatura più confortevole
e riacquistando quindi la capacità di erogare corrente. Pertanto la potenza istantanea aumenta
progressivamente fino a stabilizzarsi entro alcune decine di secondi.
Se il LiPoly Monitor al decollo lampeggia, mano a mano che la potenza disponibile sale, il
LiPoly Monitor riduce il lampeggio, per cessare completamente dopo poco.
Il dispositivo viene collegato in parallelo alla batteria, per comodità sui cavi del regolatore.
Il LiPoly Monitor, è protetto contro l'inversione di polarità, quindi non si corre il rischio
di seccanti guanti. Attenzione però: se il LiPoly Monitor è collegato in parallelo al regolatore,
e si inverte la polarità della batteria, il LiPoly monitor, non subisce danni, ma non è così
per il regolatore che normalmente salta con rapidità.
All'accensione del sistema o al collegamento della batteria, il LiPoly Monitor accende il
Led per 1 secondo (indicando l'accensione).
Il Led rimane spento per 2 secondi, durante il quale il LiPoly Monitor effettua l'autodetect
del numero di celle collegate. Tale rilevazione viene segnalata da un corrispondente numero
di lampeggi (1 lampeggio = 1 cella, 4 lampeggi = 4 celle).
E' buona norma controllare il numero di lampeggi, per verificare che il numero di celle
rilevate sia veritiero. Questo per accertarsi che la batteria sia in buono stato, senza
celle difettose e per essere certi che le soglie di intervento vengano settate correttamente.
Durante il funzionamento normale, il LiPoly Monitor, non lampeggia.
Appena la tensione scende sotto i 3V per cella, inizia un lento lampeggio, segnalando la riserva.
Continuando ad abusare delle celle, la tensione continua a scendere e il lampeggio diventa
progressivamente più intenso. Ci sono 10 livelli di lampeggio. Il lampeggio al 10° livello,
è da considerarsi come situazione grave e occorre ridurre la corrente immediatamente
(tensione sotto i 2,5V per cella circa sotto carico).
Il LiPoly Monitor è in grado di funzionare con un numero di celle LiPoly fra 1 e 4.
Il peso è di appena 1,4gr con i cavi.
Inoltre è dotato di un circuito a corrente costante per pilotare il Led, in modo da avere
un'intensità luminosa costante ed indipendente dal numero di celle.
Non è garantito il funzionamento del circuito sotto i 2,5V complessivi.
Caso particolare riguarda il funzionamento con una sola cella (pacco 1SxP).
A 2,5V non corrisponde la frequenza massima di lampeggio (sono garantite solo 3-5
frequenze di lampeggio) e il circuito a corrente costante per il Led non riesce ad
alimentare correttamente il Led, portando anche ad una riduzione della luminosità.
Pertanto, con una sola cella, al primo avvertimento cercare di recuperare il modello
appena possibile.
|
 |
Il circuito
Il cuore di tutto il circuito è il PIC12F675 opportunamente programmato. Questo piccolo
microprocessore, oltre a funzionare egregiamente fino a soli 2V (e anche meno), ha un
oscillatore interno ed un convertitore analogico-digitale commutabile su diversi piedini,
consentendo di ridurre molto le dimensioni del circuito.
Il diodo zener D2 fornisce una tensione "quasi stabile" al Pic. In realtà, al variare
della tensione di batteria, varia leggermente anche la tensione ai capi dello Zener, e con
una sola cella, quando la tensione è bassa, ben presto il diodo diventa praticamente inutile,
portando la tensione ai capi del pic quasi proporzionale a quella di batteria.
Le Resistenze R6 ed R5, fanno da partitore per ridurre la tensione ad un livello inferiore a
quella di alimentazione del PIC in modo che possa essere regolarmente letta.
I valori resistivi alti, garantiscono anche l'integrità dell'ingresso del PIC, visto il
rumore che spesso viene generato dal motore e/o regolatore.
I transistor Q1,Q2, insieme ad R2, costituiscono un semplice generatore di corrente
costante (20mA circa), in modo da fornire sempre la massima corrente in range di sicurezza
per il Led anche con lampeggi prolungati o continui.
In caso di inversione di polarità, lo Zener D2, direttamente polarizzato, causa una
caduta di appena 0,6-0,7V, ed il resto della tensione cade sulle resistenze R3 ed R4. Il
pic si trova alimentato con -0,6V che è una tensione inversa che non provoca danni permanenti.
Il diodo Led polarizzato inversamente si oppone al passaggio di corrente, pertanto tutto
lo stadio finale rimane al sicuro.
Ovviamente, nulla funziona fino al ripristino della corretta polarità.
La resistenza serie allo Zener (R3+R4) è stata scomposta in due resistenze per dissipare
adeguatamente il calore in caso di alimentazione con 3 e 4 celle.
La maggior complessità risiede nel software...
All'interno della memoria, vengono memorizzate due piccole tabelle:
- valori di soglia per la determinazione delle celle (con relativi trigger).
- valori di soglia per la determinazione di celle scariche (con relativi trigger).
I valori delle tabelle sono state ricavate sperimentalmente in base ad un preciso diodo Zener.
Se si cambia lo Zener, la curva caratteristica di esso cambia e pertanto anche i valori
delle tabelle non saranno più validi, portando ad errate determinazioni delle soglie reali.
All'accensione, viene acceso temporaneamente il Led per segnalare che il circuito è
alimentato e si sfrutta questo tempo e del tempo ulteriore per attendere che i servi
si posizionino e i regolatori emettano eventuali beep tramite il motore. Quando si presume
che tutto questo sia finito, e quindi la batteria non sia sotto carico, in particolare sotto
carichi induttivi ( del motore e servi), il PIC inizia a leggere ad intervalli regolari
la tensione. Inoltre subito dopo lo spegnimento del Led viene controllato se è richiesta
la (ri)taratura, ma di questo si parlerà nell'apposita sezione.
Il PIC, esegue ben 256 letture di tensione e viene fatta la media del valore rilevato. Viene
poi confrontato con i valori della prima tabella e quindi determina quante celle
stanno alimentando il circuito.
A seconda del numero di celle rilevate, viene fatto lampeggiare il LED "n. celle rilevate" volte.
A questo punto viene fatta una pausa di circa 3 secondi, per evitare che in caso di celle scariche,
il lampeggio di allarme e il lampeggio di detect risultino attaccati, impedendo all'utente di
capire con precisione quante celle sono state rilevate.
Il LiPoly monitor è pronto. Ancora una volta, vengono eseguiti ciclicamente "pacchetti" di 256
misure, dal quale si ricava il valore medio, così si filtrano eventuali bruschi cambiamenti
di tensione dovuto alle commutazioni dei regolatori. Il valore ricavato viene costantemente
confrontato con la parte di tabella relativa al numero di celle rilevate e quando il confronto
indica la batteria scarica, inizia il lampeggio. Più lo scostamento fra il valore misurato e
il valore in tabella è alto, più la frequenza di lampeggio è alta. Sono previsti fino a 10
frequenze (compreso lo spento :P) per 2,3,4 celle. Anche per una cella, sono previsti via software
10 frequenze, ma sotto i 2,7-2,8 Volt, i bilanci energetici del circuito sono gravemente
influenzati dalla curva dello zener che si trova a funzionare in modo poco lineare e quindi,
normalmente si riescono ad ottenere solo 4-5 frequenza diverse. Scendendo ulteriormente, si
rischia di non vedere aumentare la frequenza di lampeggio. E' anche vero comunque che l'obiettivo
di allarme a 3V non è mancato e quindi il circuito risulta comunque utile, in particolare per
gli F3K o modelli da pendio che vogliono utilizzare una sola cella per alimentare i servi.
|
 |
 |
|
Perché e come funziona la taratura
Anche se il circuito è molto semplice, le tolleranze dei componenti pesano molto
sull'affidabilità dell'allarme e del riconoscimento del numero di celle. Come detto sopra,
le tabelle sono state ricavate campionando alcuni zener dello stesso modello, ma di
partite anche diverse, per determinare la curva caratteristica e quindi calcolare i valori
delle tabelle. Seppure, la curva segua all'incirca lo stesso andamento, anche fra due diodi
della stessa partita, capita che qualche curva presenti un offset elevato. Per esempio,
mettiamo caso che con 10mA, su un diodo si rilevino 2,65V, mentre per la stessa corrente,
e nonostante la stessa forma di curva caratteristica, il secondo diodo limita a 2,55.
Tali valori sono comunque compresi nelle tolleranze del componente. Ma una differenza di
100mV su 2,65V, equivale ad una differenza di alimentazione e quindi di misurazioni da parte
del PIC di oltre il 3,7%. Se oltre a questo si aggiungono le tolleranza degli altri componenti,
nei peggiori dei casi, si possono ottenere errori del 8-10%
Il 10%, è un po' troppo, anche perché con il 10% di tolleranza, diventa impossibile
capire con affidabilità se si lavora con 2 celle belle cariche o con 3 scariche!!!
Per questo sono stato costretto ad adottare le seguenti precauzioni:
- le resistenze R5 ed R6, con tolleranze di massimo 1% (che vuol dire nel peggiore dei casi +1% una,
-1% l'altra, = 2%)
- tabelle personalizzabili
Per attuare la seconda precauzione in realtà sono state previste ben 4 tabelle, 2 sulla
Flash del PIC (quindi non modificabile) e 2 in EEProm.
All‘accensione e dopo il lungo lampeggio iniziale del Led, il Pic controlla la tabella delle
tensioni per l'autodetect presente in EEProm. Se la tabella è vuota significa che è la "prima
accensione assoluta". In questo caso, il led lampeggia ciclicamente per 3 volte consecutive,
segnalando la mancata programmazione ed attende che venga fatta. Quando viene dato il consenso
alla taratura, il Led smette di lampeggiare e viene considerata la tabella per il detect presente
nella Flash (che è la tabella ricavata sperimentalmente), In base al valore di alimentazione
rilevato, viene effettuata una correzione matematica dei valori della tabella e i nuovi valori
vengono salvati in EEProm. Fatte queste operazioni, con la stessa "proporzione" viene
modificata la tabella contenente i valori di riferimento per l'allarme di batteria scarica
e anche questa salvata in EEProm.
Quando anche queste operazioni sono concluse, il sistema entra volutamente in blocco ed accende
il Led in modo permanente, segnalando che la taratura è stata eseguita.
Succede quindi che, nel funzionamento normale, le tabelle utili sono quelle memorizzate in
EEProm e non quelle di "default" nella Flash, anche se è possibile che coincidano.
In questo modo, si riesce sempre ad ottenere una precisione migliore del 3% nel peggiore
dei casi, cosa diversamente impossibile se non utilizzando costosi ed ingombranti regolatori
a bassa tensione ( da 2V,), Low Drop di precisione.
Tarare il LiPoly Monitor v1.1
Per una buona taratura, occorre disporre di un Voltmetro (meglio se digitale) e di un alimentatore
variabile che sia in grado di fornire tensione fra 2,5 e 17V. Sembra una taratura lunga e complessa,
ma si può fare in meno di un minuto.
- Collegare il Voltmetro all'alimentatore e portare la tensione a 5,95-6V.
- Preparare un piccolo utensile di metallo o altro materiale conduttore che abbia una
punta di 1,5-2,5 mm
- Alimentare il circuito e quando inizia il triplo lampeggio ciclico, cortocircuitare e
tenere cortocircuitato i pin 7 ed 8 del PIC (vedi Punto "T", vicino ad R3 ed R6)
- Quando il Led rimane permanentemente acceso, la taratura è terminata. Spegnere il
circuito e rimuovere il corto circuito.
A questo punto verificate che tutte le soglie siano state inizializzate correttamente:
- Portare l'alimentatore a 4,19-4,20 Volt precisi, accendere il Monitor e verificare
che, dopo il primo lungo lampo, lampeggi una sola volta ulteriore.
- Portare l'alimentatore a 8,39-8,40 Volt precisi, accendere il Monitor e
verificare che, dopo il primo lungo lampo, lampeggi due sole volte ulteriori.
- Portare l'alimentatore a 12,59-12,6 Volt precisi, accendere il Monitor e verificare
che, dopo il primo lungo lampo, lampeggi tre sole volte ulteriori.
- Portare l'alimentatore a 16,79-16,8 Volt precisi, accendere il Monitor e verificare
che, dopo il primo lungo lampo, lampeggi quattro sole volte ulteriori.
Se fino qui tutto procede bene rimane da verificare che il monitor rilevi correttamente
anche i 3V per cella con la tolleranza più che buona del 3%.
- Portare a circa 4V l'alimentatore, accendere il monitor e abbassare molto lentamente
la tensione fino a che il Led inizia a lampeggiare. L'inizio lampeggio deve essere compreso
fra 2,91 e 3,09V.
- Portare a circa 8V l'alimentatore, accendere il monitor e abbassare molto lentamente
la tensione fino a che il Led inizia a lampeggiare. L'inizio lampeggio deve essere compreso
fra 5,82 e 6,18V.
- Portare a circa 12V l'alimentatore, accendere il monitor e abbassare molto
lentamente la tensione fino a che il Led inizia a lampeggiare. L'inizio lampeggio deve
essere compreso fra 8,73 e 9,27V.
- Portare a circa 16V l'alimentatore, accendere il monitor e
abbassare molto lentamente la tensione fino a che il Led inizia a lampeggiare. L'inizio
lampeggio deve essere compreso fra 11,64 e 12,36V.
|
Se non si sono verificati malfunzionamenti il Monitor è pronto.
Normalmente, la tolleranza si aggira intorno a 50-80mV. I 360mV per le 4 celle (3%)
è un caso limite.
Se invece qualche verifica non vi convince, o se siete pignoli e volete tolleranze
inferiori, potete ripetere la taratura variando i 5,95-6V iniziali con "dosi correttive"
di 50 -100mV in più o in meno a seconda dell'aggiustamento desiderato.
Per le tarature successive alla prima, il corto circuito al punto "T" va tenuto dall'accensione.
Per il resto la procedura è identica. Questo perché rilevando già una tabella,
il circuito passa al funzionamento normale e non si pone in un'attesa infinita.
|
 |
Realizzazione
La realizzazione, non è particolarmente critica, anche se il circuito stampato richiede
attenzione e il montaggio dei componenti SMD implica mano ferma.
Utilizzare un saldatore di potenza modesta (max 30W) ed evitare di soffermarsi per più di
2 secondi sui componenti. I transistor, in particolare, temono molto il saldatore.
Il Led è preferibile montarlo dal lato opposto al resto dei componenti, così da avere il
led appoggiato su una superficie completamente liscia. Questo risulta utile, se si vuole
fissar e il circuito all'interno di una fusoliera anche spessa (di balsa) con biadisivo
e facendo un semplice foro da 5mm per la fuoriuscita del Led.
Programmazione PIC
Il PIC, va programmato prima di procedere al montaggio. Qualunque programmatore che
supporti ufficialmente tale chip, dovrebbe andare bene.
Il file .hex contiene tutto il firmware e la mappatura per i fuse bits e la EEProm.
Se il vostro programmatore non legge i fuse bits e dovete selezionarli manualmente questo è quanto:
Code Protect = ON
Code Protect Data = OFF
Brown Out Detect = OFF
Master Clear Enable = OFF
WatchDog = OFF
Power Up Timer = ON
Oscillatore = Interno, no ClockOut (GP4 free)
|
 |
Versione con Buzzer
Se volate sempre con il sole pieno e il Led non si vede benissimo, potete montare un
Buzzer al posto del Led.
Il Buzzer ideale è l'Art. 10/00037-00 disponibile da ELCART.
Tale Buzzer è uno dei pochi che copre tutto il range di funzionamento richiesto (2-17V),
mantenendo però un peso basso (2 gr. di buzzer circa) nonostante le generose dimensioni.
Il circuito è studiato per ospitarlo direttamente... o meglio il buzzer ospita il circuito
(viste le proporzioni).
Basta inserire il positivo (+) del buzzer nel Foro "+" dove va inserito anche l'alimentazione
e il negativo (-) nel pin del Led vicino ad R2 e Q2. In questo modo, si ha un passo identico
a quello del buzzer e il circuito non ha ingombri ulteriori.
Il circuito a corrente costante, in questo caso, serve solamente a limitare i picchi di
corrente con 4 celle, in quanto il buzzer consuma normalmente meno. Proprio per questa
mancanza di limitazione costante, la pressione sonora della nota emessa è funzione della
tensione di alimentazione, con una cella, il segnale acustico è relativamente modesto e
su modelli rumorosi, o lontani o con rumore ambiente non trascurabile, potrebbe essere
inudibile (meglio il Led o entrambi :P). |
All'interno del file trovate le due etichette (per la versione a Led e per quella con buzzer)
che potete realizzare con carta adesiva e proteggere con del semplice nastro scotch trasparente.
Per chi fosse interessato al circuito finito e pronto all'uso puo' contattarmi al seguente indirizzo
anfarol@tiscali.it oppure rivolgersi a
www.flynow.it.
Buon divertimento e buoni voli !!! |
File:
File con la dcoumentazione, hex per la programmazione e master dello stampato
Nuovo Firmware 1.1C
|
Nota Importante:
L'autore non si assume nessuna responsabilità per
eventuali danni, diretti o indiretti, che dovessero verificarsi come conseguenza
dell'utilizzo del presente circuito. |
|
|
2004 © BaroneRosso.net http://www.baronerosso.net/ |