elektroniskt etablerad 2002
Tillbaka Hem Endast i Internet Explorer Forum Adresser Hjälp

Sensornätverket

För att göra mätningarna används ett sensornätverk med Dallas Semiconductor's 1-wirebus. Nätverket är uppbyggt enligt följande.

Nätverketsuppbyggnad. Texter på engelska beroende på att bilden används på engelskaspråkiga sidor.

Utrustning

Här följer en närmare beskrivning om hur nätet hos oss är uppbyggt. Längre ner finns tips om hur du kan komma igång snabbt med ett eget nätverk.

Dator

Datorn är en tunn klient med följande teknisk data:
  • Via 800 MHz processor
  • 512 Mb internminne
  • 120 Gb 2,5" hårddisk
  • DS9490R USB 1-wire adapter
På den körs Microsoft Windows XP, konfigurerad med nLite. För att läsa av 1-wirenätverket och generera grafer används mjukvaran Msure. Lagringen av data görs till en MySQL databasserver som ligger på samma dator. För att presentera grafer på en webbsida används webbservern Apache.
Att installera Apache/php och MySQL går lätt om man använder sig av programpaketet XAMPP.
Vi kör Team viewer som fjärrinloggning, och oftast Notepad++ för att redigera alla filer.

Det fysiska nätverket

Nätverket är draget med vanlig ethernetkabel, så kallad CAT5 twisted pair, TP-kabel. Noderna utgörs av kopplingslist, mer vanligt kallat sockerbitar. På bilden syns noden i maskinhallen som är knytpunkt för givare i maskinhallen och utanför på norrsidan.

Det skall tilläggas att jag inte följt den defacto-standard som finns för inkoppling av 1-wire när TP-kabel används. Hur stanrden kan hittas på MSures Wiki. Datorn kommunicerar med nätverket via en USB adpater, som har en RJ12-kontakt på sig. Det finns vanliga COM-portsadaptrar också. Nästan längst ned på sida finns en länk till en adapter man kan bygga själv.

Temperaturgivare

 
Som temperaturgivare använder jag DS18S20. På de flesta ställen är den inkopplad i en bit kopplingslist så att den enkelt går att byta. Det gjorde jag efter att ha fått bygga om nätverket efter ett åskoväder i början på oktober 2009.

Över sensorn och kopplingslisten har jag sedan satt på en krympslang. Då sitter sensorn bra i hylslisten.

Sensorn mäter temperaturer mellan -50°C och 125°C, med en noggranhet på 0,5°C. Det går att parasitmata den, dvs ingen speciell spänningskabel behövs. Dock försämras noggranheten i det övre mätområdet, och temperaturomvandlingen till datapaket förlängs något. För att få ett så bra nät som möjligt är det rekommenderat att köra en spänningskabel.

En temperatursensor skall sitta omkring 150 cm upp, och för utegivare gäller dessutom att den skall vara i skugga dygnet runt vilket gör att en norrsida lämpar sig bäst. En för del är om den kan skyddas från regn och snö som annars kan påverka temperaturen. Tänk på att fönster och dörrar också kan på verka givare om de öppnas/stängs.

Hur spänningmatas 1-wirenätet?

Jag har två batterieliminatorer som jag kopplat in på två av 1-wirenätets grenar. En i bostadshusets bottenvåning och en för ekonomibyggnaden. Dessutom kan USB adpatern förse nätet med spänning, vilket den gör för bostadshusets övervåning.

Postiv anslutning till 1-wireenhetens VDD och den negativ till GND.

Men rökgasen är ju mer än 125°C

För att mäta rökgastemperatur använder vi oss av en termokopplar av typen K. En sådan termometer klarar temperaturen på 1000°C. Den givaren ger en signal i millivolt som läses in på en DS2762, som mäter spänning. MSure beräknar sedan om spänningen, medhjälp av en omgivningstemperatur, tillvad rökgastemperaturen är.

hur det är kopplat hittar du på MSures wiki. K-givaren har jag köpt på Clas Ohlson.

Hur dektekteras cirkulationspumparna då?

Som det är just nu styrs pumparna av ett tidrelä för radiatorkretsen, och en temperaturgivare för pumpen mellan pannan och ackumulatortank. Båda har ett relä inkopplat. Jag har tagit den inverterade utgången och kopplat till en DS2406, som är en in-/utgångskrets för 1 wire.

Den är inkopplad enligt schema i MSures Wiki. Sedan skapar jag en datatransformer i MSure för att göra det tydligt när pumpen går eller inte.

Vad visar LCD:erna på ert 1-wirenät?

Temperaturer så klart!

Vad som skall visas på LCD:erna, displayerna, bestämms av hur man skriver User Module, UM, i MSure. MSure ger utrymme för att själv skriva program i C# [uttalas 'See Sharp'], vilket gör att du på helt egen hand kan bestämma var det skall stå.

Nu finns det ett par färdig skrivna UM som installeras med MSure. De ligger i en underkatalog till User Module som går att använda mer eller mindre direkt. Dessutom finns det en hjälpsam skara på MSures forum som gärna hjälper dig att få till rätt UM.

