Arduino av/på strömadapter beroende på temperatur

Trädvy Permalänk
Medlem
Registrerad
Jun 2004

Arduino av/på strömadapter beroende på temperatur

Hej,

Tänkte dra igång ett arduino projekt nu som ska styra av/på på en strömadapter till min motorvärmare. Den ska vara påslagen x timmar beroende på temperaturen.

Nu har jag ingen erfarenhet av arduino och dess komponenter men för att göra det här möjligt vilka komponenter behöver jag då?

Bättre än din.
Tagga mig för svar i trådar.

Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009

Det är både lätt och svårt att lösa det på samma gång, att göra en termostat är inte så svårt men ska det monteras utomhus måste det fuktskyddas och göras på ett säkert sätt och det kan bli värre att lösa.
Dessutom är jag inte helt säker på att det kommer att fungera bra om det blir kallt, Arduino är väl inte designad för att fungera i kyla, mycket elektronik är köldkänslig för oscillatorerna fungerar inte som de ska och konstruktionen blir ju rätt meningslös om den lägger av för att det blir -15 eller kallare, jag vet inte vad prylarna tål men det är iallafall ett verkligt problem som man måste tänka på om man ska bygga elektronik som ska fungera vid köld.

Annars är det i princip en tempsensor och ett relä som behövs men som sagt måste det kopplas och kapslas så det tål fukt, som minst bör det vara IP65 om det inte ska bli direkt farligt att bygga nått sånt här.

Ryzen 5 2400G, Asus ROG STRIX B350-F Gaming, 500GB Samsung 970EVO NVMe M.2 och en väldig massa masslagring. Seasonic Focus+ Gold 650W, Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, Tittar på en Acer ET430Kbmiippx 43" 4K
Främre ljudkanalerna återges via Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop, mätmikrofon och en Colorimeter.

Trädvy Permalänk
Medlem
Registrerad
Jun 2004

@mrqaffe: Tack för ditt svar, apparaten ska sitta inne i ett halvisolerande garage då skulle väl IP44 duga bra? Har annars analoga timrar som inte är IP-klassade öht men de kanske är tillräckligt förslutna. Sen är det väl temperaturen, även om det inte blir så fuktigt därinne så kan det bli kallt. Vad är den här relän du pratar om? Tempsensor verkar annars komma med i de flesta startupkitten.

Bättre än din.
Tagga mig för svar i trådar.

Trädvy Permalänk
Medlem
Registrerad
Jan 2012

För att bryta upp problemet behöver du:
En arduino som sköter allt
Kunna läsa temperaturen
Kunna sätta igång/stänga av strömmen (relä)
Ev knappar så att du kan styra mellan on/off/auto

För att läsa av temperaturen finns DH11.
För att styra strömmen skulle jag föreslå en NEXA-strömbrytare och sedan en sändare kopplad till Arduinon som styr denna strömbrytare. Detta är lite mer komplicerat än att koppla ett relä direkt på elnätet men utan att vara elektriker är det olämpligt att göra såna kopplingar. Dessa sändare är billiga och sköter kommunikation via 433MHz, finns mycket information på nätet om hur detta görs.

För att testa ditt system vid utveckling av mjukvaran skulle jag koppla in temperatursensor, läsa av värdena och sedan styra en lysdiod som i det fallet indikerar när motorvärmaren är på/av. När allt funkar kan du koppla in fjärrströmbrytaren.

Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009
Skrivet av JohnStokes:

@mrqaffe: Tack för ditt svar, apparaten ska sitta inne i ett halvisolerande garage då skulle väl IP44 duga bra? Har annars analoga timrar som inte är IP-klassade öht men de kanske är tillräckligt förslutna. Sen är det väl temperaturen, även om det inte blir så fuktigt därinne så kan det bli kallt. Vad är den här relän du pratar om? Tempsensor verkar annars komma med i de flesta startupkitten.

