Detektion av nätspänning med arduino
Detektion av nätspänning med arduino
Hej alla hjältar!
För tillfälet har jag fastnat på hur man kan detektera 220V AC (nätspänningen) med hjälp av en arduino på ett bra (och gärna ett relativt billigt) sätt. Jag ser följande alternativ:
1. Spänningsdelare med hjälp av motstånd
2. Spänningsdelare med hjälp av kondensatorer
3. Ett relä (med 220V AC spole)
4. Mini nätaggregat (t.ex. en Hi link mini psu)
Min uppfattning är att alternativ 1 & 2 är riskabla då mikrokontrollern inte är isolerad från nätspänningen. Jag har inte hittat ett billigt alternativ 3 (under 100 kr) och alternativ 4 har jag inte sett någon annan testa. Jag är tacksam för tips och andra alternativa vägar. Så länge svarstiden är under en sekund och sensorn eller komponenten går att montera på ett PCB kort så bör det hela bli bra. Input på för/nackdelar med alternativ 4 uppskattas också!
För tillfälet har jag fastnat på hur man kan detektera 220V AC (nätspänningen) med hjälp av en arduino på ett bra (och gärna ett relativt billigt) sätt. Jag ser följande alternativ:
1. Spänningsdelare med hjälp av motstånd
2. Spänningsdelare med hjälp av kondensatorer
3. Ett relä (med 220V AC spole)
4. Mini nätaggregat (t.ex. en Hi link mini psu)
Min uppfattning är att alternativ 1 & 2 är riskabla då mikrokontrollern inte är isolerad från nätspänningen. Jag har inte hittat ett billigt alternativ 3 (under 100 kr) och alternativ 4 har jag inte sett någon annan testa. Jag är tacksam för tips och andra alternativa vägar. Så länge svarstiden är under en sekund och sensorn eller komponenten går att montera på ett PCB kort så bör det hela bli bra. Input på för/nackdelar med alternativ 4 uppskattas också!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Detektion av nätspänning med arduino
en spänningdelare med både kondensator och motstånd som driver en optokopplare som du kan känna av bör funka bra
bara motstånd ger en del värme
bara konding ger för höga strömmar vid störningar
välkommen med
bara motstånd ger en del värme
bara konding ger för höga strömmar vid störningar
välkommen med
Re: Detektion av nätspänning med arduino
Hi-Link nätaggregat för $1.4 från Aliexpress är förmodligen en förfalskning. Nätanslutna komponenter köper man helst från kända distributörer som Digikey, TME, ELFA, Electrokit etc.
Vad som är smidigaste lösningen kan ju också bero på hur du ska spänningsförsörja Arduinon och vad den ska kommunicera med.
Är den batteridriven kan man ju använda samma nätaggregat för att detektera nätspänning och ladda batteriet exempelvis.
Annars är relä alltid en väldigt säker och pålitlig lösning med stor isolation, inte mycket som kan gå fel där om man köper ett plintrelä till exempel.
Reläer från 24 kronor hos TME.
RS-online har också en hel del reläer från 21 kronor.
För kretskortsmontering hade jag nog valt dom från TE.
Vad som är smidigaste lösningen kan ju också bero på hur du ska spänningsförsörja Arduinon och vad den ska kommunicera med.
Är den batteridriven kan man ju använda samma nätaggregat för att detektera nätspänning och ladda batteriet exempelvis.
Annars är relä alltid en väldigt säker och pålitlig lösning med stor isolation, inte mycket som kan gå fel där om man köper ett plintrelä till exempel.
Reläer från 24 kronor hos TME.
RS-online har också en hel del reläer från 21 kronor.
För kretskortsmontering hade jag nog valt dom från TE.
Re: Detektion av nätspänning med arduino
Relä ger bra isolering - men det gör en optokopplare också. Jag har gjort så (kommerciellt produkt) att ett motstånd i serie med en diod (t.ex. 1N4003) driver optokopplaren.
På lågspänningssidan ville jag gärna ha en konstant signal så jag monterade en konding över utgången.
Men hemligheten i det hela var att köra med små strömmar! Motståndet på 230V sidan var på 330k.
Det ger en medelström på 0,35mA vilket ger en effekt avsatt i motståndet på 80mW.
Då optokopplaren hade en CTR på minst 50% fick pull-up strömmen vara runt 0,1mA och kondingen blev beräknat efter detta. Resultatet blev matat in i en CMOS 40106 (inverter schmittrigger) för att få tydliga o klara signaler men det kan göras på andra sätt också.
På lågspänningssidan ville jag gärna ha en konstant signal så jag monterade en konding över utgången.
Men hemligheten i det hela var att köra med små strömmar! Motståndet på 230V sidan var på 330k.
Det ger en medelström på 0,35mA vilket ger en effekt avsatt i motståndet på 80mW.
Då optokopplaren hade en CTR på minst 50% fick pull-up strömmen vara runt 0,1mA och kondingen blev beräknat efter detta. Resultatet blev matat in i en CMOS 40106 (inverter schmittrigger) för att få tydliga o klara signaler men det kan göras på andra sätt också.
Re: Detektion av nätspänning med arduino
Om du kan tänka dig att känna av ström istället för spänning kan du köpa en billig jordfelsbrytare och modda den till extern matningsspänning och plocka ut signalen från det lilla kretskortet. Då slipper du helt jobba med 230V. Det enda blir just ena 230V sladden som (isolerad) går igenom strömtransformatorn.
(Nominella matningsspänningen höjdes till 230V för 32 år sedan)
(Nominella matningsspänningen höjdes till 230V för 32 år sedan)
Re: Detektion av nätspänning med arduino
Stort tack för alla svar!
Jag kanske kan passa på och berätta vad jag fipplar med. Tanken är att med en arduino och en PIR sensor styra min garageport (rörelse innifrån). Om någon är närvarande så ska detta signaleras till arduinon från PIR sensorn (230V AC). Jag vet att det finns små PIR sensorer man kan koppla till arduinon (5V) men jag föredrar att ha en från t.ex. biltema som man kan montera direkt. Det är därför jag behöver känna av en AC spänning. Baserat på tid, status, server info, etc så ska arduinon bestämma om rörelsen ska öppna porten eller ej.
@mrfrenzy, tack för förslagen. Jag har valt ut denna TE 35 kr. Hoppas den duger. Blev dock även intresserad av optokopplare. Är däremot osäker på vilket typ av motstånd man ska använda på 230 linan (metalfilm, kol ...). Ser även ut som att man behöver lite omkringliggande passiva komponenter mot arduinon (lågpassfilter) för att inte störas av "zero crossing". Lat som jag är hade jag önskat ett komplett chip som man direkt kan koppla mellan TTL och 230 linan (med motstånd såklart).
Har även bytt ut strömförsörjningen till arduinon (bort med Hi link SMPS) mot en från RS online: RS PRO 5V 10W.
Blev lite skrämd av kina kopior nu när det så smart påpekats (mest för brandrisk). Är det någon som använt sig av RS PRO SMPS produkter (kvalite på dessa)? Arduinon kommer ju hålla igång dag som natt, sommar som vinter. Hittade ej i databladet vad livslängden är på dessa heller....
Jag kanske kan passa på och berätta vad jag fipplar med. Tanken är att med en arduino och en PIR sensor styra min garageport (rörelse innifrån). Om någon är närvarande så ska detta signaleras till arduinon från PIR sensorn (230V AC). Jag vet att det finns små PIR sensorer man kan koppla till arduinon (5V) men jag föredrar att ha en från t.ex. biltema som man kan montera direkt. Det är därför jag behöver känna av en AC spänning. Baserat på tid, status, server info, etc så ska arduinon bestämma om rörelsen ska öppna porten eller ej.
@mrfrenzy, tack för förslagen. Jag har valt ut denna TE 35 kr. Hoppas den duger. Blev dock även intresserad av optokopplare. Är däremot osäker på vilket typ av motstånd man ska använda på 230 linan (metalfilm, kol ...). Ser även ut som att man behöver lite omkringliggande passiva komponenter mot arduinon (lågpassfilter) för att inte störas av "zero crossing". Lat som jag är hade jag önskat ett komplett chip som man direkt kan koppla mellan TTL och 230 linan (med motstånd såklart).
Har även bytt ut strömförsörjningen till arduinon (bort med Hi link SMPS) mot en från RS online: RS PRO 5V 10W.
Blev lite skrämd av kina kopior nu när det så smart påpekats (mest för brandrisk). Är det någon som använt sig av RS PRO SMPS produkter (kvalite på dessa)? Arduinon kommer ju hålla igång dag som natt, sommar som vinter. Hittade ej i databladet vad livslängden är på dessa heller....
Re: Detektion av nätspänning med arduino
Det reläet kommer fungera utmärkt.
En annan kanske enklare lösning hade varit att använda en rörelsevakt för larm: https://www.laskompaniet.se/product/blu ... g2-pet-pir
Dom kan drivas på 9-15VDC och har ett relä inbyggt. Då hade du kunnat driva hela lådan med en 12V väggvårta och ha en omvandlare från 12V-5V för din Arduino. Förresten finns ofta en 12V eller 24V utgång från garageporten just för att mata fotoceller och liknande.
Glöm inte fotocell om du ska ha automatisk stängning av garageporten! Det är ett krav så ingen kommer i kläm, varken barn eller fordon.
RS Pro är deras eget märke, tillverkas säkert i Kina men design och kvalitetskontroll, CE-märkning etc. sker i Europa. Jag har köpt en hel del produkter därifrån.
En annan kanske enklare lösning hade varit att använda en rörelsevakt för larm: https://www.laskompaniet.se/product/blu ... g2-pet-pir
Dom kan drivas på 9-15VDC och har ett relä inbyggt. Då hade du kunnat driva hela lådan med en 12V väggvårta och ha en omvandlare från 12V-5V för din Arduino. Förresten finns ofta en 12V eller 24V utgång från garageporten just för att mata fotoceller och liknande.
Glöm inte fotocell om du ska ha automatisk stängning av garageporten! Det är ett krav så ingen kommer i kläm, varken barn eller fordon.
RS Pro är deras eget märke, tillverkas säkert i Kina men design och kvalitetskontroll, CE-märkning etc. sker i Europa. Jag har köpt en hel del produkter därifrån.
Re: Detektion av nätspänning med arduino
Väldigt bra AC/DC converter du hittat!
Inbyggt likriktning och glättning. UL recognized också, mycket bra. Verkningsgraden var inte så bra, men det spelar inte så stor roll när det är så låg effekt. Det är ju lite trade-off på storlek och pris. Och priset var ju väldigt bra det med. Köp till alla skyddskomponenter också, eftersom nätspänningen inte alltid är en fin sinusvåg.
Inbyggt likriktning och glättning. UL recognized också, mycket bra. Verkningsgraden var inte så bra, men det spelar inte så stor roll när det är så låg effekt. Det är ju lite trade-off på storlek och pris. Och priset var ju väldigt bra det med. Köp till alla skyddskomponenter också, eftersom nätspänningen inte alltid är en fin sinusvåg.
Re: Detektion av nätspänning med arduino
En annan vild ide är att om du kör ett Zigbee nätverk, ha zigbee lampor som tänds/släcks av PIR sensorn, och då generera ett event i ditt zigbee att lampan tänds/släcks. Detta event kan du sen ha regler för i ditt home automation system som öppnar / stänger garageporten.
Re: Detektion av nätspänning med arduino
Zigbee och andra färdiga systen har jag tänkt på men jag föredrar att ha full kontroll (på C/C++ nivå) över processorn som styr allt. Sen är jag en mjukvarunörd i grunden och vill vässa till mina hårdvarukunskaper (också varför jag uppfinner hjulet på nytt). Jag är bara lite orolig över att vissa komponenter kan alstra för mycket värme, speciellt över lång tid. Min uppfattning är att SMPS AC/DC inte alstrar värme vid låga effektuttag (jag kommer förmodligen behöva 10 % av den ström som den kan mata ut maximalt). Om det är någon som kan dessa komponenter, så är jag tacksam för att få bekräftelse på det. Jag tänker mest att den energi som man inte använder, inte ska omvandlas till värme i själva AC/DC komponenten. Har även letat efter sockets till dessa (så man kan byta ut dem varje år) utan resultat..
Re: Detektion av nätspänning med arduino
Sätt dit alla rekommenderade skyddskomponenter så kommer den säkerligen hålla länge. Den har en MTBF på 300,000h alltså 34år vid 25 grader. Socklar tycker jag inte du ska använda. Vid 10% last har du bara 55% verkningsgrad enligt grafen. Det blir inte så varmt ändå, eftersom du tar ut så lite.
Vidare, vidtag alla krav på elsäkerhet som behövs för produkten. Isolationavstånd, böj/dragskydd, safeguards m.m. Vill du nörda in dig på det så Googla upp 62368-1. Den är faktiskt hyfsat lättläst jämfört med sin föregångare.
Vidare, vidtag alla krav på elsäkerhet som behövs för produkten. Isolationavstånd, böj/dragskydd, safeguards m.m. Vill du nörda in dig på det så Googla upp 62368-1. Den är faktiskt hyfsat lättläst jämfört med sin föregångare.
Re: Detektion av nätspänning med arduino
Tack för förtydligandet. 34 år är tillräckligt för mig =D. Jag blev dock lite misstänksam mot att använda ett relä för att känna av nätspänningen, speciellt för att jag tänkt använda flera reläer mot flera IR detektorer. Kommer inte dessa reläer att skapa en hel del (EMC?) störningar eftersom spolen är direkt kopplad mot 230V AC? Jag tänker främst för arduinon men även annan elektronik utanför. Jag har därför börjat fundera över lösningen med optokopplare igen och har lyckats nörda till mig följande ritning.
@Grym, du nämnde att man kan kombinera resistorer och kondensatorer för att minska strömmen på insidan. Hur ska dessa kondensatorer kopplas i så fall?
Optokopplare jag hittat: SFH628A-3
tackar för all input!
Är ej helt säker på om optokopplaren jag valt är optimal till mitt ändamål (finns ju en uppsjö av typer). Med 200k resistans på insidan bör jag ligga precis över 1 mA (230/200 000) genom dioden. Har separerat resistorerna för att dela på eventuell värme som kan skapas. Sen har jag lagt till en kondensator på utsidan med 100 k resistor för att ta bort "zero crossing".@Grym, du nämnde att man kan kombinera resistorer och kondensatorer för att minska strömmen på insidan. Hur ska dessa kondensatorer kopplas i så fall?
Optokopplare jag hittat: SFH628A-3
tackar för all input!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Detektion av nätspänning med arduino
en kondensator och ett motstånd i serie
mellan tummen och pekfingret 2/3 av spänningen över kondensatorn
kanske 22nF
sätt gärna en liten kondensator tvärs över optokopplaren med för att minska strömspikar
mellan tummen och pekfingret 2/3 av spänningen över kondensatorn
kanske 22nF
sätt gärna en liten kondensator tvärs över optokopplaren med för att minska strömspikar
Re: Detektion av nätspänning med arduino
Att tänka på är att nätspänningen inte alltid är 230VAC. Enligt SS-EN50160 förekommer nätfrekventa överspänningar upp till 1,5kV och transienta överspänningar upp till 6kVpk (vid fel undantagsvis högre). Det måste du hantera både funktionsmässigt och elsäkerhetsmässigt. Krypavstånd 5mm och luftavstånd 4mm gäller om du kan hålla den dammskyddad (motsv inomhusmiljö). Oklart om garage räknas som det. I annat fall blir det längre avstånd. Fler krav finns.
Kan du inte bara "hacka" din biltemadetektor och mata in 5V, så slipper du externa reläer och 230VAC överhuvudtaget?
I manualen för Biltemas 46-207 står det "Rörelsevakten ska inkopplas av behörig elektriker. ". Kör du med 5V slipper du bryta mot lagen också.
Kan du inte bara "hacka" din biltemadetektor och mata in 5V, så slipper du externa reläer och 230VAC överhuvudtaget?
I manualen för Biltemas 46-207 står det "Rörelsevakten ska inkopplas av behörig elektriker. ". Kör du med 5V slipper du bryta mot lagen också.
Re: Detektion av nätspänning med arduino
Uppdatering,
Buttheads skrämseltaktik fungerade. Jag har hoppat tillbaka till reläer =D. Men jag vill fortfarande göra ett ordentligt jobb utan några specialhack (mest även för att lära mig själv). Hackade mina hörlurar, kopplade till mobilen och kunde se störningarna runt ett "230V Coil" relä. 50 HZ komponenten ökade från -79db till -69 db när den var påslagen. på 10 cm avstånd minskade 50 HZ komponenten från -79 db till -102db. Sen är det relativt enkelt att skärma av adruinon. Jag ser därför inte störningar som ett problem längre (än så länge i alla fall).
Buttheads skrämseltaktik fungerade. Jag har hoppat tillbaka till reläer =D. Men jag vill fortfarande göra ett ordentligt jobb utan några specialhack (mest även för att lära mig själv). Hackade mina hörlurar, kopplade till mobilen och kunde se störningarna runt ett "230V Coil" relä. 50 HZ komponenten ökade från -79db till -69 db när den var påslagen. på 10 cm avstånd minskade 50 HZ komponenten från -79 db till -102db. Sen är det relativt enkelt att skärma av adruinon. Jag ser därför inte störningar som ett problem längre (än så länge i alla fall).
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.