Taula de continguts:

Arduino LTC6804 BMS - Part 2: Balance Board: 5 passos
Arduino LTC6804 BMS - Part 2: Balance Board: 5 passos

Vídeo: Arduino LTC6804 BMS - Part 2: Balance Board: 5 passos

Vídeo: Arduino LTC6804 BMS - Part 2: Balance Board: 5 passos
Vídeo: Battery Management System (BMS) Design Part 5 - Active Cell / Battery Balancing 2024, De novembre
Anonim
Arduino LTC6804 BMS - Part 2: Balance Board
Arduino LTC6804 BMS - Part 2: Balance Board

La primera part ja és aquí

Un sistema de gestió de bateries (BMS) inclou funcionalitats per detectar paràmetres importants de la bateria, inclosos els voltatges de les cel·les, el corrent de la bateria, les temperatures de les cel·les, etc., o es poden fer altres accions adequades. En un projecte anterior (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) vaig parlar del meu disseny BMS, que es basa en el xip Lineal Technology LTC6804 Multicell Battery Monitor i un microcontrolador Arduino.. Aquest projecte amplia el projecte BMS afegint un equilibri de bateries.

Els paquets de bateries es construeixen a partir de cèl·lules individuals en configuracions paral·leles i / o sèries. Per exemple, es construiria un paquet 8p12s utilitzant 12 conjunts connectats en sèrie de 8 cel·les connectades en paral·lel. Hi hauria un total de 96 cel·les al paquet. Per obtenir el millor rendiment, les 96 cèl·lules haurien de tenir propietats molt igualades, però sempre hi haurà alguna variació entre les cèl·lules. Per exemple, algunes cèl·lules poden tenir una capacitat inferior a altres cèl·lules. A mesura que es carrega el paquet, les cel·les de menor capacitat assoliran el seu màxim voltatge segur abans que la resta del paquet. El BMS detectarà aquesta alta tensió i tallarà la càrrega addicional. El resultat serà que gran part del paquet no està completament carregat quan el BMS talla la càrrega a causa del voltatge més alt de la cel·la més feble. Es pot produir una dinàmica similar durant la descàrrega, quan les cèl·lules de major capacitat no es poden descarregar completament perquè el BMS desconnecta la càrrega quan la bateria més feble arriba al límit de baixa tensió. El paquet, per tant, només és tan bo com les bateries més dèbils, com una cadena tan forta com la seva baula més feble.

Una solució a aquest problema és utilitzar un tauler d’equilibri. Tot i que hi ha moltes estratègies per equilibrar el paquet, les plaques d’equilibri ‘passives’ més senzilles estan dissenyades per purgar part de la càrrega de les cèl·lules de major voltatge quan el paquet s’acosta a la càrrega completa. Tot i que es malgasta una mica d’energia, el paquet en conjunt pot emmagatzemar més energia. El sagnat es fa dissipant una mica de potència a través d’una combinació de resistència / interruptor controlada per un microcontrolador. Aquesta instrucció descriu un sistema d'equilibri passiu compatible amb l'arduino / LTC6804 BMS d'un projecte anterior.

Subministraments

Podeu demanar el PCB Board d’equilibri a PCBWays aquí:

www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html

Pas 1: teoria de l'operació

Teoria del funcionament
Teoria del funcionament

La pàgina 62 del full de dades LTC6804 tracta sobre l'equilibri cel·lular. Hi ha dues opcions: 1) utilitzar els MOSFETS interns de canal N per purgar el corrent de les cel·les altes o 2) utilitzar els MOSFETS interns per controlar els commutadors externs que transporten el corrent de purga. Utilitzo la segona opció perquè puc dissenyar el meu propi circuit de purga per manejar un corrent superior al que es podria fer mitjançant els interruptors interns.

Els MOSFETS interns estan disponibles a través dels pins S1-S12 mentre s’accedeix a les mateixes cel·les mitjançant els pins C0-C12. La imatge superior mostra un dels 12 circuits de purga idèntics. Quan s’activa Q1, el corrent fluirà des de C1 fins a terra a través de R5, dissipant part de la càrrega de la cel·la 1. He seleccionat un resistent de 6 ohms i 1 watt, que hauria de poder manejar diversos miliamperis de corrent de purga. Hi ha s'ha afegit un LED perquè l'usuari pugui veure quines cel·les s'equilibren en cada moment.