Om dina gamla timrar inte är kapslade är de inte godkända för utomhusbruk. Det finns en hel del timrar som inte tål utomhusmiljö och används de ute så är de en säkerhetsfara. Temperaturen kan som sagt påverka funktionen även om det är torrt, elektroniken fungerar helt enkelt inte om den blir för kall och det brukar anges en lägsta temp för garanterad funktion om du köper en färdig utomhustimer och det gäller ju även om du skaffar ett radiostyrt uttag och placerar styrningen varmt och torrt så håll koll på tempgränserna så att prylarna fungerar om det är -20 eller vad som nu är en realistisk mintemp där du bor.

Ryzen 5 2400G, Asus ROG STRIX B350-F Gaming, 500GB Samsung 970EVO NVMe M.2 och en väldig massa masslagring. Seasonic Focus+ Gold 650W, Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, Tittar på en Acer ET430Kbmiippx 43" 4K
Främre ljudkanalerna återges via Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop, mätmikrofon och en Colorimeter.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

Notera att det är skillnad på utvecklingskort för Arduino, t.ex. Arduino UNO, och själva AVR CPUn som egentligen är det enda du behöver.

Vad det gäller AVR CPUerna så har de ett arbetsområde som klassas som "industrial grade" vilket i praktiken betyder att de tål -40°C till 85°C, d.v.s inget problem alls för din applikation. Vill du bara köpa själva CPUn kan du endera göra det Kjell för 30 kr (ATtiny) eller om du verkligen behöver den CPU som sitter i UNO, ATmega328, så finns även den hos Kjell för 50 kr.

Vidare behöver du ett 230 V relä och en temperatursensor av något slag, t.ex. denna relämodul och denna temperatursensor. Köp inte den väldigt populära DHT11 temperatur / relativ fuktighetmätare då den inte fixar minusgrader!

ATtiny85 är nog det bästa valet för dig, men tänk på att du även måste köpa en programmerare för denna krets. Som tur är fungerar Arduino UNO utmärkt som programmerade för ATtiny85, då har du också en bra plattform för utveckling av ditt program. Hur man använder Ardiuno UNO som programmerare för "nakna" AVR CPUer hittar du t.ex. här och specifikt hur man hanterar ATtiny85 hittar du här.

Har själv lekt en del med ATtiny85 så kan gå i god för att det fungerar fint att programmera med Arduino UNO. Har slängt ihop ett "soft-UART" bibliotek till ATtiny85 som fungerar även när man kör kretsen i 1 MHz. Det vanliga "SoftSerial" biblioteket fungerar bara om man kör med 8 MHz (att köra i ATtiny i 8 MHz är helt meningslöst i de flesta fall, 1 MHz drar klart mindre ström och blir mer robust). Hojta om du behöver serieportsstöd för ATtiny, planerar att lägga upp koden på github när jag har tid.

Om du vill komma betydligt billigare undan jämfört med att köpa hos Kjell kan du kolla hos Deal Extreme eller Ali Express, är typiskt en femtedel av priset hos Kjell. Tar dock 2-3 veckor att få prylarna därifrån...

Edit: och naturligtvis behöver du löda lite om du kör med "nakna" AVR-kretsar, det är en annan fördel med att köra ATtiny i stället för ATmega: är bara 8 ben att fippla med i ATtiny (varav 5 är I/O, alla kan användas som digital input/output och upp till tre kan även användas som analog input)

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Registrerad
Jan 2012

@Yoshman: Varför rekommenderar du att löda ihop systemet själv istället för att använda Arduino som säljs som ett färdigt paket? För att inte uppgiften skall bli överväldigande för trådstartaren är det nog viktigt att hålla systemet enkelt och säkert. Bra förslag om temperatursensor det är helt klart DS18B20 som gäller i det här fallet.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av Varsa:

@Yoshman: Varför rekommenderar du att löda ihop systemet själv istället för att använda Arduino som säljs som ett färdigt paket? För att inte uppgiften skall bli överväldigande för trådstartaren är det nog viktigt att hålla systemet enkelt och säkert. Bra förslag om temperatursensor det är helt klart DS18B20 som gäller i det här fallet.

Därför att det inte är säkert att alla övriga komponenter fixar samma temperaturer, är nog osannolikt att så är fallet så risken finns då att något havererar med tiden. Googlar man lite verkar ändå folk kört UNO i minusgrader, så rent empiriskt verkar det fungera.