Men hur visar jag temperaturena på nätet?
Har du installerat XAMPP på den dator som du kör MSure på så konfigurerar man så att de diagram som skapas sparas i en katalog under webbservern. Då kan man med hjälp av lite HTML-kod skapa en hemsida som visar graferna.

Men, en sån där översiktsbild då?

Processbilden kräver lite mer. Då måste det finnas php installerat på webbservern, vilket det gör om man väljer XAMPP. Då har jag gjort lite funktioner i php som med hjälp av Ajax kan prsentera värden hur databsen.

Processbilden är exempelvis en JPG som man sedan lägger symboler ovan på i ett nytt lager. Då använder man sig av lite mer avancerad hemsidemakeri. Dock inte värre än att de flesta klarar av det.
Filerna kan du ladda ner här.

Dock är det precis vår processbild så det kan vara en del arbete med att få den att fungera för dig, med tanke på att du troligtvis inte har samma namn på sensorerna. I variabler.php görs inställningen för databasen som du kör mot.

I index.php bygger man själva sidan och skrivern in vilka temperaturer som skall visas var. den första <table> Är listan i toppen och den andra är innehåller data för processbilden på ackumulatortanken.

Sensorna i vårt fall heter sensorerna ack-tank toppen och ack-tank botten i databasen. Alltså den Label som har satts i Msure. Byt ut dem mot de namn du vill använda dig av i din processbild. Gör en sökning i filen på ack-tank toppen och ack-tank botten och byt ut dem par varje ställe mot din Label

På rad 25 i index.php läggs själva bilden in. den ligger som en bakgrund i en <div>. Byt ut ack-tank.png mot din bild och skriv i rätt storlek genom att byta ut siffrorna i width:152px;height:302px mot din bilds storlek.

Sedan läggs själva temperaturtexterna ut på rad 26 och 27 i index.php. Exempelvis placeras temperaturen för den topptemperaturen med 4px;top:40px;. Det är bara att prova att ändra värdena så att det passar din bild. Den första flyttar höger-vänster, den andra upp-ner. Börjar med den översta senorn i vänstrahörnet, eftersom placeringen beror av varandra.

Längst ner finns en ruta som öppnas när man klickar på informations 'i':et. Den rutan placeras med top: 50px; left: 100px; och är punkter från toppen, respektive vänster kant. Rubriken som visas sätts på raden som placerar ut sensorn på processbilden. Så på rad 25 finns texten Ackumulatortank toppen vilket är det som visas när man klickar på 'i':et för topptemperaturen. Byt ut det mot den text du vill visa.

Vad har ni 1-wirenätet till?

Det är riktigt intressant att se hur temperaturerna rör sig och påverkas av varandra. Nätet byggs ut med nya funktioner, och kan kanske i framtiden användas för att styra utrustning, och inte bara övervaka. Speciellt i den förläningen när man skaffar flera olika typer av uppvärmingskällor, som solenergi och annat.

Dessutom rapporterat vi till Temperatur.nu som gör att andra kan se vad det är för temperatur här omkring. MSure har en UM som hanterar inrapporteringen till Temperatur.nu. Det är bara att ansöka och se om det område är eftertraktad som mätstation.

Kan jag få det till min mobiltelefon?

Jovisst! De flesta moderna mobiltelefoner har webbläsare i sig, så det är bara att skapa en sida som passar bra visas i en mobiltelefon.

I vårt fall används php-Ajax-funktionerna och bara läser ut dessa i en lista. Då blir det en litet mängd data att föra över vilket går relativt fort, och inte kostar så mycket.

Hur kan jag komma igång snabbt?

På sidan MadModders finns en beskrivning hur du lätt kan bygga en egen adapter till din PC för att mäta och logga med 1-wire. Alternativt kan man köpa en färdig från exempelvis Temperatur.nu som också säljer olika typer av sensorer. Det kanske inte är det allra billigaste stället, men har mycket bra kundservice och levererar snabbt.

Vi använder oss av mjukvaran MSure som automatiskt laddar upp mätdata till en databasserver och sedan genererar grafer som man lätt kan definera och göra egen layout på.
Det är relativt lätt att få igång Msure. Det finns en guide som skapar en grundkonfiguration som man sedan förfina genom att ändra i XML-kod.

XML-koden är lätt att tyda, och med hjälp av beskrivningarna i Msures Wiki och hjälpsamma MSure-användare på MSures Forum går det fort att skapa precis den presentation man själv vill ha.

Vår MSure konfiguration

För att göra det enkelt för dig finns våra konfigurationsfiler att ladda ner:
Direkt i MSure katalogen finns Msure.xml.

För att göra det enklare att nagvigera och redigera filer har jag skapat en rad underkataloger för olika konfigurationsfiler.

Direkt under MSure-katalogen har jag skapat en katalog som heter Configuration. I den finns: Vi använder oss av två egna Data transformers förutom som inte kommer med i installationen, nämligen:
RadiatorPump.cs
CirculationPump.cs

Om något är oklart så fråga gärna så skall vi försöka hjälpa till. Ställ gärna frågan på MSures Forum så att andra kan lära sig av det.




© 2002-2019 Sundhult.com     webmaster@sundhult.com