Zero-cross detection
-
- Inlägg: 18
- Blev medlem: 11 april 2011, 16:40:29
Zero-cross detection
Jag skulle behöva tips och ideér för en enkel och billig zero-detection till ett projekt jag håller på med. Den behöver kopplas till 240VAC och bör vara galvanisikt isolerad så jag inte riskerar bränna MCU:en som den ska kopplas till. Det mest uppenbara är en optokopplare med lysdioden kopplad till 240VAC med motstånd och eventuellt zenerdiod eller liknande för att begränsa spänning/ström. Vad skulle ni rekommendera för koppling?
En annan idé jag fick var att tillverka en ad-hoc transformator genom att vira en av 240VAC-ledningarna runt en sladd eller kanske t.o.m. trä 240VAC ledaren genom hål i kretkortet runt en kopparbana. Någon som gjort något liknande och fått det att fungera?
/ Andreas
En annan idé jag fick var att tillverka en ad-hoc transformator genom att vira en av 240VAC-ledningarna runt en sladd eller kanske t.o.m. trä 240VAC ledaren genom hål i kretkortet runt en kopparbana. Någon som gjort något liknande och fått det att fungera?
/ Andreas
Re: Zero-cross detection
Jag har i tidigare projekt kopplat en 150k motstånd till AC1, andra ändan går till optokopplarens LED's katod. Anoden går till katoden på en diod och anoden på dioden går till AC2.
Detta ger en sluttning vid ~nollgenomgång och en brytning vid nästa.
Detta ger en sluttning vid ~nollgenomgång och en brytning vid nästa.
Re: Zero-cross detection
Alla sätt bör fungera, sannolikt behövs det nog lite labbning med transformatorkopplet.
En annan variant istället för motstånd är ju en kapacitiv spänningsdelare, och en optokopplare med två motkopplade dioder, så den klarar växel, alternativt en brygga, enkel optokopplare och en konstantströmsdiod.
En hallgivare bör ju kunna detektera nollgenomgången också.
En fråga, vad driver du uC-på via trafo?, isåfall bör du väll kunna plocka nollgenomgången därifrån.
En annan variant istället för motstånd är ju en kapacitiv spänningsdelare, och en optokopplare med två motkopplade dioder, så den klarar växel, alternativt en brygga, enkel optokopplare och en konstantströmsdiod.
En hallgivare bör ju kunna detektera nollgenomgången också.
En fråga, vad driver du uC-på via trafo?, isåfall bör du väll kunna plocka nollgenomgången därifrån.
-
- Inlägg: 18
- Blev medlem: 11 april 2011, 16:40:29
Re: Zero-cross detection
Det jag är osäker på med optokopplare är hur exakt detekteringen kommer att vara. Om man kopplar in ett motstånd så att den får max ström när spänningen är 240V så kommer det bli ett glapp runt noll-genomgången där den inte får tillräckligt mycket ström för att leda. Det går så klart att räkna ut exakt hur stort detta glapp är och kompensera i mjukvaran, men det vore smidigare om man får puls precis vid genomgången. Har jag en mer eller mindre exakt detektering av genomgången på ena hållet är det däremot enkelt att räkna ut andra genomgången så en AC-optokopplare är inte nödvändig.TomasL skrev:Alla sätt bör fungera, sannolikt behövs det nog lite labbning med transformatorkopplet.
En annan variant istället för motstånd är ju en kapacitiv spänningsdelare, och en optokopplare med två motkopplade dioder, så den klarar växel, alternativt en brygga, enkel optokopplare och en konstantströmsdiod.
En hallgivare bör ju kunna detektera nollgenomgången också.
En fråga, vad driver du uC-på via trafo?, isåfall bör du väll kunna plocka nollgenomgången därifrån.
Hallgivaren är definitivt en intressant idé, men det kommer väl innebära en fasvridning på 90 grader. Och för att få den mer exakt än optokopplare skulle man behöva detektera mycket låga signalnivåer vilket innebär att man behöver koppla den till ADC:n på MCU:n vilket kräver mer jobb. Fasvridningen går så klart att kompensera för i mjukvara, men då kan jag lika gärna göra det med optokopplare. Optokopplare är dessutom billigare.
Att använda nätdelens trafo var min första idé, men sen insåg jag att det är många gånger billigare att köpa en USB-laddare, plocka ur kretskortet och använda den istället för att köpa en mini-trafo och göra min egna nätdel. Dessutom har jag ett antal gamla mobil-laddare liggande så då blir det helt plötsligt gratis.