En stor fördel just med en mikrokontroller typ AVR jämfört med t.ex. RPi3 är att den förra just är designade för industrimiljöer medan RPi3 endast är garanterad att fungera mellan 0-70 °C (och 70°C är nog inte riktigt praktiskt möjligt då CPU-kretsen inte får gå över 85 °C). UNO är ett utvecklingskort, så där finns liksom ingen anledning att designa för extrema temperaturer.

Det sagt: mycket möjligt att både RPi3 och Arduino UNO i praktiken fungerar för det TS vill göra, i alla fall under en tid. Men man kör då systemet utanför specifikationerna under vinterhalvåret, vilket lite var huvudpoängen med denna pryl. Man kan ju skippa lödningen om man vill, köp en liten labbplatta och tryck fast ATtiny, temperatursensor och reläet där. Men se till att säkra reläet så 230 V delen sitter rejält stadigt, man måste ha rejäl respekt för 230 V!

Så här kan ATtiny85 se ut när den är monterad på labbplatta. En del sladdar, men har både kopplat upp en tre färgers lysdiod för att testa ett enkelt program + kopplat upp ATtiny mot Aruino UNO där den senare är programmerare för den förra (så enkelt att utveckla -> ladda upp -> testa).

Skulle däremot säga att just för den här typen av uppgifter är Arduino betydligt enklare (och betydligt billigare) än att göra motsvarande med t.ex. RPi.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Registrerad
Jan 2012

@Yoshman: Som slutprodukt håller jag med dig om lösningen, dock skulle jag rekommendera att hålla det enkelt till en början och lösa ett problem i taget. När allt funkar som det är tänkt kan man fortsätta genom att göra det mer robust. RPi håller jag med om är både svårare, onödigt, dyrt, mindre tillförlitligt och mer temperaturkänsligt.

Som jag ser det har man två vägar att gå,
relä:
+enkelt att programmera
+allting på ett ställe
+driftsäkert
-on/off/auto kan endast ske på plats i garage
-måste koppla 230V (farligt om man inte vet vad man gör)
-behöver låda för att skydda mot omgivning (vatten och petiga fingrar)
-all utrustning behöver klara kyla och ev fukt

fjärrströmbrytare:
+finns färdiga som IP44
+behöver ej koppla 230V
+basenhet (arduino/AVR) kan vara på annan plats alltså i värme
+on/off/auto kan ske hemifrån och via fjärrkontroll
-bökigare att programmera (finns dock guider och paket med skriven kod)
-trådlös kommunikation alltså inte 100% säkert att on/off sker beroende på signalstyrka och störningar

Trädvy Permalänk
Medlem
Registrerad
Jan 2011
Skrivet av JohnStokes:

Hej,

Tänkte dra igång ett arduino projekt nu som ska styra av/på på en strömadapter till min motorvärmare. Den ska vara påslagen x timmar beroende på temperaturen.

Nu har jag ingen erfarenhet av arduino och dess komponenter men för att göra det här möjligt vilka komponenter behöver jag då?

Som andra har sagt så används relä till detta. Dock skulle jag vilja tipsa om att använda en fjärrbrytare och bygga en arduino med en 433mhz sändare istället. Det är samma funktion, men du slipper att fixa med 230v strömmen själv, och ersätter den istället med en färdig designad komponent, vilket är att rekommendera.

Om du får 5 volt i dig från någon USB laddare så lär du inte ens känna det, men om du gör fel med starkström så är det inte så roligt.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

@Varsa: on/off behöver inte alls ske på plats, finns WiFi, bluetooth eller 443 MHz radio att tillgå. En WiFi/Bluetooth kostar runt 100-lappen hos Kjell eller så kan man köpa dessa för 15-20 kr från Deal Extreme / Ali Express. 443 MHz sändare + mottagare finns för 80 kr hos Kjell eller 15 kr hos Deal Extreme / Ali Express.

