Uppladdningsbart batteri kapacitet testare (3 / 9 steg)
Steg 3: Circuit design
Utskrivande kretsen är relativt enkelt, varje batteri har en motsvarande belastning motstånd att utsläpp batteriet när FET slås på. Växlingen styrs av mikrokontroller. Den microcontroller A/D-omvandlare används för att övervaka batteriets spänning. En andra A/D-omvandlare är ansluten till FET att bestämma den aktuella går igenom belastning motståndet. Nuvarande beräknas genom att subtrahera FET spänningen från batteriets spänning, vilket resulterar i spänningen över resistorn. Dividera med motståndet ger den nuvarande utsläppen. Multiplicera detta med tiden och du får ma-timvärdet.
Om du tittar på koden, du kommer att märka att matten inte är ganska så enkelt. Mikrokontroller läser batteristatus varje sekund, beräknar storleken på avgift dras under tidigare näst och läggs till totalen. På den korta tid finns det bara en bråkdel av en MA-timme som har använts, så det skulle avrundas till noll om vi inte är försiktiga med våra heltal matematik. Så i stället för avprickning antalet ma-timmar, räkna jag fram antalet microamp-timmar. Det kommer vara 1000 gånger större så inga bekymmer av avrundning till noll. När ma-timmar visas är avgiften dividerat med 1000.
Koden är väl kommenterade, så Detaljer syns där.
Lasten motstånd
Resistorn måste skingra lite av makt, så storleken spelar roll i detta fall. Testa NiCd och NiMH batterier (1,2 volt) effektförlusten är under 1 watt, så välj ett tillräckligt stort motstånd eller flera motstånd parallellt. Med den relativt stora nuvarande, måste du använda tjock tråd för sökväg till ansvarsfrihet.
Jag ansåg att låta testa typ 14500 Li-Ion batterier eftersom de är AA-storlek också, men belastning resistorn skulle behöva ändras till ett större värde att rymma högre spänning. När batteriet är isatt kontrolleras batterispänningen, och utför inte testet om upptäcker ett Li-Ion batteri. Om jag inte gjorde detta, skulle belastning resistorn Rita över 1400 milliampere, vilket är långt över den maximala rekommenderade ansvarsfrihet nuvarande 450 milliampere. Resistorn skulle (i teorin) avleda ca 6 watt, och doften av rök skulle fylla rummet. Detta understryker behovet av din kod att testa och hantera oväntade förhållanden! Jag kunde har utformat en krets att medger provning av Li-Ion batterier genom att lägga till en extra FET och ladda motstånd, men jag behövde inte denna funktion.
Power MOSFET (FET)
Denna komponent är som en switch. Utdata från mikrokontroller styr växeln. När produktionen är hög för att utfärda utegångsförbud för av FET, det gör att nuvarande passera från den positiva Polen på batteriet, genom resistorn, och FET fullbordar sedan vägen tillbaka till den negativa terminalen. Detta utsläpp batteriet under en viss tidsperiod. Jag använde en FET jag bärgade från en gammal PC (partnumber IRL3103S). Någon liknande anordning bör fungera så länge som avlopp-till-Source på-motstånd är låg. 2M ohm motståndet ser spänning läsa från ett tomt batterihållare till noll volt. Utan det, kommer att A/D input producera oförutsägbara resultat.
Displayen
Jag använde en LCD från en gammal Nokia 5110 mobiltelefon som var en smärta tråd upp, men den goda nyheten är att displayen är tillgänglig i en lättanvänd ombord från Sparkfun - tillsammans med andra material. Arduinoen körs på 5 volt, men displayen och kontroll linjer behöver inte mer än 3,3 volt. Det finns flera sätt att åstadkomma detta-jag valde att använda motstånd för att bilda en spänningsavdelare. 1800 ohm och 3300 ohm motstånd bildar ett par som delar 5 volt utgångarna från Arduino till önskad 3,3 volt. I den fristående versionen höll jag utformningen samma. Jag kunde har sänkt den microcontroller spänning - AVR chip kommer att köra på en lägre spänning - men det skulle orsaka andra konstruktionsändringar, så jag höll samma design. Displayen har en ljus, tillbaka så jag trådbunden upp genom en strömbegränsande motstånd. Displayen i Nokia är lite mappade skärm, så jag drog fördel av detta och gjorde animerade batteri ikoner för att visa status för de tre cellerna. PCD8544 biblioteket gör kontrollera displayen en snapin http://code.google.com/p/pcd8544/
I ovanstående diagram är en förenklad skiss visar en ansvarsfrihet kretsar kontrolleras av Arduino.