Stap 3: Circuit ontwerp
Het afgevoerd circuit is relatief eenvoudig, dat elke batterij heeft een overeenkomstige belasting weerstand die lozingen van de batterij wanneer de FET is ingeschakeld. De switching wordt gecontroleerd door de microcontroller. De microcontroller de A/D converter wordt gebruikt voor het controleren van de batterij spanning. Een tweede A/D converter is verbonden met de FET bepalen de huidige gaan door de weerstand van de belasting. De huidige wordt berekend door aftrekken van de FET-spanning van de accuspanning, waardoor de spanning over de weerstand. Delen door de weerstand geeft de huidige kwijting. Vermenigvuldig dit met de tijd en je krijgt de waarde van milliamp uur.
Als je de code kijkt, zult u merken dat de wiskunde niet eenvoudig dit is. De microcontroller leest de batterijstatus elke seconde, berekent de hoeveelheid lading getekend tijdens het verleden tweede en toegevoegd aan het totaal. In die korte tijd is er slechts een fractie van een milliamp-uur dat is gebruikt, dus het zou worden afgerond tot nul als we niet voorzichtig met onze wiskunde geheel getal bent. Dus in plaats van het aantal milliamp-uren leverde, tally ik het aantal microamp-uren. Dat is dus geen zorgen voor de afronding naar beneden tot nul 1000 keer groter. Wanneer milliamp-uren worden weergegeven, wordt de last wordt gedeeld door 1000.
De code is goed gedraaid, zodat de details er gezien worden kunnen.
De weerstand van de belasting
De weerstand moet verdrijven een bit van de macht, zodat in casu formaat doet er toe. Testen NiCd en NiMH batterijen (1.2 volt) de Vermogensdissipatie is onder 1 watt, dus kies een voldoende grote weerstand, of verschillende weerstanden in parallel. Met de relatief groot tekort, moet u dikke draad gebruiken voor het pad van de geen kwijting.
Ik heb overwogen waardoor testen van 14500 Li-Ion batterijen aangezien zij AA formaat ook zijn, maar de weerstand van de belasting worden gewijzigd in een grotere waarde moeten zou aan de hogere spanning. Wanneer de batterij wordt ingevoegd, het programma controleert de accuspanning, en niet de test uitvoert als detecteert een Li-Ion accu. Als ik dit niet doen, zou de weerstand van de belasting trekken meer dan 1400 milliampère, dat is manier over de stroom van de maximale aanbevolen kwijting van 450 milliampère. De weerstand zou (in theorie) ongeveer 6 watt verdrijven, en de geur van rook de kamer zou vullen. Dit onderstreept de noodzaak voor uw code om te testen en omgaan met onverwachte omstandigheden! Ik kon hebben ontworpen een circuit te laten testen van Li-Ion batterijen door toevoeging van een extra FET en weerstand te laden, maar ik niet nodig deze functie.
Macht MOSFET (FET)
Dit onderdeel is als een schakelaar. De uitvoer van de microcontroller bestuurt de schakelaar. Als de uitgang hoog aan de poort van de FET is hierdoor het huidige te geven van de positieve aansluitklem van de accu, via de weerstand, en de FET voltooit dan de weg terug naar de negatieve klem. Dit ontslaat de batterij over een periode van tijd. Ik gebruikte een FET ik van een oude PC (onderdeelnummer IRL3103S geborgen). Een soortgelijk apparaat zou moeten werken, zolang de Drain-naar-bron op-weerstand laag is. De 2M ohm weerstand zorgt ervoor dat de spanning van de houder van een lege batterij leest is nul volt. Zonder zal de inbreng van de A/D onvoorspelbare resultaten opleveren.
Weergave
Ik gebruikte een LCD van een oude mobiele telefoon van Nokia 5110 die een pijn was aan kabellengte tot, maar het goede nieuws is dat het scherm beschikbaar in een makkelijk te gebruiken board van Sparkfun - samen met andere materialen is. De Arduino bedraagt 5 volt, maar het display en het controle-lijnen moeten niet meer dan 3,3 volt. Er zijn verschillende manieren om dit te bereiken-ik koos met behulp van weerstanden te vormen van een spanning divider. De 1800 ohm en 3300 ohm weerstanden vormen een paar die de 5 volt-uitgangen van de Arduino tot de gewenste 3.3 volt verdelen. Bij de zelfstandige versie hield ik het ontwerp hetzelfde. Ik kon hebben verlaagd de spanning van de microcontroller - de AVR-chip wordt uitgevoerd met een lagere spanning - maar dat zou leiden tot andere wijzigingen in het ontwerp, dus ik hield hetzelfde ontwerp. Het display heeft een back licht, zodat ik het bekabeld via een huidige beperkende weerstand. Het display van de Nokia is een beetje toegewezen weer te geven, dus ik nam voordeel daarvan en maakte van geanimeerde batterijpictogrammen te tonen van de status van de drie cellen. De PCD8544-bibliotheek maakt controle van het display een module http://code.google.com/p/pcd8544/
Het bovenstaande diagram is een vereenvoudigde schema weergegeven: één van de circuits van de geen kwijting gecontroleerd door de Arduino.