Stap 6: De firmware
Het schrijven van de firmware was vrij simpel, als ik een uiterst eenvoudig opladen algoritme pakte. Het idee was om de accu gedurende tien minuten, neem dan een meting over de batterij. Als de accuspanning hoger is dan een bepaalde drempel, stoppen met het laden, als het niet, blijven.
Om te kunnen opzetten van timings, ik een 10 ms-interrupt geïmplementeerd en een software-markering instellen op elk moment van de 100-th die deze interrupt optreedt. Dat gaf me een tijd-base van een seconde. Het volgende ding dat ik heb geïmplementeerd - deze seconden tellen was schreef ik macrodefinities te kunnen om de kosten en de meting time-outs eenvoudig wijzigen. De definitieve aan / uit-tijden waren:
- Meting: 5 seconden
- Gratis: 600 seconden
De code zelf is zeer eenvoudig en spreekt voor zich, ik stuur het naar iedereen wie om het vraagt. Het is eigenlijk een mix van die worden beschreven in de vorige stappen, sommige macro's, oscillator configuraties en de eenvoudige algoritme die ik voordien beschreef. Wordt er vragen over het, voel je vrij om te vragen!
Softwarehulpmiddelen gebruikt waren MPLAB X en XC8 compiler.