Bästa varianten för att samla väderdata?

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Bästa varianten för att samla väderdata?

Inlägg av PHermansson »

Håller fortfarande på att konstruera min PC-baserade väderstation/loggare, och hittar bara fler & fler möjligheter. Främst gäller det sensorn som jag har svårt att bestämma mig för. Det jag vill mäta i första hand är ljus (LDR, analog) temperatur&luftfuktighet (utomhus, sensor Sensirion SHT11, 2-trådskopplad), lufttryck (sensor MPXA4115, analog), inomhustemperatur (DS18S20).
De varianter jag har kommit på är följande:

-FoxBoard. Linux, Lan & Wlan. Enbart digitala I/O-pinnar. Kan lösas enkelt med en PCF8591 kopplad via I2C-interfacet (http://www.acmesystems.it/?id=10).

-PC18F4550. Kopplas via USB.

-PIC16F628 med one-wire-kod. Enbart digitala I/O-pinnar.http://home.hetnet.nl/~thomas_7/1Wire/1-WireIOPort.html
Kan konverteras till Pic med A/D.

-PIC12F675 med 433MHz-sändare, 18F4550 med 433MHz som mottagare.

Vad tror ni funkar bäst och är lättast/snabbast att få igång?
larky
Inlägg: 1140
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Inlägg av larky »

Jag har ingen erfarenhet av annat än tempsensorer och räknare kopplat till ett 1-wirenät, men jag gillar definitivt 1-wire, och i kombination med OWFS.
Snabbast att komma igång är nog att köra allt 1-wire, hobbyboards har ju allt från scheman till färdiga moduler.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Jo 1-wire är trevligt och enkelt, vore också relativt enkelt att bygga ut det befintliga nätet. Men det kräver en kabel till vinden, inte kul!
FoxBoarden känns mest flexibel, enkelt att koppla ut med Wlan (Finns eluttag på vinden när jag tänkt ha den). Men det känns som lite overkill, även fast det ligger en oanvänd FoxBoard här i hyllan.
Ska man ändå dra kabel är 1-wire enklare än USB, så en ren 4550 går bort, likaså den DLP-2232-modul som ligger här och skräpar.
Fransson
Inlägg: 525
Blev medlem: 20 maj 2006, 12:27:55
Ort: Bagarmossen (sthlm)

Inlägg av Fransson »

Hej P! (Hermansson)

Jag har länge funderat på ett liknande projekt. Har inte byggt något dock, men jag delar gärna med mig av mina tankar.

Jag har tänkt mig att göra det som två enheter.
En utomhusenhet som gör alla mätningar och en inomhusenhet som sparar alla mätdata i en logg. Loggen kan sedan läsas av från en PC.

Hjärtat i utomhusenheten skulle vara en μC t ex en av de PIC:ar du nämnde eller en krets från t ex ATMega, Renesas eller någon annan tillverkare. Välj en familj du vet att du kan programmera. μC:n måste också ha minst en serieport (UART) för att kommunicera med inomhusenheten. Vilka ingångar som behövs beror på valet av sensorer. Men man kan gissa att det behövs ett antal A/D omvandlare. Timer/räknare ingångar kan också vara intressant för att räkna pulser och/eller mäta frekvenser. Eventuell kan ytterligare serieportar (UART:s) komma ifråga beroende på valda sensorer.

Jag är lite trött idag, så jag orkar inte leta efter vad det är för sensorer du tänkt dig. Skulle du kunna länka var och en av dem till någon sida med information om dem? Gärna kompletta datablad om du vet var det finns.

Dina förslag på sensorer:
- Ljus (LDR, analog) …Är den linjär? Kolla om en liten bit av en solcell kan funka, jag har sett det i en ljusmätare för foto.
- Temperatur & luftfuktighet (utomhus, sensor Sensirion SHT11, 2-trådskopplad)
- Lufttryck (sensor MPXA4115, analog)
- Inomhustemperatur (DS18S20).

Jag skulle vilja lägga till:
- Vindhastighet och vindriktning.
- Nederbörd/regn.

Min tanke är att man börjar med att bestämma sig för vilka sensorer man ska ha samt hur data ska läses av. μC:n. När man vet hur data ska läsas så kan man göra en lista över nödvändiga funktioner och anslutningar som krävs hos μC:n och med ledning av det gör man det slutliga valet av μC.
Skaffa ett ”standard” labbkort med den valda μC:n och börja bygga alla förstärkare och trimkretsar kring en sensor i taget och testa att det funkar. Dokumentera och gör scheman löpande. (Använde en elektronik CAD t ex Eagle.)
Kommunikationen med inomhusenheten tror jag görs smidigt över SR485. (Använd t ex MAX 485 för nivåomvandling.)
När allt är testat så gå igenom din dokumentation och CAD:a ett nytt schema som är komplett med alla sensorer och μC:n. Ta fram ett nytt kretskort och montera allt från start.

Inomhusenheten har jag inte tänkt lika mycket på. Jag vill dock lagra loggen på ett utbytbart medium som jag kan läsa direkt från PC:n som backupp. (Minneskort för digitalkamera/mobiltelefon eller liknande) Enheten ska kunna läsas direkt via USB, serieport eller nätverk/Ethernet. En ide skulle kunna vara en inbyggd Webbserver.

Men innan inomhusenheten är byggd (om den någonsin blir det) så kan man koppla en kombination av en MAX 232 och en MAX 485 för att omvandla PC:s serieport till en RS485 buss för labb och provkörning.

Puh… :sleepy:
Det blev långt det där. :oops: Hoppas att du får några idéer av det jag skrivigt. Jag återkommer med lite mer idéer specifikt för sensorer om ”ett par dar”. 8)
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Kul att någon håller på med samma sak! :)
Har lite info här: http://patrikhermansson.se/?q=node/95

