Inhoudsopgave:
- Benodigdheden
- Stap 1: Theorie van de werking
- Stap 2: Schema
- Stap 3: PCB-layout
- Stap 4: PCB-assemblage
- Stap 5: Coderen
Video: Arduino LTC6804 BMS - Deel 2: Balance Board - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Deel 1 is hier
Een batterijbeheersysteem (BMS) bevat functionaliteit om belangrijke parameters van het batterijpakket te detecteren, waaronder celspanningen, batterijstroom, celtemperaturen, enz. Als een van deze buiten een vooraf gedefinieerd bereik valt, kan het pakket worden losgekoppeld van de belasting of oplader of andere passende maatregelen kunnen worden genomen. In een vorig project (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/) besprak ik mijn BMS-ontwerp, dat is gebaseerd op de Linear Technology LTC6804 Multicell Battery Monitor-chip en een Arduino-microcontroller. Dit project breidt het BMS-project uit door het balanceren van batterijpakketten.
Battery packs worden opgebouwd uit individuele cellen in een parallelle en/of serieconfiguratie. Een 8p12s-pakket zou bijvoorbeeld worden geconstrueerd met behulp van 12 in serie geschakelde sets van 8 parallel geschakelde cellen. Er zouden in totaal 96 cellen in het pakket zitten. Voor de beste prestaties moeten alle 96 cellen sterk overeenkomende eigenschappen hebben, maar er zal altijd enige variatie tussen cellen zijn. Sommige cellen kunnen bijvoorbeeld een lagere capaciteit hebben dan andere cellen. Naarmate het pakket wordt opgeladen, zullen de cellen met een lagere capaciteit hun maximale veilige spanning bereiken voordat de rest van het pakket. Het BMS detecteert deze hoge spanning en onderbreekt verder opladen. Het resultaat zal zijn dat een groot deel van het pakket niet volledig is opgeladen wanneer het BMS het opladen onderbreekt vanwege de hogere spanning van de zwakste cel. Een vergelijkbare dynamiek kan optreden tijdens het ontladen, wanneer cellen met een hogere capaciteit niet volledig kunnen ontladen omdat het BMS de belasting loskoppelt wanneer de zwakste batterij zijn laagspanningslimiet bereikt. Het pakket is daarom zo goed als zijn zwakste batterijen, zoals een ketting zo sterk is als zijn zwakste schakel.
Een oplossing voor dit probleem is het gebruik van een balansbord. Hoewel er veel strategieën zijn om het pakket in evenwicht te brengen, zijn de eenvoudigste 'passieve' balansborden ontworpen om een deel van de lading van de cellen met de hoogste spanning af te voeren wanneer het pakket bijna volledig is opgeladen. Hoewel er wat energie wordt verspild, kan het pakket als geheel meer energie opslaan. Bloeden wordt gedaan door wat vermogen te dissiperen via een weerstand/schakelaar-combinatie die wordt bestuurd door een microcontroller. Deze instructable beschrijft een passief balanceringssysteem dat compatibel is met de arduino/LTC6804 BMS van een vorig project.
Benodigdheden
U kunt de Balance Board PCB van PCBWays hier bestellen:
www.pcbway.com/project/shareproject/Balance_board_for_Arduino_BMS.html
Stap 1: Theorie van de werking
Pagina 62 van de LTC6804-datasheet bespreekt celbalancering. Er zijn twee opties: 1) de interne N-kanaals MOSFETS gebruiken om de stroom uit de hoge cellen te laten lopen, of 2) de interne MOSFETS gebruiken om externe schakelaars te bedienen die de aftapstroom voeren. Ik gebruik de tweede optie omdat ik mijn eigen ontluchtingscircuit kan ontwerpen om een hogere stroom aan te kunnen dan mogelijk is met de interne schakelaars.
De interne MOSFETS zijn beschikbaar via pinnen S1-S12, terwijl de cellen zelf toegankelijk zijn via pinnen C0-C12. De afbeelding hierboven toont een van de 12 identieke ontluchtingscircuits. Wanneer Q1 is ingeschakeld, stroomt er stroom van C1 naar aarde via R5, waardoor een deel van de lading in cel 1 wordt afgevoerd. Ik heb een weerstand van 6 Ohm en 1 Watt gekozen, die enkele milliampères aftapstroom moet kunnen verwerken. Er is een LED toegevoegd zodat de gebruiker op elk moment kan zien welke cellen in evenwicht zijn.
De pinnen S1-S12 worden bestuurd door de CFGR4 en de eerste 4 bits van de CFGR5-registergroepen (zie pagina's 51 en 53 van het LTC6804-gegevensblad). Deze registergroepen worden ingesteld in de Arduino-code (hieronder besproken) in de functie balance_cfg.
Stap 2: Schema
Het schema voor het BMS-balansbord is ontworpen met Eagle CAD. Het is redelijk eenvoudig. Er is één ontluchtingscircuit voor elk segment van de batterijreeks. De schakelaars worden bestuurd door signalen van de LTC6804 via de JP2-header. De ontluchtingsstroom vloeit van het batterijpakket door header JP1. Merk op dat de ontluchtingsstroom naar het volgende lagere batterijpakketsegment stroomt, dus C9 loopt bijvoorbeeld over in C8, enz. Het Arduino Uno-schildsymbool wordt op het schema geplaatst voor de PCB-lay-out beschreven in stap 3. Er wordt een afbeelding met een hogere resolutie geleverd in het zip-bestand. Het volgende is de onderdelenlijst (om de een of andere reden werkt de uploadfunctie van Instructables niet voor mij …)
Aantal Waarde Apparaat Pakket Onderdelen Beschrijving:
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, Q8, Q9, Q10, Q11, Q12 P-kanaal Mosfet 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 WEERSTAND, Amerikaans symbool 12 1K R-US_R0805 R0805 R4, R6, R8, R10, R12, R14, R16, R18, R20, R22, R24, R26 WEERSTAND, Amerikaans symbool 12 200 R-US_R0805 R0805 R1, R2, R3, R28, R29, R30, R31, R32, R33, R34, R35, R36 WEERSTAND, Amerikaans symbool
Stap 3: PCB-layout
De lay-out wordt meestal bepaald door het ontwerp van het belangrijkste BMS-systeem dat wordt besproken in een afzonderlijke instructable (https://www.instructables.com/id/Arduino-LTC6804-Battery-Management-System/). De headers JP1 en JP2 moeten overeenkomen met de bijpassende headers op het GBS. De Mosfets, bleed-weerstanden en LED's zijn op een logische manier gerangschikt op het Arduino Uno-schild. Gerber-bestanden zijn gemaakt met Eagle CAD en de PCB's zijn voor fabricage naar Sierra Circuits gestuurd.
Het bijgevoegde bestand "Gerbers Balance Board.zip.txt" is eigenlijk een zip-bestand met de Gerbers. U kunt gewoon het.txt-gedeelte van de bestandsnaam verwijderen en het vervolgens uitpakken als een normaal zipbestand.
Stuur me een berichtje als je een printje wilt hebben, misschien heb ik er nog wel wat over.
Stap 4: PCB-assemblage
Balance board PCB's werden met de hand gesoldeerd met behulp van een Weller WESD51 temperatuur gecontroleerd soldeerstation met een ETB ET serie 0,093 "schroevendraaier" punt en 0,3 mm soldeer. Hoewel kleinere tips misschien beter lijken voor ingewikkeld werk, houden ze de warmte niet vast en maken ze het werk zelfs moeilijker. Gebruik een fluxpen om de printplaten schoon te maken voordat u gaat solderen. 0.3 mm soldeer werkt goed voor het handmatig solderen van SMD-onderdelen. Plaats een beetje soldeer op een pad en plaats het onderdeel vervolgens met een pincet of x-acto-mes en plak dat pad vast. De resterende pad kan dan worden gesoldeerd zonder dat het onderdeel beweegt. Zorg ervoor dat u het onderdeel of de printplaten niet oververhit. Omdat de meeste componenten naar SMD-normen vrij groot zijn, is de print vrij eenvoudig te monteren.
Stap 5: Coderen
De volledige Arduino-code wordt gegeven in de vorige instructable waarnaar hierboven is gelinkt. Hier zal ik uw aandacht vestigen op het gedeelte dat de celbalancering regelt. Zoals hierboven vermeld, worden S1-S12 bestuurd door de CFGR4 en de eerste 4 bits van de CFGR5-registergroepen op de LTC6804 (zie pagina's 51 en 53 van de LTC6804-datasheet). De lusfunctie van de Arduino-code detecteert het segment van het batterijpakket met de hoogste spanning en plaatst het nummer in de variabele cellMax_i. Als de spanning van cellMax_i groter is dan de CELL_BALANCE_THRESHOLD_V, roept de code de functie balance_cfg() aan, waarbij het nummer van het hoge segment, cellMax_i, wordt doorgegeven. De functie balance_cfg stelt de waarden van het juiste LTC6804-register in. Een oproep naar LTC6804_wrcfg schrijft deze waarden vervolgens naar de IC, waarbij de S-pin wordt ingeschakeld die is gekoppeld aan cellMax_i.
Aanbevolen:
Een Halloween Scare Machine met behulp van een PIR, een 3D-geprinte pompoen en de Troll Arduino Compatible Audio Pranker/praktische Joke Board.: 5 stappen
Een Halloween Scare Machine met behulp van een PIR, een 3D-geprinte pompoen en het Troll Arduino-compatibele audio-pranker/praktische grapbord.: Het Troll-bord gemaakt door Patrick Thomas Mitchell van EngineeringShock Electronics, en niet zo lang geleden volledig gefinancierd op Kickstarter. Ik kreeg mijn beloning een paar weken te vroeg om te helpen bij het schrijven van enkele gebruiksvoorbeelden en het bouwen van een Arduino-bibliotheek in een po
Hoe een Gopro van stroom te voorzien met Lipo Balance Plug: 3 stappen
Hoe een Gopro van stroom te voorzien met Lipo Balance Plug Hallo allemaal, deze keer laat ik je zien hoe je de balansstekker van een lipo-batterij gebruikt om USB-apparaten van stroom te voorzien. Meestal wordt de balansstekker gebruikt bij het opladen van een lipo-accu. Het zorgt voor dezelfde spanning op alle cellen. Maar met deze hack kun je hem gebruiken als een pow
Balance Box Game - Arduino Powered: 4 stappen (met afbeeldingen)
Balance Box Game - Arduino Powered: Het Balance Box-spel is gemaakt voor een uitdagingsevenement, het moet waterpas door een hindernisbaan of over een bepaalde afstand worden gedragen om de uitdaging te winnen. Een Arduino wordt gebruikt om de hoek van de box en activeer een alarm zodra de ingestelde hoek
Open source 3/4/5S lithium BMS: 4 stappen
Open-source 3/4/5S Lithium BMS: In deze Instructable wordt het ontwerp van de BMS345 uitgelegd. Het ontwerp is volledig open source, de ontwerpbestanden zijn te vinden in de GitHub-link in de laatste stap. Ook is er een beperkte voorraad beschikbaar op Tindie.De BMS345 is een BatteryManagement
Maak je eigen Balance Board (en ga op weg naar een Wii Fit): 6 stappen
Maak je eigen Balance Board (en ga op weg naar een Wii Fit): Maak je eigen Balance Board of BalanceTile (zoals we het noemden), als interface voor verschillende games en fysieke fitnesstraining, met behulp van I-CubeX-technologie. Ontwerp je eigen applicatie en ga veel verder dan de Wii Fit! De video geeft een overzicht en s