Els pins S1-S12 estan controlats pel CFGR4 i els primers 4 bits dels grups de registres CFGR5 (vegeu les pàgines 51 i 53 del full de dades LTC6804). Aquests grups de registres es defineixen al codi Arduino (que es descriu a continuació) a la funció balance_cfg.

Pas 2: esquema

Esquema
Esquema

L'esquema del tauler d'equilibri BMS es va dissenyar amb Eagle CAD. És bastant senzill. Hi ha un circuit de purga per a cada segment de la bateria. Els commutadors es controlen mitjançant senyals del LTC6804 a través de la capçalera JP2. El corrent de purga flueix des de la bateria a través de la capçalera JP1. Tingueu en compte que el corrent de purga flueix cap al següent segment inferior de la bateria, de manera que, per exemple, C9 transfereix a C8, etc. al fitxer zip. La següent és la llista de peces (per alguna raó, la funció de càrrega de fitxers Instructables no funciona per a mi …)

Valor de la quantitat Descripció de les parts del paquet del dispositiu

12 LEDCHIPLED_0805 CHIPLED_0805 LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8, LED9, LED10, LED11, LED12 LED 12 BSS308PEH6327XTSA1 MOSFET-P SOT23-R Q1, Q2, Q3, Q4, Q5, Q6, Q7,, Q9, Q10, Q11, Q12 Mosfet de canal P 2 PINHD-1X13_BIG 1X13-BIG JP1, JP2 PIN HEADER 12 16 R-US_R2512 R2512 R5, R7, R9, R11, R13, R15, R17, R19, R21, R23, R25, R27 RESISTOR, símbol americà 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 RESISTOR, símbol americà 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 RESISTOR, símbol americà

Pas 3: Disseny de PCB

Disseny de PCB
Disseny de PCB

El disseny està determinat principalment pel disseny del sistema BMS principal que es discuteix en un document instructiu separat (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). Les capçaleres JP1 i JP2 han de coincidir amb les capçaleres coincidents del BMS. Els Mosfets, les resistències de purga i els LED es disposen de manera lògica a l’escut Arduino Uno. Els fitxers Gerber es van crear amb Eagle CAD i els PCB es van enviar als circuits de Sierra per fabricar-los.

El fitxer adjunt "Gerbers Balance Board.zip.txt" és en realitat un fitxer zip que conté els Gerbers. Només podeu eliminar la part.txt del nom del fitxer i després descomprimir-la com si fos un fitxer zip normal.

Envieu-me un missatge si voleu obtenir un PCB, potser encara em queden alguns.

Pas 4: Muntatge de PCB

Els PCB de la placa d’equilibri es van soldar a mà mitjançant una estació de soldadura controlada per temperatura Weller WESD51 amb una punta de “tornavís” de la sèrie ETB ET 0,093 i soldadura de 0,3 mm. Tot i que els consells més petits poden semblar millors per a treballs complicats, no retenen la calor i en realitat dificulten la feina. Utilitzeu un bolígraf per netejar els coixinets de PCB abans de soldar. La soldadura de 0,3 mm funciona bé per soldar a mà peces SMD. Col·loqueu una mica de soldadura en un coixinet i, a continuació, col·loqueu la peça amb una pinces o un ganivet x-acto i fixeu-lo cap avall. El coixinet restant es pot soldar sense moure la peça. Assegureu-vos de no escalfar massa la peça o els coixinets del PCB. Com que la majoria dels components són bastant grans segons els estàndards SMD, el PCB és bastant fàcil de muntar.

Pas 5: Codi

Codi
Codi

El codi Arduino complet es proporciona a la instrucció anterior enllaçada anteriorment. Aquí us cridaré l’atenció sobre la secció que controla l’equilibri de cel·les. Com s'ha esmentat anteriorment, S1-S12 està controlat pel CFGR4 i els primers 4 bits dels grups de registre CFGR5 al LTC6804 (vegeu les pàgines 51 i 53 del full de dades LTC6804). La funció de bucle del codi Arduino detecta el segment de bateria de major voltatge i situa el seu número a la variable cellMax_i. Si el voltatge de cellMax_i és superior al CELL_BALANCE_THRESHOLD_V, el codi cridarà la funció balance_cfg (), passant el número del segment alt, cellMax_i. La funció balance_cfg estableix els valors del registre LTC6804 adequat. Una trucada a LTC6804_wrcfg escriu aquests valors a l'IC, activant el pin S associat amb cellMax_i.

Recomanat: