Hemkontrollnät/Väderdatasamlare - Ardweather

Berätta om dina pågående projekt.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Har nu byggt en "dev4" med en Mega168 på Breadboard. Den är utrustad med en MAX485 och en LCD, ska också få de sensorer som ska sitta inne. Tanken är att detta ska bli en inomhusenhet som både samlar data och visar info på displayen.
Den har just genomgått "blink-testet" och blinkar nu med sin statusdiod, uppladdningen av det enkla tstprogrammet gick alltså bra.
ShiftBrite har numer strukits ur projektet. En ShiftBrite kräver ju minst 5.6-6 volt, blir knepigt att lösa när allt är tänkt att drivas av 5 volt över RS485-nätet. Och nej, jag vill inte montera en 5-volts regulator i varje nod..
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av toffie »

Bryter av både din tystnad, men även din monolog ;)

Har det blivit några ytterligare uppdateringar? Skulle man kunna få se lite bilder möjligen? :)
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Nämen :)

Nåja...projektet ligger som ett dåligt samvete på skrivbordet. Har tänkt utveckla en utesensor till att även läsa av elmätaren. Har dock fastnat lite på RS485-kommunikationen. Det fungerar bra via serieporten och åt ena hållet, men svaren som ges på frågor via RS485 blir bara jidder. Och jo jag har kollat Baudraten.
Nästa steg är att lägga in enkla testmjukvaror för att se så att hårdvaran fungerar ordentligt. Tröttnade dock lite, mina projekt brukar ofta stanna upp på såna här skitsaker...
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av toffie »

Hehe, så det brukar bli för många av oss ;)
Sitter just nu med ett RS485 projekt, liknande ditt och jag har fått utsändningen att fungera från en AVR utan problem, två "noder" kan ta emot data korrekt via ett full-duplex nätverk med MAX13086 kretsar.

Du använder ju visserligen halv-duplex som jag funderar lite på att kanske gå över till också även fast man måste aktivera och deaktivera enable pinnarna på, som i sig kanske kan vara lite besvärligt att få till, men att förstå hur man ska koppla ett full-duplex känns nästan svårare :D

Det finns ju fyra linjer på full-duplex kretsar, AB samt ZY. Enligt databladet ska en krets AB pinnar kopplas till alla andra kretsars ZY pinnar, samt första kretsens ZY till de andras AB pinnar. Det i sig har jag fått att fungera, men det känns ju då som om det blir en ensam master och alla andra blir slavar. Det ska väl iofs bli så att det är en master som tar emot all information och behandlar det och skickar det vidare, men betyder det att slavar inte kan prata med varandra möjligen?


Hur som helst, ska ditt system låta slavarna prata med varandra eller bara direkt med mastern?

När det gäller display-noder, hur har du tänkt med att de ska drivas med 5-volt, skulle du köra separata 5-volt adaptrar i väggen, eller ska de också drivas över RS485-nätet? Blir väl en ganska ordentlig effektförbrukning som får gå över kablarna då väl? :D

Sen är jag lite nyfiken på utesensorn också, vad hade du tänkt att använda för typ av komponenter? -40/-50 tåliga då förmodligen, kanske någon IPxx klassad burk också eller?

Lite buff måste ju få, du har ju trots allt kommit en bit på vägen och du har ju idéer som du vill förverkliga. Jag har varit helt fast i tankar om såna här och liknande system i ett par år nu, känns helt underbart skoj att jag kommit igång och att det finns andra som håller på eller har hållt på med liknande ;)

Vad kör du förresten för språk, C eller ASM, och vilken utvecklingsmiljö?


Mitt största problem just nu är väl iofs vad jag ska använda för terminalprogram för att kommunicera via com-port på dator och nätverket. Jag har använt putty för att lyssna av, men verkar inte kunna få igång sändning från datorn till nätverket dock, har du nåt att rekommendera eller har du skrivit eget?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av blueint »

@toffie, Hur är det kopplat?
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Hmm måste vara nått magiskt här... jag kopplade upp grejerna här nu och då fungerar det :) Otroligt vad lite uppmärksamhet och vila kan göra :)

Enable-pinnarna är inte så svårt om man bestämmer sig för att ha en sträng Master-slave diktatur. Alla enheter står i mottagarläge. Masterenheten ställer sig i sändarläge och frågar en slave om ett värde och går tillbaka till mottagning. Slaven går i sändarläge, skickar sitt svar och tillbaka till mottagarläge. Ingen slav pratar utan att ha blivit tillfrågad.
I det här fallet ser jag ingen poäng med att låta slavarna prata med varandra (möjligen kan de få sjunga ute på fälten... :) )
Hrm det är inte fredag än...

Japp 5 volt går ut på nätet som består av tvinnad telefonkabel. Displayerna drar inte särskilt mycket, och skulle det vara nödvändigt går det ju rätt enkelt att låta just den noden ha en egen nätdel. Just nu är dock displayer lågprioriterat. Målet nu är att då en Master och en Slav att prata ordentligt. Mastern ska fråga om Slavens sensorvärden och få svar. Mastern är i första läget kopplat till datorn via USB, nästa steg blir RS232 och kommunikation med serieporten i en router.

Som utvecklingsmiljö kör jag Arduinos egna IDE. Där finns en serieportmonitor som kan användas. Kompletterar med Minicom.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Hmm nej, där kom buggen...
Kopplingen är som följer:
Masterenheten till datorn via USB (USB->TTL-adapter). En mjukvaruserieport på Mastern kopplad till serieporten på slaven via RS485. Slaven även kopplad till datorn via USB-adapter.
Slavens USB-koppling övervakas via Arduinos serieportsmonitor, masterns via Minicom.
När slaven resettas så skickar den ut "Hello! Im the outdoor device". Detta visas på både serieportsmonitorerna. Skickar jag sedan ett 'a' till slaven via dess egen monitor så svarar den "Humidity Humidity: 699 97".
I Minicom visas dock bara ett "�".

Hmm. Baudrate och annat måste vara rätt då slaven skickar den första texten korrekt. Det fungerar också att skicka ett a från Minicom, så det fungerar åt det hållet också. I det fallet visas rätt text i slavens monitor men ett skräptecken i Minicom. Hmm...
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Ändrade en liten sak i koden nu och nu fungerar det! Återstår att se om det fungerar om en stund också :)
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av toffie »

Klart det fortsätter att fungera, varför skulle det inte göra det? ;)
Har du kört något med "vanliga" C för AVR, tänkte om det fanns något som kunde göras annorlunda när du körde Arduinos IDE. Det är väl att du redan har en massa libs som du enkelt kopplar på för vad du vill använda eller?

.. Kör du på linux med utvecklingen? Sökte på Minicom och såg att det var ett linuxprogram :P

Det jag tänkte på med 5V över kabeln är ju att om det blir längre avstånd så får man ju spänningsförlust i slutet, inte sant? För oavsett om man bor i lägenhet eller i hus så blir det ju en bit om man inte ska köra på kortast möjliga avstånd mellan sensorer och mastern, typ dra mellan två rum som har sina ytterväggar åt varsitt väderstreck och ligger vägg i vägg. Krångligt det där, hoppas du förstår ;)

För inte har du väl tänkt att hela alltet ska sitta i bara ett rum? I sådant fall så går det ju förmodligen väldigt bra :P