443 MHz är envägskommunikation, så man kan inte garantera att kommandot gick igenom. Av den orsaken är WiFi är nog att föredra (de vanligaste modulerna är 802.11n på 2.4 GHz), men då kanske man vill köpa på nätet då priset inte blir jättekul annars.

WiFi/Bluetooth behöver två I/O-pinnar, 443 MHz behöver en I/O-pinne. Reläet behöver en I/O-pinne samt temperaturmodulen behöver en I/O-pinne. Så totalt behöver man 4 I/O-pinnar, även med ATtiny finns det möjligheter att t.ex. ha lite extra knappar för extrafunktioner.

Har sett att det finns GSM-moduler för Arduino, men har inte testat dessa själv och de var rätt dyra. Håller på med ett projekt där jag vill styra saker väldigt på avstånd, enklaste varianten jag kom på där var att köpa en USB-dongel för 3G/4G och koppla den till en RPi3. Sedan har jag ATtiny noder i närheten av RPi3 enheten som kommunicerar via WiFi (funktioner jag vill styra) eller 443 MHz radio (noder som rapporterar in saker som t.ex. temperatur eller annat mätvärde men inte styr något). Telefonnumret till SIM-kortet är ju en form av fast adress så använder det för att SMS:a kommandon.

Visst är fjärrströmbrytare enklare, att svänga ihop något med Arduino kräver dock inte mycket mer än grundläggande kunskap i programmering och att man klarar av att Googla + följa skrivna instruktioner. Det senare är därmed främst intressant om man vill göra sakerna själv (och man räknar sin egen tid som gratis) alt. att man har lite mer udda krav.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
Långtbortistan
Registrerad
Mar 2007
Skrivet av Yoshman:

@Varsa: on/off behöver inte alls ske på plats, finns WiFi, bluetooth eller 443 MHz radio att tillgå. En WiFi/Bluetooth kostar runt 100-lappen hos Kjell eller så kan man köpa dessa för 15-20 kr från Deal Extreme / Ali Express. 443 MHz sändare + mottagare finns för 80 kr hos Kjell eller 15 kr hos Deal Extreme / Ali Express.

WiFi/Bluetooth behöver två I/O-pinnar, 443 MHz behöver en I/O-pinne. Reläet behöver en I/O-pinne samt temperaturmodulen behöver en I/O-pinne. Så totalt behöver man 4 I/O-pinnar, även med ATtiny finns det möjligheter att t.ex. ha lite extra knappar för extrafunktioner.

En ESP8266 löser lätt en så enkel uppgift. Förutom den allra minsta modulen har alla minst två IO på pinnar men eftersom all kommunikation är fixad behöver man bara ladda in ett one wire-bibliotek, läsa av en ds18b20 och jämföra med en sättpunkt som avgör om man skall dra reläet eller inte. Lägger man dessutom in en mqtt-tjänst så kan man enkelt starta eller stoppa motorvärmaren utanför schemat.

Nackdelen är att det inte är så lätt att justera sättpunkten eller tiden (i teorin skulle man dock kunna skicka nya värden mha mqtt). Mqtt-brokern kan man köra på en RPi inomhus.

Skickades från m.sweclockers.com

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.

Trädvy Permalänk
Medlem
Registrerad
Jan 2012
Skrivet av Yoshman:

@Varsa: on/off behöver inte alls ske på plats, finns WiFi, bluetooth eller 443 MHz radio att tillgå. En WiFi/Bluetooth kostar runt 100-lappen hos Kjell eller så kan man köpa dessa för 15-20 kr från Deal Extreme / Ali Express. 443 MHz sändare + mottagare finns för 80 kr hos Kjell eller 15 kr hos Deal Extreme / Ali Express.

443 MHz är envägskommunikation, så man kan inte garantera att kommandot gick igenom. Av den orsaken är WiFi är nog att föredra (de vanligaste modulerna är 802.11n på 2.4 GHz), men då kanske man vill köpa på nätet då priset inte blir jättekul annars.

WiFi/Bluetooth behöver två I/O-pinnar, 443 MHz behöver en I/O-pinne. Reläet behöver en I/O-pinne samt temperaturmodulen behöver en I/O-pinne. Så totalt behöver man 4 I/O-pinnar, även med ATtiny finns det möjligheter att t.ex. ha lite extra knappar för extrafunktioner.

