Stap 3: De Code
Het basisidee van de code is in het stroomdiagram.
Voor het berekenen van de spanning van de cel, de stroom van de cel, of de capaciteit van de cel, moet de code lezen vanaf de invoer pin en dan te vermenigvuldigen met een factor. Ik heb niet het gevoel zoals typen die uit elke keer dat ik nodig had om de stroom en de spanning, dus schreef ik functies om te vertellen van de spanning, huidige en weinig q capaciteit. Zoals hun naam al aangeeft, doen de codes dit:
whatisvoltage() geeft als resultaat een double met de waarde van de spanning van de cel. De eenheden zijn volt.
whatiscurrent() retourneert een double met de waarde van het circuit huidige. De eenheden zijn versterkers.
capacityRead() geeft weinig v: huidige tijden het tijdsinterval. De eenheden van capacityRead() zijn amp-uur.
Dus, hoe moet je deze code te laten werken voor uw specifieke circuit bewerken? U mag niet wilt bewerken van iets minder dan de #define spullen aan de top. Ik schreef alle constanten die u voor uw eigen circuit wilt wijzigen in de sectie #define .
#define delta 10 Zet in het aantal seconden dat u het programma wilt laten gebruiken als kleine t
#define weerstand 0.62 Zet in de waarde van uw weerstand, in ohm (de mijne is 0.62 Ohm)
#define endVoltage 2.9 In de minimale spanning detest gewenste uitvoeren neer gezet.
#define voltagePlus A1 Zet in het pin-nummer gebruikt voor punt A
#define shuntMinus A0 Zet in het pin-nummer gebruikt voor punt B
#define poort 12 Zet in het pin-nummer voor waar u de poort of base aangesloten.
BELANGRIJK: punt A en B moet worden aangesloten op een analoge ingang. Als u ze met een digital pin verbonden, zal u kort een hoge huidige lithium ion cel dwars door je arduino circuit. Slechte tijden.
Ik adviseer dat u niet de waarde van endVoltage lager, wijzigt zoals (vanuit mijn onderzoek) is dat ongeveer zo laag als u wilt trekken van een lithium ion cel. Ik heb geconstateerd dat de spanning van de cel neemt af tot 3.8 aan 3.1 in misschien een uur, dan slechts 10 minuten voor het duurt te krijgen van 3.1 naar 2,9. Zo duidelijk is de cel opgevend op dat moment.
Ik adviseer ook delta te blijven ergens tussen 3 en 20 seconden. Het absolute minimum kunt u instellen en de code nog steeds werk goed is 2. Het moet een geheel getal, dus doe geen 2.4 of iets dergelijks.
Voor degenen onder u zich afvragen, ben ik met behulp van een Arduino Uno.