Automatic 18650 Analyzer (6 / 9 steg)
Steg 6: Programmering planering
Jag gillar att använda Arduino IDE för min personliga projekt och prototyper för att jag är för lat för att dra upp Atmel Studio.
Innan jag hade alla komponenter började jag planera programmet för laddaren. Jag ville köra 4 separat delstat maskiner, en för varje cell och köra dem samtidigt i realtid för att säkerställa rätt tid för beräkningen kapacitet. Det bästa sättet jag brukar göra detta är med en timer maskinvaruavbrott. På timer avbryta delades upp i till 4 tidsluckor, det slutade med att vara 5 men sjuk få till det senare.
Använda timer genereras avbrott är ett bra sätt att garantera att koden körs exakt mellanrum. Jag använder en timer avbrott som går igenom alla de funktioner som ska köras. Perioden av timer avbrottet måste vara långsammare då längsta körningstiden för alla statliga maskiner kör.
Den grundläggande statliga design sudo maskinkod jag avslutat innan start att koden är nedan:
0 – kostnad nedvarvning
om VCELL inte steady state 0 //steady ska vara det om samma spänning i 30 sekunder
om VCELL < VFULL sedan ange 1 / / start avgift
om VCELL > = VFULL sedan state2 / / start ansvarsfrihet
1 - laddning
Om VCELL > = VCHRD sedan staten 0 / / nedvarvning
Om VCELL < VCHRD sedan ange 1 / / hålla laddning
2 - urladdning
Om VCELL > VSTOP sedan ange 2 / / hålla avtappning
Om VCELL < VSTOP sedan ange 3 / / nedvarvning
3 - ansvarsfrihet cooldown
Om VCELL inte steady state 3 //steady ska vara det om samma spänning i 30 sekunder
Om VCELL > VLOW då staten 2 //start urladdning igen
Staten 4 / / gjort