Re: Zero-cross detection
> Det jag är osäker på med optokopplare är hur exakt detekteringen kommer att vara.
Just nu finns det ju inga som helst redovisade krav på det, så jag
ser det inte som något problem alls. Har du krav på det så får
du ju redovisa det *innan* du frågar om lösningar.
> ...om man får puls precis vid genomgången.
"Precis" är ett komplett värdelöst mått vid specificering.
Exakt vad menar du med "precis" ??
> Har jag en mer eller mindre exakt detektering av genomgången
Här gör du samma fel.
Vad menar du med "mer eller mindre exakt" lite mer specifikt ?
Just nu finns det ju inga som helst redovisade krav på det, så jag
ser det inte som något problem alls. Har du krav på det så får
du ju redovisa det *innan* du frågar om lösningar.
> ...om man får puls precis vid genomgången.
"Precis" är ett komplett värdelöst mått vid specificering.
Exakt vad menar du med "precis" ??
> Har jag en mer eller mindre exakt detektering av genomgången
Här gör du samma fel.
Vad menar du med "mer eller mindre exakt" lite mer specifikt ?
Re: Zero-cross detection
På min hemsida, under "Freebies", finns det en flispanna-styrning. Den innehåller en nollgenomgångsdetektering som i sin tur ser till att PIC'en kan dtyra fläkthastigheten.
En puls >precis< i nollgenomgången är svårt, pulsen ska ju ha en bredd varför den kan börja i noll och släpa efter eller vara symmetrisk över noll eller börja innan och släppa vid noll. Ska pulsen komma >precis< i nollgenomgången kommer den att vara otroligt kort, så kort att den de-facto inte finns.
Ordet "precis" är faktisk en mycket dålig måttstock och ett mycket otydligt krav.
Sedan kommer alla störningarna in. Det finns övertoner, asymmetriska halvvågor och allt, vad är då den exakta definition av nollgenomgång?
En puls >precis< i nollgenomgången är svårt, pulsen ska ju ha en bredd varför den kan börja i noll och släpa efter eller vara symmetrisk över noll eller börja innan och släppa vid noll. Ska pulsen komma >precis< i nollgenomgången kommer den att vara otroligt kort, så kort att den de-facto inte finns.
Ordet "precis" är faktisk en mycket dålig måttstock och ett mycket otydligt krav.
Sedan kommer alla störningarna in. Det finns övertoner, asymmetriska halvvågor och allt, vad är då den exakta definition av nollgenomgång?
-
- Inlägg: 18
- Blev medlem: 11 april 2011, 16:40:29
Re: Zero-cross detection
Jag är medveten om att mina formuleringar är vaga vilket beror på att jag är själv osäker på vilka krav som egntligen behövs. Det är därför som jag ställde min fråga här. Det finns tveklöst många här med mycket erfarenhet i ämnet och jag är nyfiken på vad de har för idéer och tips.
För att förtydliga lite: det jag ska göra är att dimma vanliga 230V-lampor mha en AVR-MCU och några triacer. Jag inser att detekteringen egentligen inte behöver vara särskilt exakt för detta, men om det finns bättre och sämre metoder så vill jag så klart göra det så bra som möjligt så länge det är rimligt i fråga om komplexitet och kostnad.
För att förtydliga lite: det jag ska göra är att dimma vanliga 230V-lampor mha en AVR-MCU och några triacer. Jag inser att detekteringen egentligen inte behöver vara särskilt exakt för detta, men om det finns bättre och sämre metoder så vill jag så klart göra det så bra som möjligt så länge det är rimligt i fråga om komplexitet och kostnad.
Re: Zero-cross detection
OK.
Det är ju en rellativt standardmässig applikation.
Jag har för mig att jag har trillat över många olika lösningar
på just det (att få en zero-crossing signal till en AVR/PIC).
Det är ju också så att nära nollgenomgången är den kvarvarande
effekten så liten i alla fall så någon styrning där är knappast intressant.
OK, "nära" är inte heller något bra begrepp...
Men rellativt sett, mot bakgrund av den aktuella applikationen, o.s.v.
Men poängen är att de vanliga metoderna sannolkt är tillräckligt bra för det
aktuella behovet. Och det är ju bara det som det hela gäller, till slut...
Det är ju en rellativt standardmässig applikation.
Jag har för mig att jag har trillat över många olika lösningar
på just det (att få en zero-crossing signal till en AVR/PIC).
Det är ju också så att nära nollgenomgången är den kvarvarande
effekten så liten i alla fall så någon styrning där är knappast intressant.
OK, "nära" är inte heller något bra begrepp...

