![]() |
Caricabatterie switching con PIC Salve a tutti, per impegnare questa vacanze....che stanno già finendo... mi è venuta l'idea di realizzare un caricabatterie switching PIC controlled per le mie batterie NiCd e NiMh. Premessa: Ho letto un'infinità di documenti sulla ricarica delle pile e sulle modalità di arresto della stessa...con un PIC tra le mani non mi dovrebbe venire difficile implementare tutte queste cosette.... Il problema è un altro.... Vedendo qualche schema qua e la per la rete ho visto che la maggior parte dei caricabatteria realizzati con integrati (es. LTC4011 oppure MAX 713) dedicati utilizza un MOSFET per pilotare la tensione (quindi la corrente) sulla batteria da caricare.... Ora io mi chiedevo, secondo me il segnale che entra nel MOSFET è un segnale PWM ad una determinata frequenza (mi sembra attorno ai 300 Khz) che a seconda del duty cycle va a determinare il valore medio della tensione in uscita dal MOSFET quindi in entrata alla batteria....quindi la corrente di carica !!! Poi tramite una resistenza di sense sarebbe possibile inserire una retroazione per controllare la corrente di carica.... purtroppo ho difficolà a realizzare la parte del mosfet...qualcuno mi da una mano ??? magari poi...se riesce...lo pubblichiamo sul sito !!! |
Citazione:
p.s. siamo entrambi di palermo. se ti va' di prenderti un caffe, pm! |
Il problema è che non so nemmeno quali integrati usare !!! per adesso so solo che ci vorrà sicuramente un PIC e credo un MOSFET |
Io per divertimento progetto i miei carica batterie da casa e ho utilizzato diversi sistemi (ne stò facendo uno interessante che poi magari pubblico sul sito). Per generare una corrente costante relativamente bassa preferisco utilizzare un generatore di corrente lineare, quindi operazionale che comanda un transistor e la tensione di retroazione (ottenuta con la resistenza di sensing) che rientra nell'operazionale. All'ingresso non invertente dell'operazionale devi dare una tensione di riferimento che poi ti determinerà la corrente di carica della batteria. Questa tensione di riferimento la puoi ottenere tramite un semplicissimo potenziometro oppure, nel caso tu lo voglia fare completamente digitale, l'uscita PWM del PIC la integri (resistenza e condensatore) e la mandi all'OP. Un'altro metodo che ho utilizzato per un progetto di un mio collega è quello di utilizzare un LM317 configurato per erogare la massima corrente che vuoi ottenere e un transistor o meglio un mosfet che, messo in uscita, aprendosi e chiudendosi velocemente, parzializza la corrente. Sono entrambi metodi validi e ti permettono, una volta tarato il tutto, di poter anche non rileggere la corrente fornita dalla batteria perchè tanto sai quanta ne fornisci (comunque sia è meglio leggerla così la visualizzi anche). Spero di esserti stato di aiuto. ciao |
Io vorrei realizzare esattamente la seconda variante... ovvero..l'uscita del PIC che genera il PWM la collego al MOSFET che attaccando e staccando velocemente regola (in dipendenza del duty cycle del PWM) la tensione sul pacco in carica quindi la corrente. Questa tipologia credo si chiami appunto switching...però tu quale mosfet hai usato ??? non so proprio quale usare perchè mosfet non ne ho mai usati !!! sembrerà strano...ma è cosi... |
Non è che sia proprio switching in questo modo.....comunque va bene ugualmente. Io ho utilizzato un transistor, ma penso che un qualunque mosfet a canale P (IRF540 non mi ricordo se è N o P) dovrebbe andare bene. |
1 Allegato/i Citazione:
P.S. Poi interesserebbe anche a me, quindi chiedi pure.... :D |
La prima idea che avevo in mente era proprio questa.... (vedi allegato) Ma funzionerà ??? Io l'ho simulato al circuit maker, e le cose sono due: 1- il circuito non funziona come io vorrei 2- non so usare il circuit maker....moooolto probabile che sia questa... :-) Per adesso non ho scritto neanche una riga del codice per il PIC perchè prima vorrei risolvere questo intoppo.... Per quanto riguarda il controllo della corrente tramite rilevazione da resistenza di sense, a questo potrebbe pensarci l'ADC interno del PIC magari dopo qualche opportuna partizione della tensione.... però per adesso voglio togliermi tutti i dubbi sulla parte "switchng" del circuito |
Citazione:
Eventualmente prova con un transistor PNP tipo BDX54 (Darlington) giusto per vedere se funziona, con emitter sul positivo e Collector sulla batteria. Ciao P.S. Comunque le resistenze sul Gate sono indispensabili anche per il tuo circuito... |
Scusa, ma non dovrebbe essere come in allegato ??? o forse scambio drain e source.... e dire che alle superiori li avevo studiati i mosfet... ma chi se li ricorda.... siccome non trovo in rete un circuitino che funzioni col circuit maker.... mi sa che riprenderò in mano i miei vecchi libri... |
ah...dimenticavo...conoscete qualche altro programma per le simulazioni ??? |
Mi spiace ma non conosco nessun buon programma di simulazione! Tuttavia il circuitino è così semplice che con 2 saldature lo metti su! Poi un NE555 se non hai un generatore di segnali e fai le prove reali (che sono meglio). Io però ho un dubbio su questa configurazione circuitale in quanto rileggendo la tensione sulla RSense direttamente col PIC rischi di falsare la lettura se capiti a metà tra un On e un OFF del PWM in quanto non sei sincronizzato. Al limite sarebbe meglio integrare la tensione ai capi di R e mandarla ad un operazionale che faccia da adattatore di impedenza. Tieni presente che se vuoi fare un caricabatterie rapido devi leggere variazioni di tensioni piuttosto piccole quindi devi essere preciso e questa configurazione mi lascia dei dubbi. Cosa c'è di meglio di una prova? Facci sapere! |
Citazione:
In pratica si manda in conduzione il Mosfet con un segnale che è il frutto di una comparazione tra un dente di sega e la tensione di controllo (analogicamente parlando per mezzo di un Opamp). In questo modo la corrente erogata sarà proporzionale all'ampiezza degli impulsi ed il tutto sarà sincronizzato alla stessa frequenza. Consiglio di studiare il principio di funzionamento del SG3525 che è un regolatore switching molto diffuso e collaudato. :wink: Ciao. |
Ciao Alby, mi sembrava di aver capito che si voleva utilizzare un PIC. Questo significa che il PWM se lo gestisce lui in modo digitale (contatore interno che arrivato......). Se allora cominciamo a metterci un gestore PWM esterno allora è un altro paio di maniche. Ma allora conviene utilizzare un MAX713 che fa tutto lui. |
Citazione:
la resistenza di sense la collego, tramite un filtro che mi permette di ottenere il valore medio della tensione, all' ADC del PIC ( ovviamente ci vuole un partitore di tensione eh eh ... ) il PIC compara il valore di tensione ricevuto, a cui ovviamente corrisponde una corrente... con il valore di corrente di carica impostato dall'utente (tramite tasti etc etc ) e in base a questo aumenta o diminuisce l'ampiezza degli impulsi del PWM. quindi la tensione applicata al pacco, dunque la corrente di carica. più retroazionato di così !!! poi ovviamente si può utilizzare un altro ADC a 10 bit (sempre interno al PIC - con questa risoluzione ed una partizione di tensione 1:2 l'errore sarebbe di 4.9mV circa se non ho sbagliato i calcoli) per tenere sotto controllo la tensione del pacco e calcolare il dV/dt. - poi potrei inserire qualche resistenza PTC o NTC, oppure un'ibutton DS1920 per misurare la temperatura.... - Onestamente per quello che riguarda la programmazione del PIC me la cavo.... ma se prima non supero questo problema del MOSFET... :-( PS: non ho nemmeno l'oscilloscopio per fare le prove reali.... se qualcuno gentilmente si offre per sviluppare questa parte....magari ci esce fuori un caricabatterie troppo serio che potremmo utilizzare tutti.... |
Citazione:
|
Citazione:
|
Citazione:
|
umh....si... effettivamente hai ragione.. il fatto è che avevo perso di vista il giochetto del timer perchè i PIC li programmo in BASIC, con una riga di codice il compilatore si sbriga tutte le faccende relative a timer, impostazioni dei flag necessari etc etc, in effetti è un pseudo dente di sega digitale che alla fin fine realizza questo giochetto.... Appena posso compro i componenti per realizzare lo schema che mi hai postato precedentemente, e inizio a fare le prime prove.... speriamo bene. Il circuit maker per adesso lo metto da parte perchè invece di studiarmi il manuale del programma è meglio che mi studi qualche datasheet dei MOSFET... :wink: |
Ci siamo capiti. Vai avanti e facci sapere come funziona. Io uso correnti molto più basse perchè preferisco (se le carico in casa) caricare le batterie a 1/10 quindi a tempo e non a dV. Invece vorrei porre io un quesito........volendo fare una regolazione digitale come quella di questi post (quindi PWM e rilettura corrente) è piuttosto facile in quanto, come si diceva basta incrementare il contatore del PWM fino ad arrivare ad un errore molto piccolo (VRSense prossima a VRef). Volendo fare una regolazione per le Lipo invece, dopo la prima fase di carica a corrente costante (che sarebbe come quella descritta), al raggiungimento di 4.2V per cella è necessario cominciare a ridurre la corrente per mantenere tale tensione. Il problema è, secondo voi come deve avvenire in questo caso la riduzione di corrente? Secondo voi basta una regolazione proporzionale o è necessario anche una parte integrale e/o derivativa (PID) ? Di quanto deve diminuire il segnale digitale per non avere oscillazioni oppure sovratensioni al pacco? |
Citazione:
|
Citazione:
) questo fa si che se colleghi il gate direttamente al PIC non riuscirai mai a portarlo in conduzione :wink: Per usare il mosfet N un quella configurazione dovrai per forza mettere prima un circuito che ti permetta di raggiungere queste tensioni (il piu' semplice e una resistenza collegata al positivo e il pic in configuarazione open collector che mette a massa il gate ) in questo modo il gate del mosfet conduce quando l'uscita del pic in modo open collector e' alta , occhio pero' che se il pin del pic rimane alto il mosfet continua a buttare dentro corrente alla batteria :wink: |
Vedo se riesco a spiegarmi meglio. L'uscita del PIC controlla il mosfet con un segnale PWM; il PIC legge la corrente che scorre nella batterie tramite la Rsense e quindi mantiene costante tale corrente variando gli impulsi del PWM. Questo va bene per la prima fase della carica di una LiPo. il PIC ovviamente legge anche la tensione della batteria e passa alla seconda fase appena la tensione della stessa arriva a 4.2 V/cella. In questa fase, il PIC deve variare il segnale al mosfet per mantenere la tensione costante (quindi inevitabilmente la corrente diminuirà). Supponiamo che il mosfet stia dando la corrente giusta al pacco con un duty cycle del 50% e siamo arrivati a 4.2 V/cella; come devo regolare ora la percentuale di PWM in modo da abbassare la corrente di carica e mantenere costante i 4.2 V? Quello che mi preoccupa è che secondo me mentre una variazione di corrente si 'sente' subito, una variazione in tensione si sente con un ritardo maggiore perchè la batteria fa da condensatore. Mi sbaglio? |
Citazione:
|
Citazione:
Quando avrò un pò di tempo (:( Sob!) farò delle prove. Grazie Albytech. |
Ragzzi, per adesso, dato che mi è arrivato a casa il sample del MAX 712 mi sa che le mie NiMh me le carico col MAX... nel caricabatterie switching ci si deve perdere tempo.... anche se è un bel progettino.... Poi mi è sorto un nuovo dubbio.... la corrente impulsiva che attraversa la batteria in carica è un onda quadra con duty cycle variabile, e fin qui ci siamo, i valori di questi impusli sono 0 e Imax, ma quanto deve essere questa Imax ??? Va bene che variado il PWM vario il valore medio della corrente che attraversa il pacco, ma la corrente di picco è sempre la stessa ??? per esempio 4 ampere di picco.... poi, supponendo di avere un d.c. del 25 % la corrente media risulterà 1 ampere.... è giusto così ??? |
Ok, ho buttato giù un circuitino per quanto riguarda il MOSFET....forse ci siamo quasi.... nel'allegato c'è anche la simulazione fatta con il circuit maker... Il generatore di segnali dovrebbe essere un pin del PIC, in questo caso viene generato un segnale ad 1 Khz (ovviamente si può salire di frequenza) con d.c. del 50 % ottenendo una corrente media di carica di 667 mA. La corrente di carica è un'onda quadra di ampiezza 1.2 Ampere (aspetto ancora risposte al post precedente) Ho intutivamente aggiunto le due resistenza R2 e R3 d il BC337 poichè ho riflettuto sui consigli di Protomax circa la tensione necessaria per pilotare il MOSFET, così ci dovremmo essere no ? In questo esempio ho supposto di voler caricare una pila di 5 Volt. |
Citazione:
|
Ok, la R2 l'ho proprio tolta, non so se è corretto, ma con questo nuovo schema credo, ad occhio, che le cose vadano meglio.... In questo caso la corrente ha un picco di 1,8 Ampere, ma nessuno ancora mi ha detto quanto deve essere questo valore.... :blink: |
Citazione:
Comunque in linea di principio ti devi dare un target nel senso che dovresti pensare a quale batteria vorresti caricare e in che tempi e fare in modo di usare quella corrente massima; in questo modo dando al PWM il 100% carichi esattamente a quella corrente. Visto che è difficile scriverlo spero di farti capire con un esempio: Supponiamo di voler caricare delle batterie da 3300 NiMh in circa 1h; in questo caso 4A va più che bene (anche se io starei sui 3.5A). Se invece nella media ci interessa caricare delle batterie da 1700 mA ecco che 4A sono esagerati. Tieni inoltre presente che i componenti elettronici si possono guastare e se va in corto il mosfet tutta la corrente si riverserà sulla batteria. Se tu usi correnti dell'ordine della massima capacità dei tuoi pacchi, non succede nulla in quanto la batteria semplicemente si carica in meno tempo. |
Tutti gli orari sono GMT +2. Adesso sono le 21:56. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002