Stap 7: Code!
De code die moet worden geladen op de microcontroller moet een paar dingen doen:1. detecteren de referentie spanning:
Dit wordt gedaan met behulp van de spanning referentie diode, (hopelijk) dit moet produceren een vaste spanning ongeacht de ingangsspanning van de batterij. Als u een 2.7V hebt gebruikt zener, dan is de uitgangsspanning moet 2.7V (als u het formaat van uw weerstand volgens het gegevensblad. Als mij, u gebruikt een 1N4001 General-Purpose diode en een 10kOhm-weerstand, de spanning moet rond 0.5V - 0.525V
2. Stel de uitgangsspanning:
De microcontroller uitgangen een PWM-signaal controle de transistor en DC/DC circuit, hoe hoger de duty-ratio, hoe hoger de ratio van de impuls. Om ervoor te zorgen de output op 5V, moet de microcontroller dit PWM-signaal aanpassen zodat de uitvoer bij de spanning van de doelgroep blijft.
Dit wordt gedaan met behulp van teledetectie en feedback; de uitgangsspanning is voelde (via de potentiële scheidingslijn), en het PWM-signaal wordt aangepast als dit voelde voltage afwijkt het voltage dat doel.
De spanning van de doelgroep wordt berekend als een veelvoud van de verwijzing.
In mijn geval, met een 0.5V - 0.525V verwijst naar, de PIC probeert te houden de sensormeting spanning ongeveer 4,85 keer de referentie spanning.
3. Controleer de accuspanning:
Dit is ook gedaan met behulp van de spanning van de verwijzing, als de accuspanning zakt tot onder 3V, dan de LED-indicator knippert. (Teveel Lithium-ion batterijen ontladen kan leiden tot slechte dingen gebeuren, ik zou eigenlijk adviseren het toevoegen van een extra transistor om verbreken van de output als de spanning te laag daalt)
Bijgevoegd is enkele C-code die voor de PIC met behulp van MPLAB en HI-TECH's PIC C compiler wordt gecompileerd. Hopelijk moet worden spreekt voor zich. Ik heb gebruikt sommige rudimentaire gemiddeld routines, die waarschijnlijk niet noodzakelijk.