Felsöka ditt bilbatteri med ATtiny. (8 / 9 steg)
Steg 8: Programvara kalibrering.
Härrör från formler i bilderna 4 och 5 i steg 1:
R2 3.245
Vadc(9.6V) = (Vbat – Vd)---= (9,6 – 0,7)---= 2.1803 V
R1 + R2 (10.001 + 3.245)
Koppla detta värde till digital värde formeln:
2.1803
Mårtens(9.6V) =---(1023) = 446.09 ≈ 446
5
Vilket är ungefär 6 enheter under 452, det är därför spänning tvungna att gå högre att byta lysdioder. För kalibrering ersätter värdet 446 452 i kod enligt följande:
Raden i koden:
IF(val<452) {//Is batterispänning under 9.6V?
blir:
IF(val<446) {//Is batterispänning under 9.6V?
Vi kommer att göra samma sak för andra spänningar, nytt digitalt värde för 12.4V:
Mårtens(12.4V) = 586
Så den här raden:
IF(val<594) {//Is batteriets spänning mellan 9.6V och 12.4V?
Blir:
IF(val<586) {//Is batteriets spänning mellan 9.6V och 12.4V?
Mårtens(13.1V) = 621
Denna linje:
IF(val<629) {//Is batteriets spänning mellan 12.4V och 13.1V medan tomgång?
Blir:
IF(val<621) {//Is batteriets spänning mellan 12.4V och 13.1V medan tomgång?
Mårtens(15.5V) = 742
Och den här raden:
IF(val<751) {//Is batteriets spänning över 13.1V och under 15.5V?
Blir:
IF(val<742) {//Is batteriets spänning över 13.1V och under 15.5V?
När vi har gjort dessa förändringar i koden, kommer vi att kompilera och ladda upp detta modifierade program till ATtiny 13 som vi gjorde på steg 4. När ATtiny 13 är klar, sätt tillbaka den i batteri monitor styrelsen och kör igen spänning tester vi i steg 7 för att se till att vi faktiskt har förbättrat prestandan på koden.
9.6V övergången skedde precis vid 9.65V, en utmärkt förbättring jämfört med våra tidigare försök. Skillnaden är bara 0,5% på denna spänning som uppfyller de flesta DC Voltmetrar är korrekta. 12.4V övergången skett vid 12.44V med en skillnad på 0,3%!
Högre spänning övergångar är svårare att testa blinkande verkställer tack vare. Baserat på våra resultat så långt de övergångarna skulle vara OK. Tänk på att detta steg var nödvändigt bara för att vi använde 5% motstånd. Kom ihåg att de värden som visas här för R1 och R2 var de jag fick på två motstånden jag använde. Om du väljer att använda 5% motstånd, använda oavsett värden du skaffa i avläsningar från din egen 5% motstånd. For resten, baserat på vad jag har läst så långt, jag tror de flesta Arduino buffs kommer att älska att justera sin kod på samma sätt som vi gjorde här. Om av någon anledning behöver du ändra spänningsnivåer i framtiden, vet du nu hur detta kan göras. Proceduren är inte praktiska för produktion, dock. Detta är för utbildningsändamål bara.
Här steget Slutför kalibreringen och nu är vi redo för några verkliga tester.