Övervaka CO2, vattennivå och temperatur med Arduino

JonasS

HBK Medlem
Inlägg
1,461
Kommun
Växjö
HBK-Nr
9235
Lastcellerna jag använder är billiga och har låg bygghöjd, därför köpte jag dem. Sedan så blir det ju mycket sladdar så det är ju en nackdel. Kostar under 100-lappen för 4 celler och HX711-kretsen.
 

Håkan

HBK Hedersmedlem
Inlägg
7,718
Kommun
Lidköping
HBK-Nr
1
Jag köpte en våg på Auchan för 6,7€ som jag slaktade på 4 vågceller och en HX711 för 2,9€ från Makershop.de och förhoppningsvis ska detta bli en bra nivåmätare för min LPG flaska på 14kg. Kopplas troligen till en Sonhoff SV med ESPHome firmware som sänder data till min Rpi4 med Home Assistant som sitter i husbilen. Måste labba och kalibrera en del till men det är kul som tusan och man kan hålla på med detta under resans gång.
 

Håkan

HBK Hedersmedlem
Inlägg
7,718
Kommun
Lidköping
HBK-Nr
1
Jo kalibreringen spelas ju in så den fortgår ju alltid när det är inkopplat men jag tänker fuska och har beställt nivågivare till lpg flaskan av alugas och antar att jag kan ta in det som en analog signal att kalibrera imot. Ekonomin försämras då men vad gör man inte för vetenskapen och hobbyn...
 

JonasS

HBK Medlem
Inlägg
1,461
Kommun
Växjö
HBK-Nr
9235
Nu under karantäntider så får man ju tid att leka med mer viktiga saker.

Har monterat in givaren för vattennivån. Det är två parallella koppartejper på utsidan av vattentanken och en kapacitansmätare fdc1004.

Vågen (bild nedan) är klar och fungerar, dock är det nog inte den precision som jag först trodde men tror ändå att den gör sitt jobb. Just nu 3,2kg gas i flaskan så till hösten blir det nog dags att fylla på.
 - 1 (1).jpeg
Termometrarna är det som inte är placerade på plats. Vill ha en givare inne i kylskåpet men vet inte hur man kommer in med den. Förstavalet är ju att gå in via belysningen men den vägen är spärrad eftersom kylskåpet först måste dras ut och det går inte. Att borra hål är nästa alternativ men där tvekar jag ännu...

Är lite för många sladdar som kan glappa och det ställer till det, alltid är det någon som inte vill vara med men nu verkar allt fungera samtidigt. Då dyker nästa problem upp, allt blir helknas när man sätter på kompressorkylskåpet. Har knyckt strömmen direkt ifrån kylen och det verkar inte fungera. Har två alternativ, dra en egen strömkabel från batteriet eller köpa och montera ett lite batteri som stabiliserar bara arduinon. Eller göra både och? Vad kan man göra?

Bluetooth fungerar kanonbra och det underlättar när man kan kalibrera givarna direkt i telefonen.

 - 2.jpeg

- 3.jpeg
 

Tommy Nyman

HBK Medlem
Inlägg
292
Kommun
Norrköping
HBK-Nr
11339
Termometrarna är det som inte är placerade på plats. Vill ha en givare inne i kylskåpet men vet inte hur man kommer in med den. Förstavalet är ju att gå in via belysningen men den vägen är spärrad eftersom kylskåpet först måste dras ut och det går inte. Att borra hål är nästa alternativ men där tvekar jag ännu...
Kan du kanske använda 433Mhz sensorer?
Jag använder dessa tillsammans med en TellStick eftersom jag inte kan programmera RPi (ännu)
 

JonasS

HBK Medlem
Inlägg
1,461
Kommun
Växjö
HBK-Nr
9235
Kan du kanske använda 433Mhz sensorer?
Jag använder dessa tillsammans med en TellStick eftersom jag inte kan programmera RPi (ännu)
Har en del Z-wave här hemma och det liknar ju Telldus. Problemet är tyvärr att det är ett annat system och passar inte inte ihop med mina Arduino.
 

JonasS

HBK Medlem
Inlägg
1,461
Kommun
Växjö
HBK-Nr
9235
Störningarna från kylskåpet är stora. Även via kablar direkt från batteriet så blir det inte 100% störningsfritt även om det blir mycket bättre.

