Sida 3 av 3
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 3 februari 2012, 16:29:20
av PHermansson
Tack

Den är analog. Kopplingen är +5V -> fototransistor -> resistor -> jord. Punkten mellan transistorn och resistorn är kopplad till ADC:n på Atmegan.
Här är ett första utkast till ett Pythonscript som ska samla in data till RRDTools:
Kod: Markera allt
#ardweather.py
#Needs Python serial, http://pyserial.sourceforge.net
# "apt-get install python-serial"
import serial
import time # For delay
#Main program
#Define serial port
ser = serial.Serial('/dev/ttyUSB1', 19200, 8, 'N', 1, timeout=1)
com = chr(108)
while (1):
ser.write (com)
try:
#Read from serial port
s = ser.read(5)
s = s.strip()
print s
except KeyboardInterrupt:
#Get out of loop and exit on "Ctrl-c"
ser.close() # close port
raise SystemExit
time.sleep(10)
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 7 februari 2012, 10:37:07
av PHermansson
Projektet rullar på... Nu är kopplingen dator/usb -> inomhusArduino -> RS485 -> utomhusArduino. Från datorn kan man skicka ett enhetsnummer som bestämmer vem som ska svara och en bokstav som anger vilket värde som önskas. Skickar man tex '1t' från datorn svarar utomhusenheten med aktuell temperatur.
Punkter på G:
-Lufttryckssensor på inomhusenheten.
-Temperatursensor på inomhusenheten.
Sen lite svårare grejer:
-Ta emot data från trådlösa givare med inomhusenheten. Har gjort det tidigare mha kod som finns här på forumet, nu gäller det bara att kombinera ihop all kod så att det fungerar.
-Läsa av blinkande diod (elmätare) med utomhusenheten, Samma sak här, pussla ihop det så att allt fungerar.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 8 februari 2012, 09:21:53
av PHermansson
Dags för lite funderingar om lufttrycksmätningen. Här används en MPXA4115A, och mätresultatet beror av drivspänningen. Koden jag använder ser ut som följer:
Kod: Markera allt
sensorValue = analogRead(prpin);
// Convert reading
sensorValue = sensorValue * 0.004887586;
sensorValue = sensorValue / 5;
sensorValue = sensorValue + 0.095;
sensorValue = sensorValue / 0.009;
sensorValue = sensorValue * 10; // *10 gives value in hPa instead of kPa
Serial.println(sensorValue);
Detta förutsätter en drivspänning på exakt 5 volt vilket naturligtvis inte är bra. Resultatet blev nu 1042.89, Såtenäs väderstation ett par kilometer bort mätte 1046.9 hPa för 1,5 timme sedan. Inte så illa, men inte rätt.
Sensorn mäter mellan 150-1150hPa och ger en utspänning som som mest uppgår till 4,863 volt.
Lufttrycket i Sverige ligger vanligtvis mellan 950-1050hPa med 938 och 1063 som lägst respektive högsta uppmätta värde.
Utspänningen från sensorn kommer då att ligga mellan 3,8 och 4,5 volt, det blir svårt att använda någon intern eller extern spänningsreferens. Men det spelar ingen roll då enheten kommer att drivas av en 7805, drivspänningen blir stabil och kan användas som referens.
Här och nu är det dock USB som spänningsmatar med en uppmätt spänning på 4,58 volt. Koden anpassas för detta:
Kod: Markera allt
sensorValue = sensorValue * 0.004477;
sensorValue = sensorValue / 4.58;
Resultatet blir då 1042.88, nästan samma som förut. Får nog göra fler mätningar för att se om felet beror på avståndet till referensen, uträkningen eller toleranser i min sensor.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 8 februari 2012, 13:43:51
av v-g
Egentligen är det inte så svårt att få exakt volt man köper bara en voltregulator som sitter på samma kort som det man önskar driva så ska det fungera. Man bör också ta en noggrannare spänningsstab. än en 7805

Bara att läsa datablad det

Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 8 februari 2012, 15:21:39
av PHermansson
Tips på sådan?
Nu mäter jag 1038.54, Såtenäs noterar 1042.8 hPa kl 14. I princip samma diff som tidigare.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 8 februari 2012, 17:57:40
av PHermansson
Hmm... Dags att lära sig mer om lufttryck.
Som referens brukar man ange lufttrycket relaterat till havsytans nivå.
Station Såtenäs flygplats 2012-02-08 kl 16:00
Latitud 58.44, longitud 12.71, stationshöjd 54 m
Lufttryck 1041.2 hPa, barometerhöjd 54 m
lufttrycket minskar med höjden
Strax ovan marknivå avtar trycket med en hPa för var 8:e meter.
Så om Såtenäs mätare sitter 54 meter över havet så är trycket vid havsytan 54/8=6.75 Pa högre vid havsytan, vilket blir 1047,95. Nu mäter jag 1037.45, diffen mot min mätning blir då -10,5 Pa. Sitter jag då 10,5*8=84 meter över havet?
Nån som kan sånt här? Vill ju kalibrera min mätare.
Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 8 februari 2012, 23:23:04
av v-g
73-285-12 tex den klarar 10mA som tycks vara det Imax din krets drar.
OBS jag har bara snabbkollat så det finns säkert bättre kretsar eller så kan jag läst fel på förbrukning osv så kika själv för säkerhets skull vill ju inte att du ska slösa bort en 10:-

Re: Hemkontrollnät/Väderdatasamlare - Ardweather
Postat: 17 mars 2012, 16:50:39
av rolex42
För några veckor sedan gjorde jag följande minnesanteckningar i samband med att jag byggde min 1:a Barometer.
Utifrån dessa sidor och den (ibland dolda) information som finns kan man både förstå hur det fungerar och kalibrera sin barometer.
Lufttryck
“Som referens brukar man ange lufttrycket relaterat till havsytans nivå. Det skulle annars bli alldeles för komplicerat att jobba som meteorolog om alla bara rapporterade det lokala trycket. Analysen av hög- och lågtrycksområden på väderkartorna bygger helt på att man observerar lufttrycket från en gemensam nivå (i detta fallet med havsytan som bestämd referenspunkt).”
För att förstå bättre tittar vi på ett exempel utgående från följande 2 sidor:
SMHI välj Lufttryck
RL
Låt oss jämföra de två sidorna på en plats som ligger ganska högt över havet. (De båda sidorna visar inte exakt samma siffror men det gör inget).
Håll musen över den siffra som anger lufttrycket i Gällivare så får vi veta att stationen finns på 313 möh och trycket på den höjden är 958 hPa. Omräknat till lufttrycket relativt havsytan är 992.
image001.png
På SMHI sidan läser vi samtidigt 994 hPa.
image002.png
Klicka på orten så får vi mer info
image003.png