Vad var det som var fel när du fick fram "�" då, kodmässigt alltså? Var det siffervärdet som blev ett kontrolltecken istället? Har själv det problemet att jag inte kan skicka integers över UART, de blir det resulterande ascii tecknet istället :P Det går ju att ordna, vet att jag gjort det förut, men det var så länge sen att jag inte kommer ihåg och jag kan inte hitta det när jag söker på nätet :(

Hur har du kopplat i övrigt då? Du kör med halv-duplex och MAX485, eller hur?
Bild
Du kopplar alltså A till A och B till B? Det känns ju ruskigt mycket enklare så sett än vad full-duplex känns som.

MAX13086 som jag använder har ju full-duplex och kör med fyra linjer som kopplas kors och tvärs :D
Bild

Även halv-duplex för de femsiffriga MAX kretsarna är ju samma som för max485 serien, lättare än full-duplex :D
Bild

blueint
Där har du kopplingen på bilden i mitten. Ingen idé att visa kopplingsplattan ;) hehe


Jag har åtminstone hunnit koppla in en tredje krets nu, så förutom "mastern" så är det två kretsar som tar emot data, vilket jag ser både på en led på vardera mottagningsben samt att jag har en logik analysator som läser av värdet på 7 olika ställen och samtliga är korrekta, så jag är såå nöjd och glad :D

Än så länge skickar mastern bara ut ett testmeddelande typ 10-20 gånger per sekund så jag har ingen tillbaka kommunikation än.


Förresten, jag har funderat lite på trafiken och hastigheten, hur kommer din trafik se ut PHermansson? Det kommer väl vara rätt dött hela tiden, förutom när mastern skickar ut en info request till slavarna? Hur ofta tänker du att den ska göra det?

Kan man på något sätt mäta hastigheten med ett skåp eller frekvensräknare eller så? Skulle ju vara kul att se vad man kommer upp i och om man behöver optimera utskicken :P
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Glömde förresten att svara på det med inbyggnadslåda. Jag tittade en del på olika vattentäta elektronikboxar, men de är ju ännu dyrare än vanliga elektronikboxar. Kom dock på en i mitt tycke smart lösning: En IP54-klassad kopplingsdosa från Jula. Egentligen tänkt för att koppla 230, men det spelar ju mindre roll. En fin lagom stor vit vattentät låda är det, och priset var inte särskilt avskräckande: 19:- :)
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av toffie »

Det låter ju som ett riktigt bra pris, det är ju dammskydd och stänkande vatten, räcker ju förmodligen alldeles utmärkt för det sitter väl åtminstone lite tak över elmätaren ute, eller hur?

Vet du vad det är för artikelnummer på den boxen?
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Elmätaren sitter i ett skåp på en elstolpe tillsammans med huvudsäkringarna.
Numret är 402-240, det är det som står på förpackningen i alla fall.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

toffie skrev:Klart det fortsätter att fungera, varför skulle det inte göra det? ;)
Har du kört något med "vanliga" C för AVR, tänkte om det fanns något som kunde göras annorlunda när du körde Arduinos IDE. Det är väl att du redan har en massa libs som du enkelt kopplar på för vad du vill använda eller?
Vanlig C för AVR har jag använt en del tidigare, men det blir enklare med Arduino. Precis som du skriver finns det färdiga bibliotek för en massa ändamål, tex 1-wire. Och biblioteken är kompatibla och körklara så det är enklare än att fippla ihop diverse kodsnuttar som man kan hitta till vanlig C.
toffie skrev: .. Kör du på linux med utvecklingen? Sökte på Minicom och såg att det var ett linuxprogram :P
Ja vad annars? :)
toffie skrev: Det jag tänkte på med 5V över kabeln är ju att om det blir längre avstånd så får man ju spänningsförlust i slutet, inte sant? För oavsett om man bor i lägenhet eller i hus så blir det ju en bit om man inte ska köra på kortast möjliga avstånd mellan sensorer och mastern, typ dra mellan två rum som har sina ytterväggar åt varsitt väderstreck och ligger vägg i vägg. Krångligt det där, hoppas du förstår ;)