Jo nederbörd och vind är tänkta framtida uppgraderingar. Krångliga rent mekaniskt, så för att det ska bli någonting klart för de ligga på Todo-listan än så länge.

Jag är lite inne på din tanke med en utomhusenhet och en inomhusenhet. För tillfället har jag en dator (med ett usb-anslutet 1-wireinterface) som inomhusenhet, men för att denna inte ska behöva vara på jämt ska 1-wireadapter flyttas till en NSLU2. Som utomhusenhet används en Pic, tror den 16F690 som följde med PicKit2 kan fungera bra. Annars har jag en del i gömmorna. Jag tänker mig att Pic'en agerar som 1-wireenhet, finns en del kod för det. Då slipper man några jobbiga konverteringar på vägen.
En annan lösning vore att använda en 16F628 som i länken ovan för digital I/O och SHT11. Finns tyvärr ingen källkod till det projektet... Det analoga kan man sköta via DS2450 där man ändå kör 1-wire. Kanske inte en optimal lösning, men enkel att komma igång med.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Jag är ganksa säker på att det blir 1-wire som gäller för koppling till PC'n.
Ett alternativen är då en 16F628 enligt länken ovan med en DS2450 för analoga ingångar.
Ett bättre alternativ vore en Pic med A/D. men då får man ha annan kod. och kod för Pic som 1-wire slav är det inte gott om...
mikroPascal: http://www.mikroe.com/forum/viewtopic.p ... 505ccf147d

En liten fundering: En DS2408 kan användas för att styra en HD44780-LCD... Skulle det inte vara möjligt att koppla en SHT11 till den istället??
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Vad är fördelen med att bygga allt från scratch och inte använda en färdig station med interface ?
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Pengar, nöjet & funktioner :) Precis som de flesta andra projekt här.

-En väderstation med PC-interface är inte billig.
-Det är roligare att göra det själv.
-Man slipper proprietär mjukvara. Har du sett någon färdig PC-kopplad väderstation som levereras med Linuxmjukvara och kan lagra i en MySql-databas? En väderstation med ljussensor? En som kan visa värdena på en LCD som även används till en mp3-spelande NSLU2? 8)
Fransson
Inlägg: 525
Blev medlem: 20 maj 2006, 12:27:55
Ort: Bagarmossen (sthlm)

Inlägg av Fransson »

Håller med till 110%! :D 8)
Hobby är kul!
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Det ska vara nöjet då.

Tror inte det är så lätt att bygga alla givare rent mekaniskt.

En komplett station med allt utom ljussensorn kostar mellan 1000-1500:- så det är rätt billigt tycker jag.

Datat laddar man ju bara ner från stationen, vad det körs för program i PCn kan man väl välja själv.
Fransson
Inlägg: 525
Blev medlem: 20 maj 2006, 12:27:55
Ort: Bagarmossen (sthlm)

Inlägg av Fransson »

Hej igen.

För att förtydliga hur långt bort jag är från att starta ett eget ”väderprojekt”, kan jag säja att jag ännu inte ens har börjat lära mig att programmera en modern μC. (Förvisso programmerade jag en i gymnasiet men det var 20år sen och den finns inte kvar idag.) På så sätt är jag väldigt fri i valet av μC.

Fast för något år sen (eller mer) läste jag i Allt om elektronik om Renesas R8C13 och blev så intresserad att jag köpte en ”Tom Thumb” (ett utvärderingskort). Men jag har inte ens lärt mig arbetsmiljön än.

Jag ser att du har en del funderingar/överväganden om kommunikationen. Trådlöst är förvisso väldigt attraktivt mest för frihet i placering, man slipper ledningsdragning… Nästan.
För du har ju fortfarande strömförsörjningsbehovet kvar att lösa. Och om man ändå måste dra en ledning för strömförsörjning så kan man lika gärna lägga till ett par trådar för datakommunikation.

Olika kommunikationsalternativ:

Kod: Markera allt

Typ	Antal trådar	Nivåer	Protokoll
I²C	3 (Da, Cl, Gn)	0-5V	Standardiserat
RS232	3 (Tx, Rx, Gn)	+-12V	Stor frihet, finns flera färdiga, men du kan göra egna.
μC	3 (Tx Rx, Gn)	0-5V	Stor frihet, finns flera färdiga, men du kan göra egna.
1-Wire	2 (Data, Gnd)	0-5V	Standardiserat
RS485	2 (Balanserad)	+-9V	Samma som RS232 och serieportar generellt.