Undrar om man kan göra som på min motorcykel, att sätta stor kondensator mellan plus och minus för att jämna ut spänningen?
 

JonasS

HBK Medlem
Inlägg
1,461
Kommun
Växjö
HBK-Nr
9235
Testat flera sätt hur man kan undgå störningarna och gjorde det som fungerade, att dra nya elkablar från elcentralen.
Men frågan kvarstår om det skulle hjälpa med en kondensator?

Provade gasspisen och med stängda luckor och fönster så steg CO2-halten snabbt men avbröt vid 3000ppm. Ska bli intressant att se om ventilationen räcker till när bilen används.

Vågen fungerar sisådär, svajar mellan 3 och 4 kg gas. Tror det beror på temperaturen??
 

Knut

HBK Webb
Admin medlem
Inlägg
17,936
Kommun
Australien
HBK-Nr
994
Hvor mange veieceller har du i vågen? Noe annet er bevegelser, bruker en kjøkenvekt ute og et vindpust får vekten til å svinge 10 gram :D
 

skalman52

HBK Medlem
Inlägg
501
Kommun
Täby
HBK-Nr
25289
Mera kring ämnet mätningar och nu nivågivare från CBE.

Mitt "elektroblock" är från CBE och nivågivarna till vattentankarna (färsk + grå) också från CBE (förstås). Nu har jag undersökt om jag skulle kunna komma åt nivåsignalen från givarna. Givarna är kapacitiva i form av två metallpinnar som sticker ner i tanken.

Det visar sig att centralenheten ("elektroblocket") aktiverar givarna 2 sekunder var 16:e sekund genom att lägga ut 5V på dom. Nivåsignalen är en signal mellan 0 - 2.5 V (0 - 100% fylld tank) som är aktiv under de två sekundrarna.

Det sitter alltså en signalomvandlare i själva givaren som tar hand om den kapacitiva mätningen och omvandlar den till en volt-signal och det är ju bra.

Jag ersatte centralenhetens pulsade 5V till givaren med en konstant 5V-matning och hoppades då få ett mätvärde som inte var "pulsat". Tji fick jag. Mätvärdet åker fortfarande upp och ner med 16 sekunders intervall. Om jag kopplar bort centralenheten helt, så får man en mätsignal som inte är "pulsad" utan ligger stadigt på ett värde som stämmer med vätskenivån. Centralenhetens mätning av givarens utsignal gör alltså att denna åker upp och ner. Jag vill inte koppla bort centralenhetens mätning helt eftersom jag vill kunna behålla %-indikeringen på manöverpanelen. Jag vill ju helst bara "tjuvlyssna". Varför man pulsar mätningen kan man ju undra? Givaren drar inte mer än ca 2.75mA.

Har någon en bra idé om vad som händer?
Varför, och hur, nästan "nollar" (liten restspänning finns, ca 30mV) centralenheten mätsignalen 14 av de 16 sekunderna? Funderar på en buffertförstärkare som "isolerar" givaren från centralenheten men den måste i så fall tåla cetralenhetens "nollning".

Naturligtvis kan jag nöja mig med manöverpanelens %-indikering av vattenmängd men nog hade det varit roligt att kunna få till en mätning kalibrerad i liter. Likaså år det ju en rolig utmaning att få till det hela. :)

MVH
Hans
 

Knut

HBK Webb
Admin medlem
Inlägg
17,936
Kommun
Australien
HBK-Nr
994
Om du ignorer alle 0 målingene og lar CBE stå for strømforsyningen til probene så blir resultatet rett. En kul oppservasjon jeg gjorde med denne måleren var at om jeg slo på uv lampen i tanken så pendlet resultatet villt grunnet ioniseringen.
 

Ch & Ib

HBK Medlem
Inlägg
444
Kommun
Vara
HBK-Nr
13303
Naturligtvis kan jag nöja mig med manöverpanelens %-indikering av vattenmängd men nog hade det varit roligt att kunna få till en mätning kalibrerad i liter. Likaså år det ju en rolig utmaning att få till det hela. :)
Varför inte låta RPI:n räkna ut det.
Gör ett phyton-script som kollar längden på den buffrade pulsen, är den över t.ex 1500ms, använda det värdet till nästa buffring/mätning, annars använd föregående mätning.
Då spelar pendlingen ingen roll. Då slipper du hårdvarubyggandet för denna sak. För jag antar att det är RPI:n du mäter med på detta med?
 

skalman52

