CO2-mätare, nätet får spel

Teknisk support för produkter som finns på http://www.m.nu. Generella diskussioner rörande hårdvara hänvisas till teknikforumet.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
oJsan
Wannabe
Inlägg: 10
Blev medlem: 18 mar 2011, 18:25
Ort: Umeå

Re: CO2-mätare, nätet får spel

Inlägg av oJsan »

Intressant tråd,har (hade) samma problem med en ljusmätare!
Jag har ett 1W-nät bestående av den där vanliga serie-till-1w-kretsen och en hub som jag inte heller kommer ihåg namnet på. På hubben har jag några olika grenar med diverse temp-sensorer, räknare för elförbrukning osv. För något år sedan skaffade jag alltså en ljusmätare (från m.nu) baserad på ds2450. Jag fick aldrig ordning på den och utan la tills vidare in en beräkning av medelvärde för att på så viss filtrera bort läsfelen. Ljusmätaren sitter på en egen kanal i hubben, det finns inga andra kretsar på denna gren som jag läser.

Igår kväll började jag gräva i detta igen och provade följande åtgärder:
* Monterade en 1uF elektrolyt på ljusmätare (ifall det var något problem med strömförsörjning) (kl.21:00)
* Monterade en DS18B20 på kortet (bara för att se om den betedde sig korrekt) (kl.21:00)
* Kortade ner kabellängden från ca 10m (cat5e) till 3m. (kl. 00:00)

Som man ser i bifogad bild så gjorde elektrolyten och temp-sensorn ingen skillnad men när jag kortade ner kabeln (flyttade sensorn närmare hubben) blev mätfelen något färre. Syns tydligast på grön kurva. Den DS18B20 jag monterade går att läsa men jag har inte lagt till den i någon loggning.

Efter att ha hittat den här tråden i morse började jag tänka på störningar och reset-signaler på 1w-bussen och det slog mig att crontab ju faktiskt kör alla mina läsningar parallellt och inte sekventiellt. Läsningen av ljussensorn ligger sist i crontab men störs mest troligt av andra läsningar på nätet, trots att de sitter på andra kanaler i hubben.

Så jag provade att lägga in 23s sleep i scriptet och det verkar som att det löste problemet! Med sleep i scriptet körs de andra läsningarna på nätet färdigt innan ljus-sensorn läses. (detta gjordes 09:20)

Detta skulle indikera att ds2450 är känslig för annan aktivitet på nätet, även fast det inte sker på den gren där ds2450 sitter. Rimlig teori??
Bilagor
light_24h.png
PerM
Hemautomation - det är mer än en hobby
Inlägg: 822
Blev medlem: 23 feb 2007, 14:46
Ort: Vallentuna
Kontakt:

Re: CO2-mätare, nätet får spel

Inlägg av PerM »

Nej, den teorin stämmer inte.

Ett 1-Wire nät kan bara utföra en läsning/skrivning åt gången, oavsett hur många grenar det är byggt av. Jag tror mer på spänningsmatningsproblem/för många grenar aktiva samtidigt.
oJsan
Wannabe
Inlägg: 10
Blev medlem: 18 mar 2011, 18:25
Ort: Umeå

Re: CO2-mätare, nätet får spel

Inlägg av oJsan »

Om det inte var den här tråden så var det någon annanstans jag såg det... att bus-mastern skickar en reset på bussen och att d2450 inte är färdig med sin AD-konvertering när reset:en kommer.
Men samtidigt tycker jag att det är märkligt, owfs borde köa bus-accesser så det inte kolliderar med varandra.
Vad som talar för min teori är att problemet avhjälptes genom att lägga in en fördröjning i början av mitt script.

Jag har fyra shell-script som avfyras varje minut i crontab.
Ett läser en räknare för elmätare, ett läser en bunt 18B20, ett läser ytterligare några 18S20 och det fjärde scriptet hämtar spänningarna från ljusmätaren.
Eftersom alla körs "parallellt" i crontab så antar jag att det är owfs som sköter om att köa anropen på bussen.
Lägger jag in några sekunders fördröjning i scriptet som läser spänningen funkar det fint.
Jag prövade även att lägga alla script på en och samma rad i crontab för att anropa dom sekventiellt. Det fungerade också.
( script1 && script2 && script3 &&script4)

Förresten, PerM: vad menade du med "för många grenar aktiva samtidigt"?
Skriv svar