(Fins det något annat sätt att skriva en "snygg" tabell på forumet?)
Fördelarna med färdiga protokoll är att det redan finns flera färdiga enheter som ”bara” behöver pluggas in. En nackdel kan vara att det kräver mycket programmering som kan vara känslig och svår att få att fungera.
Utan standardiserat protokoll står man ganska ensam, svårt att få hjälp. Men i gengäld är man fri att skapa sin egen kommunikation.
+-9V är mindre störningskänslig och kan överföras över längre avstånd än 0-5V.

När jag skriver att det ”finns flera färdiga” protokoll till serieporten tänker jag främst på saker som t ex: X-on, X-off, X-modem och Z-modem med flera. Men dom löser inte tolkningen av översända data.

Om du redan använder 1-Wire och är bekant med det så tycker jag att du ska fortsätta med det. Fast det lät som om det begränsade ditt val av μC eller tvingade in dig på ”osäkert vatten” när du ska ”flytta” kod till en annan μC än den är skapad för.

Själv lutar jag åt att använda RS485. 8)

EDIT: Kortade ner några sker i tabellen för att det ska se snyggt ut.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Inlägg av PHermansson »

Ok, vi har kommit olika långt men det förhindrar ju inte att man utbyter idéer :)

Jo jag håller mig till 1-wire, bland annat för att jag redan har ett nät. Dessutom blir det bitvis mkt enkelt. En DS9490R i datorn kopplad till en DS1821 tempsensor utanför fönstret. Installera OWFS och kolla vilket värde /sökväg/owfs/temperature har så har du temperaturer. En rätt byggt 1-wire nät kan vara 50-100 meter långt, man får strömförsörjning på köpet. Man bygger dessutom med fördel ett förgrenat stjärnnät så man slipper dra så mycket kabel.

Att använda en Pic som slav i 1-wire är inte särskilt väldokumenterat, verkar finns licenskrav från Maxim/Dallas för det. Inte bra...
Däremot har jag hittat ett exempel på hur en SHT11 används med DS2406 i ett 1-wire nät. Ingen källkod tillgänglig, men det visar ju att det är möjligt (vilket det också borde vara). Finns inte stöd i OWFS för det än, men det ska nog gå att lösa...
http://shtxx.tripod.com/
hogge
Inlägg: 280
Blev medlem: 6 januari 2005, 17:43:03
Ort: Umeå
Kontakt:

Inlägg av hogge »

tror inte man ska försöka bygga förgrenade sjärnnät det bäddar för trubbel...om man nu ska försöka göra de enkelt för sig.
larky
Inlägg: 1140
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Inlägg av larky »

Håller med om att om man vill göra det enkelt för sig ska man nog undvika stjärnnät.

Jag impulsköpte just en LCD-kontroller för 1-wire, som jag trodde var DS2408, men som visade sig vara baserad på en PIC16F628-20. Fungerar gör den iaf, i OWFS, så nu ska här lillasysterfräsas ett hus till den...

http://www.louisswart.co.za/1-wire_lcd_100.pdf
http://owfs.org/index.php?page=lcd

Läste en post på OWFS-dev att dom ska försöka få tillstånd från killen bakom http://shtxx.tripod.com/ att inkludera denna lösning i OWFS, och det verkar ju lysande!
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

@Fransson:
Vad kostar Renesas R8C13 per chip? inköpsställe?

Angående ledningsdragning/protokoll så verkar det som standard cat.5 kabel är billigast per meter, även om den innehåller fler trådar & twist jämfört med andra varianter. Med ett meter pris runt 5 kr/m om jag minns rätt. Har försökt hitta en kabel som har mindre diameter med enklare utförande, men då smiter priset snabbt iväg. Och det blir betydligt sämre kabel.

Som överförings protokoll gillar jag också RS485. Ethernet är ju vassare men lite väl komplicerad för sammanhanget. Så då återstår det RS485, förhoppningsvis med 100 ohm impedansutgång. Förresten så jobbar RS485 med +/-200 mV differens inte per definition 9V, som ger långa stigtider.
En annan variant är open-collector nät. Och eftersom cat.5 kabel har 4 par kan man köra flera protokoll parallellt.

Cat.5 kabel klarar 48V/400mA, iaf om man ska tro PoE IEEE 802.3af specifikationerna. Så energiförsörjnigen bör vara ok likaså. Det som tydligen begränsar effekten är om flera kablar ligger tillsammans i en kabeltrunk. Och RJ45 kontakterna som kan bli överlastade.

Går det att implementera differentiell RS485 med endast en MCU (PIC/AVR) och några passiva komponenter?
Lite "skew" är nog acceptabelt i detta sammanhang.

Tänkte om man kan konstruera ett RS485 nät där enkla noder som styr reläer etc.. implementeras "on the cheap". Och avancerade noder med webbkamera o.dyl. implementeras med externt driver chip.
Skriv svar