HBK Medlem
Inlägg
501
Kommun
Täby
HBK-Nr
25289
Varför inte låta RPI:n räkna ut det.
Gör ett phyton-script som kollar längden på den buffrade pulsen, är den över t.ex 1500ms, använda det värdet till nästa buffring/mätning, annars använd föregående mätning.
Då spelar pendlingen ingen roll. Då slipper du hårdvarubyggandet för denna sak. För jag antar att det är RPI:n du mäter med på detta med?
Jag tänkte använda en AD-omvandlare för att mäta nivån på pulsen från givaren i vattentanken. Problemet är att AD-omvandlaren inte har ingång för extern trig. I så fall hade det ju varit enkelt.

Men jag tror jag har en lösning som jag skall prova de närmaste dagarna. Visserligen innebär det litet enkel anpassningselektronik (LM358) men eftersom jag ändå behöver ett litet kort för kablageringen så gör det inget. Jag vill ju också ha en lösning som jag kan koppla ur och återgå till originalet den dagen jag ev. gör mig av med bilen. Framtida ägare skall inte tvingas leva med mina "specialare" :)

MVH
Hans
 

Ch & Ib

HBK Medlem
Inlägg
444
Kommun
Vara
HBK-Nr
13303
Jag tänkte använda en AD-omvandlare för att mäta nivån på pulsen från givaren i vattentanken. Problemet är att AD-omvandlaren inte har ingång för extern trig. I så fall hade det ju varit enkelt.
Jag förstår ändå inte varför du inte bara lägger signalen på en ingång, och låter RPI räkna upp pulserna. Det känns som en hårdvarufix för ett programmeringsärende?
 

skalman52

HBK Medlem
Inlägg
501
Kommun
Täby
HBK-Nr
25289
Jag förstår ändå inte varför du inte bara lägger signalen på en ingång, och låter RPI räkna upp pulserna. Det känns som en hårdvarufix för ett programmeringsärende?
Någon, eller båda, av oss missförstår nog varandra.

När CBE-enheten aktiverar givaren så måste man mäta amplituden (0 - 2.5 volt beroende på vätskehöjd) på givarens signal inom de 2 sekunder som det hela är aktivt. Det är alltså inte fråga om att mäta antal pulser eller pulslängd. Visst kunde jag lägga in pulsen som en trig till RPI för att få den att mäta signalens amplitud via en AD-omvandlare. Men målet nu är att få givaren att ge en signal hela tiden så jag slipper synka RPI med elektroblockets avläsningar av givaren.

MVH
Hans
 

Ch & Ib

HBK Medlem
Inlägg
444
Kommun
Vara
HBK-Nr
13303
aktivt. Det är alltså inte fråga om att mäta antal pulser eller pulslängd. Visst kunde jag lägga in pulsen som en trig till RPI för att få den att mäta signalens amplitud via en AD-omvandlare
Ahh, my bad. Jag förutsatte att RPI hade analoga ingångar. Jag använder nästan uteslutande Arduino, och där finns alla

Jo, en AD-omvandlare som du säger är ju helt rätt då, men sen skulle du kunna scripta fram funktionen att mäta allt inom 2000ms om nästa svep inte kommer förrän om 14000ms igen?
 

skalman52

HBK Medlem
Inlägg
501
Kommun
Täby
HBK-Nr
25289
Ahh, my bad. Jag förutsatte att RPI hade analoga ingångar. Jag använder nästan uteslutande Arduino, och där finns alla

Jo, en AD-omvandlare som du säger är ju helt rätt då, men sen skulle du kunna scripta fram funktionen att mäta allt inom 2000ms om nästa svep inte kommer förrän om 14000ms igen?
Nix inga analoga ingångar på en RPI (vad jag har sett), Bara GPIO med UART, SPI, I2C m.m.. Bara digitalt.

Jo, det är en möjlighet att göra som du säger. Just nu känns det enklast att isolera CBE centralenheten från min egen avläsning med en op-förstärkare för då kan jag mäta när jag vill, eftersom jag har tillgång till nivåsignalen hela tiden. All annan mätning går på tid, en gång i minuten för närvarande, så då kan jag få in nivåmätningen i samma mätcykel och slipper skapa ytterligare processtrådar för att hantera nivåmätningen. Har gjort bänktest idag och det verkar lovande. Skarpt test i morgon.

MVH
Hans
 
Toppen