Temperaturen Wand (4 / 6 steg)
Steg 4: problem
Problem: Väl var mitt första försök en katastrof. Temperaturerna var överallt och inte särskilt stabil.
Solution1: Ett av problemen var att jag driver Arduino med 5V från min dator via en 4-port hub USB-port. Tja, denna spänning mätt ca 4.65V och varierade mycket. Så jag la en 5 Volt regulator och kondensatorer och en 6 Volt strömförsörjning. Se Schematisk.
Några av er skarpsynta läsare kommer att märka att strömförsörjningen (se bild) har en effekt på 6 VDC utgång och att 7805 tillsynsmyndigheten har angetts i minst 7 VDC. Tja, de flesta av dessa nätaggregat faktiskt lägga ut mer spänning än priser. Med denna ansluten, produktionen var 7.5VDC och regulator produktionen var en konsekvent 5.1VDC utdata.
Solution2: Den programvara som jag skrev först provtas temperaturen 10 gånger, i genomsnitt det sedan mata den. Det upprepade detta varje minut. Tja, jag bestämde mig att genomföra ett flytande medelvärde. Hur detta fungerar är att det prover spänningen hela tiden och är i genomsnitt de senaste 25 proverna och utgångar det.
Programmerare: Jag skapade en matris med 25 element för varje sensor och en pekare till matrisen.
float TempArray [NUM_SAMPLES] [MAX_TEMPS];
byte ArrPtr = 0;
Sedan jag läste i räkningarna för varje sensor och lagras det i matrisen bin som ArrPtr.
Då jag ökas ArrPtr ++ och upprepade processen. Om ArrPtr = 25 då det är satt till 0.
Varje matris är sammanfattade och medelvärde genom att dividera med 25, då detta genomsnitt räkna värdet konverteras till en temperatur.
Det är som ett lågpassfilter. Sensorn är medelvärde över cirka 50 sekunder. Temperaturen bör inte ändra betydligt under denna period av tid.