Stap 6: Programmering Planning
Ik gebruik van de Arduino IDE voor mijn persoonlijke projecten en prototypen, want ik te lui ben om het optrekken van Atmel Studio.
Voordat ik had alle onderdelen begonnen ik met de planning van het programma voor de lader. Ik wilde 4 aparte statuscomputers, één voor elke cel en hen gelijktijdig uitgevoerd in real-time om goede timing voor de berekening van de capaciteit. De beste manier die ik meestal doen is met een hardware-interrupt timer. De timer-interrupt was gesplitst voor 4 tijd-slots, hij eindigde als 5 maar ziek krijg dat later.
Met behulp van timer gegenereerd interrupts is een geweldige manier om te garanderen dat code wordt uitgevoerd op precieze tijdstippen. Ik gebruik een timer interrupt die doorloopt alle functies die moeten worden uitgevoerd. De periode van de timer onderbreken moet langzamer te zijn dan de langste uitvoeringstermijn van alle de statuscomputers uitgevoerd.
De basis staat ontwerp sudo machinecode die ik afgesloten voordat u begint met code is hieronder:
0 – gratis cool-down
Als VCELL niet steady dan staat 0 //steady zou de over dezelfde spanning gedurende 30 seconden
Als VCELL < VFULL dan staat 1 / / start gratis
Als VCELL > = VFULL then state2 / / start geen kwijting
1 - opladen
Als VCELL > = VCHRD dan staat 0 / / cool-down
Als VCELL < VCHRD dan staat 1 / / houden opladen
2 - ontladen
Als VCELL > VSTOP dan staat 2 / / houden ontladen
Als VCELL < VSTOP dan staat 3 / / cool-down
3 - kwijting cooldown
Als VCELL niet steady dan staat 3 //steady moeten de over dezelfde spanning gedurende 30 seconden
Als VCELL > VLOW dan staat 2 //start weer ontladen
Staat 4 / / gedaan