Men rellativt sett, mot bakgrund av den aktuella applikationen, o.s.v.
Men poängen är att de vanliga metoderna sannolkt är tillräckligt bra för det
aktuella behovet. Och det är ju bara det som det hela gäller, till slut...
-
- Inlägg: 18
- Blev medlem: 11 april 2011, 16:40:29
Re: Zero-cross detection
Du har helt rätt. Om det varit ett problem så borde mina sökningar på Google gett mig åtminstone några varianter som kompenserar för det lilla glappet, men det har jag inte gjort så det får bli en optokopplare och ett motstånd. Skulle det trots allt visa sig att det inte funkar optimalt (om jag väljer en icke passande optokopplare t.ex.) så går det att kompensera för det i mjukvaran trots allt. Det borde väl fungera med i stort sett vilken optokopplare som helst, fast ju högre transfer ratio desto mindre glapp, eller tänker jag fel?
Re: Zero-cross detection
TDA1023 är en komplett IC som drivs från 240V och som kan kopplas att
ge pulser ut vid varje nollgenomgång. Pulserna kan du koppla till en liten
toroidtrafo och så har du isoleringen fixad.
ge pulser ut vid varje nollgenomgång. Pulserna kan du koppla till en liten
toroidtrafo och så har du isoleringen fixad.
Re: Zero-cross detection
Såg den här pdf:n som visar en applikation med en helt optoisolerad 555:a
Borde gå bra att applicera på en MCU
AN-3006 Fairchild
http://www.fairchildsemi.com/an/AN/AN-3006.pdf
Borde gå bra att applicera på en MCU
AN-3006 Fairchild
http://www.fairchildsemi.com/an/AN/AN-3006.pdf
Re: Zero-cross detection
Det är ju relativt enkelt att skapa en FLANK precis vid nollgenomgången. Plocka in spänningen och förstärk den rejält så får du en fyrkantvåg ut vars flanker ligger väldigt nära nollgenomgången. Flanken i sin tur kan ju trigga en monostabil vippa eller ett puslformande nät av nån form.
Men som sagt var, vill man ha en puls som är centrerad runt nollgenomgången blir det värre.
Men som sagt var, vill man ha en puls som är centrerad runt nollgenomgången blir det värre.
-
- Inlägg: 18
- Blev medlem: 11 april 2011, 16:40:29
Re: Zero-cross detection
Det behöver förvisso inte vara en puls utan det räcker med en flank vid varannan genomgång, t.ex. bara genomgångar från positiv till negativ. Den andra genomgången blir sen lätt att räkna ut.
Det var ett intressant alternativ, men en snabbsökning var inte så uppmuntrande vad gäller tillgänlighet. Elfa har den inte och på ebay kostar den över $40.TDA1023 är en komplett IC som drivs från 240V och som kan kopplas att
ge pulser ut vid varje nollgenomgång. Pulserna kan du koppla till en liten
toroidtrafo och så har du isoleringen fixad.
Tack. Den kopplingen är ungefär likadan som alla andra jag sett med optokopplare. Det lär få bli något liknande den, fast jag hoppar nog över helvågslikriktningen. Dessutom fick jag tips från en webbsida att använda en kondensator istället för resistor för att minska förlusterna.Såg den här pdf:n som visar en applikation med en helt optoisolerad 555:a
Borde gå bra att applicera på en MCU
AN-3006 Fairchild
http://www.fairchildsemi.com/an/AN/AN-3006.pdf
Senast redigerad av brainchild 1 november 2011, 09:20:18, redigerad totalt 1 gång.
Re: Zero-cross detection
> Det borde väl fungera med i stort sett vilken optokopplare som helst,
Fördelen med AC-optokopplare är att du dels får båda genomgångarna, dels
inte behöver förbikoppla den "andra" halvvågen externt. De är avsedda för
just ditt ändamål.
> Den andra genomgången blir sen lätt att räkna ut.
Du slipper alltså just det...
Fördelen med AC-optokopplare är att du dels får båda genomgångarna, dels
inte behöver förbikoppla den "andra" halvvågen externt. De är avsedda för
just ditt ändamål.
> Den andra genomgången blir sen lätt att räkna ut.
Du slipper alltså just det...