För inte har du väl tänkt att hela alltet ska sitta i bara ett rum? I sådant fall så går det ju förmodligen väldigt bra :P
Nej det ska allt vara utspritt i huset, exakt hur är jag inte klar över än. Men man ska inte överdriva problemet. Det går fint köra 5 volt ett antal meter om man håller förbrukningen låg. Ska man koppla in Pwerleds och sånt blir det ju en annan sak, men då kan man ju som jag skrev komplettera med en lokal strömförsörjning.
toffie skrev: Vad var det som var fel när du fick fram "�" då, kodmässigt alltså? Var det siffervärdet som blev ett kontrolltecken istället? Har själv det problemet att jag inte kan skicka integers över UART, de blir det resulterande ascii tecknet istället :P Det går ju att ordna, vet att jag gjort det förut, men det var så länge sen att jag inte kommer ihåg och jag kan inte hitta det när jag söker på nätet :(
I det här fallet slog jag av sändaren för tidigt så den han inte få ut alla bitar. Annars brukar problemet vara att baudrate inte matchar i båda ändar.
toffie skrev: Hur har du kopplat i övrigt då? Du kör med halv-duplex och MAX485, eller hur?
Bild
Du kopplar alltså A till A och B till B? Det känns ju ruskigt mycket enklare så sett än vad full-duplex känns som.

MAX13086 som jag använder har ju full-duplex och kör med fyra linjer som kopplas kors och tvärs :D
Bild

Även halv-duplex för de femsiffriga MAX kretsarna är ju samma som för max485 serien, lättare än full-duplex :D
Bild
A-A, B-B. +5 volt och jord med i samma kabel. Inga konstigheter alls, och MAX485 behöver inga kringkomponenter. Bara att dra in, ut och RE/DE till processorn och köra på. Programmässigt ser man till att styra RE/DE rätt, annars fungerar det som en vanlig serieport.
toffie skrev: Förresten, jag har funderat lite på trafiken och hastigheten, hur kommer din trafik se ut PHermansson? Det kommer väl vara rätt dött hela tiden, förutom när mastern skickar ut en info request till slavarna? Hur ofta tänker du att den ska göra det?

Kan man på något sätt mäta hastigheten med ett skåp eller frekvensräknare eller så? Skulle ju vara kul att se vad man kommer upp i och om man behöver optimera utskicken :P
Typ rätt dött. Har inte bestämt än hur tätt frågorna ska skickas, kanske en gång per 15 minuter? Har inga funderingar på att slå några hastighetsrekord, håller mig till en låg hastighet för att få en stabilare överföring.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av PHermansson »

Har fortsatt lite smått på projektet. Inriktar mig på utomhusenheten. Den har fått lite uppsnyggad kod och en fototransistor. Har även lagt inte lite förklarande text i koden så att man inte behöver börja om från början när man tar tag i det på nytt om ett par år :)

Kod: Markera allt

Ardweather outdoor device
Patrik Hermansson 2012

Hardware:
Home built Arduino clone based on Atmega168
Sensors: 
- HH10D humidity sensor. Connected to D5.
- DS1820 temperature sensor. Connected to D9
- IR-transistor. Connected as voltage divider to A1 with a 47k resistor.

RS485 hardware, MAX485.
D4 -> MAX485-4
D3 <- MAX485-1
DE/RE = D10

Commands:
< - Debug message
h - Humidity
o - Search for 1-wire devices
t - Read DS1820
l - Read light level
Nu ska jag se om jag kan få till med RRDTools så att den kan köra en serie mätvärden. Är mest nyfiken på om ljussensorn ger vettiga data.
Användarvisningsbild
toffie
Inlägg: 1888
Blev medlem: 22 juli 2004, 21:38:07
Ort: Töreboda / Stockholm
Kontakt:

Re: Hemkontrollnät/Väderdatasamlare - Ardweather

Inlägg av toffie »

Snygg struktur!
Vad för typ av sensor är det? Ger den ut analog spänning eller är den digital?

RRDtool ger ju riktigt fina bilder av mätvärden, får du till det så får du posta en bild här! :)
Skriv svar