Ställa in en A100LK vindmätaren på en Arduino (3 / 7 steg)
Steg 3: Kalibrering och icke-linearitet beräkningar
Nära toppen av arduino är koden denna linje:
flyta kalibrering = 1.0047; (46.62 / 46,4)
och vad det innebär är det tar värdet från kalibreringsintyget (46,4) och delar det in i det nominella värdet av (46.62) och, hey presto, enheten är kalibrerad! Värdet "calibration" är sedan multiplicerade mot vår faktiska frekvensen läsning, dividerat med 10 och sedan korrigeras mot data i en tabell:
knop = (frekvens * kalibrering /10) + rättelse;
Det faktiska värdet "korrigering" beräknas genom en serie "if" uttryck:
void adjustments()
{
om ((frekvens > = 1) & & (frekvens < = 100)) {korrigering = 0,20;}
om ((frequency >100) & & (frekvens < = 200)) {korrigering = 0.10;}
om ((frequency >200) & & (frekvens < = 300)) {korrigering =-0.25;}
om ((frequency >300) & & (frekvens < = 400)) {korrigering =-0.60;}
om ((frequency >400) & & (frekvens < = 500)) {korrigering = -1;}
om ((frequency >500) & & (frekvens < = 600)) {korrigering =-1.4;}
om ((frequency >600) & & (frekvens < = 700)) {korrigering =-1.75;}
om ((frequency >700) & & (frekvens < = 800)) {korrigering = -2;}
om ((frequency >800) & & (frekvens < = 900)) {korrigering =-2.20;}
om ((frequency >900) & & (frekvens < = 1000)) {korrigering =-2.35;}
om ((frequency >1000) & & (frekvens < = 1100)) {korrigering =-2.40;}
om ((frequency >1100) & & (frekvens < = 1200)) {korrigering =-2.50;}
om ((frequency >1200) & & (frekvens < = 1300)) {korrigering =-2.50;}
om ((frequency >1300) & & (frekvens < = 1400)) {korrigering =-2.50;}
om ((frequency >1400) & & (frekvens < = 1500)) {korrigering =-2.45;}
om ((frequency >1500) & & (frekvens < = 1600)) {korrigering =-2.40;}
}
och det är det!