Har sett att det finns GSM-moduler för Arduino, men har inte testat dessa själv och de var rätt dyra. Håller på med ett projekt där jag vill styra saker väldigt på avstånd, enklaste varianten jag kom på där var att köpa en USB-dongel för 3G/4G och koppla den till en RPi3. Sedan har jag ATtiny noder i närheten av RPi3 enheten som kommunicerar via WiFi (funktioner jag vill styra) eller 443 MHz radio (noder som rapporterar in saker som t.ex. temperatur eller annat mätvärde men inte styr något). Telefonnumret till SIM-kortet är ju en form av fast adress så använder det för att SMS:a kommandon.

Visst är fjärrströmbrytare enklare, att svänga ihop något med Arduino kräver dock inte mycket mer än grundläggande kunskap i programmering och att man klarar av att Googla + följa skrivna instruktioner. Det senare är därmed främst intressant om man vill göra sakerna själv (och man räknar sin egen tid som gratis) alt. att man har lite mer udda krav.

Nu har trådstartaren fått många alternativ och kan välja hur enkelt eller avancerat som finnes önskvärt.
Självklart kan man styra på avstånd men skapar ett mer komplicerat system och kanske är version 15 och inte något att börja med då trådstartaren inte har någon tidigare erfarenhet av arduino.

Skrivet av zarkov:

En ESP8266 löser lätt en så enkel uppgift. Förutom den allra minsta modulen har alla minst två IO på pinnar men eftersom all kommunikation är fixad behöver man bara ladda in ett one wire-bibliotek, läsa av en ds18b20 och jämföra med en sättpunkt som avgör om man skall dra reläet eller inte. Lägger man dessutom in en mqtt-tjänst så kan man enkelt starta eller stoppa motorvärmaren utanför schemat.

Nackdelen är att det inte är så lätt att justera sättpunkten eller tiden (i teorin skulle man dock kunna skicka nya värden mha mqtt). Mqtt-brokern kan man köra på en RPi inomhus.

Skickades från m.sweclockers.com

Det är helt rätt, men skulle påstå att blanda in MQTT kanske snarare hamnar på version 20.
Fick precis igång MQTT för mitt sensornätverk och kan avläsa 8.8 grader och 57.5% luftfuktighet. Skulle dock inte påstå att MQTT är hur lätt som helst utan kräver lite pyssel. Förövrigt kan jag rekommendera DHT22 som temperatursensor. Den skall även klara minusgrader. Kan vara ett alternativ mot DS18B20 då man även har koll på luftfuktigheten.

Trädvy Permalänk
Medlem
Plats
Långtbortistan
Registrerad
Mar 2007
Skrivet av Varsa:

Det är helt rätt, men skulle påstå att blanda in MQTT kanske snarare hamnar på version 20.
Fick precis igång MQTT för mitt sensornätverk och kan avläsa 8.8 grader och 57.5% luftfuktighet. Skulle dock inte påstå att MQTT är hur lätt som helst utan kräver lite pyssel. Förövrigt kan jag rekommendera DHT22 som temperatursensor. Den skall även klara minusgrader. Kan vara ett alternativ mot DS18B20 då man även har koll på luftfuktigheten.

Varför göra det lätt för sig? Jag har aldrig pysslat med vare sig Arduino eller MQTT men nu sitter jag här med bägge delar

Hittills har jag byggt en liten programmeringsjigg till mina ESP, försökt mig på LUA och slängt det åt skogen för att sedan lyckas med Arduino på första försöket. Nu skickar mina ESP temperaturen som de skall via MQTT, nästa steg blir att sy ihop MQTT med RRD för att lagra och plotta data.

Vad jag skall ha det till? Ingen aning, bara för skojs skull. Tanken är att placera ut 5-6 givare runt om i huset och se hur det mår.

Skickades från m.sweclockers.com

Det finns bara två sorters hårddiskar: de som har gått sönder och de som skall gå sönder.