Forum: Mikrocontroller und Digitale Elektronik Netzspannung abfragen mit Atmel


von Thorsten E. (bluescreen)


Angehängte Dateien:

Lesenswert?

Hallo,

seit längerem schon betreibe ich einen selbstgebauten 8-Kanal-Dimmer auf 
Atmel Basis als Heimautomatisierung. Dieser Dimmer hat auch vier 230V 
Eingänge an die ich über vorhandene 230V Verkabelung angeschlossene 
Lichtschalter abfragen kann.

Leider erkennt der Atmel hin und wieder den Status des Lichtschalters 
nicht und ich habe keinen Schimmer wieso. Das Schalten über den Bus und 
die IR Fernbedienung geht in so einem Fehlerfall weiterhin, die Software 
ist demnach nicht abgestürzt. Auch schaltet das Licht dann Minuten 
später plötzlich doch noch um.

Im Bild sieht man zwei mögliche Schaltungen für solche 230V Eingänge. 
Die untere Schaltung mit dem beiden 27K Widerständen ist derzeit mit 
beschriebenem Fehlerbild im Einsatz. Ich habe das Ganze so aufgebaut, 
daß ich über eine Schalterleitung zwei Schalter anschliessen kann, indem 
ich in die Schalterdose eine Diode je Schalter integriere. Der eine 
Schalter schaltet also die positive Halbwelle, der andere die negative. 
Am anderen Ende sind dann auch zwei antiparallele Optokoppler die dann 
aus jeder Halbwelle ein Signal machen. Die Software "verlängert" dann 
die Signale über eine Netzperiode, also quasi ein in Software gebautes 
retriggerbares Monoflop.

Da ich die Software nun schon zum Erbrechen überprüft habe, vermute ich 
eine unzuverlässige Eingangsschaltung.

Wäre die obere, mit dem Kondensator evtl. sicherer, bzw. funktioniert 
sie überhaupt wenn eine Halbwelle fehlt?

Viele Grüße
Thorsten

von Falk B. (falk)


Lesenswert?

@  Thorsten Erdmann (bluescreen)

>Leider erkennt der Atmel hin und wieder den Status des Lichtschalters
>nicht

Was erkennt er denn an der Stelle? Pull-Ups in der Schaltung/im uC 
aktiv?

>aus jeder Halbwelle ein Signal machen. Die Software "verlängert" dann
>die Signale über eine Netzperiode, also quasi ein in Software gebautes
>retriggerbares Monoflop.

Soll das nur eine Erkennung sein oder ein Nulldurchgangsdetektor? 
Ersteres wäre OK, zweiteres eher suboptimal.

>Wäre die obere, mit dem Kondensator evtl. sicherer, bzw. funktioniert
>sie überhaupt wenn eine Halbwelle fehlt?

Nein.

von spontan (Gast)


Lesenswert?

@Falk Brunner. Auf Alternativ-Fragen mit ja oder nein zu antworten ist 
immer missverständlich.

@Thorsten Erdmann: Die obere Schaltung ist nix. Wenn der Kondensator 
durch die Gleichspannung mal geladen ist, dann fließt kein Strom mehr.

Eine 1N4148 an 230 VAC zu betreiben halt ich für absolut keine gute 
Idee.

von Thorsten E. (bluescreen)


Lesenswert?

> Was erkennt er denn an der Stelle? Pull-Ups in der Schaltung/im uC
> aktiv?
Er erkennt augenscheinlich ein High. Es gibt aber durchaus noch ein 
Restrisiko, daß es doch ein Softwarefehler ist. Der ganze Dimmer samt 
Businterface ist eine recht aufwändige Statemachine. der mega16 ist 
praktisch voll.

>>aus jeder Halbwelle ein Signal machen. Die Software "verlängert" dann
>>die Signale über eine Netzperiode, also quasi ein in Software gebautes
>>retriggerbares Monoflop.
>
> Soll das nur eine Erkennung sein oder ein Nulldurchgangsdetektor?
> Ersteres wäre OK, zweiteres eher suboptimal.
Dies soll nur eine Erkennung sein. Es gibt natürlich noch eine weitere 
identische Schaltung als Nulldurchgangserkennung, allerdings mit einem 
anderen Optkoppler: CNY17F). Das scheint aber inzwischen sauber zu 
funktionieren. War aber auch recht knifflig, ich hatte öfters ein 
Flackern drauf. Da dieses Flackern immer Zeitgleich auftrat, tippe ich 
auf irgendwelche Störungen durch Rundsteuersignale oder 
Einschaltspitzen. Dies konnte ich aber inzwischen durch einen recht 
aufwendigen Softwarefilter beheben.

>>Wäre die obere, mit dem Kondensator evtl. sicherer, bzw. funktioniert
>>sie überhaupt wenn eine Halbwelle fehlt?
> Nein.
Aha. Funktioniert sie nicht? Oder ist sie genauso (unzu)verlässig. 
(siehe Mail von spontan)

@spontan:
> Die obere Schaltung ist nix. Wenn der Kondensator
> durch die Gleichspannung mal geladen ist, dann fließt kein Strom mehr.
Klingt einleuchtend. Wenn die negative Halbwelle weg ist wird der C 
nicht mehr umgeladen. Spricht denn aus Deiner Sicht etwas gegen die 
simple Widerstandsmimik, abgesehen von der hohen Verlustleistung. Mir 
fällt dazu aber nichts schlaueres ein.

Vielleicht verzichte ich auf die Geschichte mit den zwei Schaltern über 
einen Draht. Vermutlich käme ich sogar mit den vorhanden vier Eingängen 
aus, da "man" das meiste ja inzwischen per IR oder Netz macht.

von Stefan F. (sfrings)


Lesenswert?

Die 1N4148 snd nicht geeignet, da sie bei etwa 100 Volt leitend werden.

Wenn Du den Kondensator bei den schaltern platzieren kannst, könnte es 
so gehen:
1
N o----------------|<|-----+               
2
                           |
3
    +-- \-----[===]---||---+---|<|----+
4
    |                                 |
5
    |                                 |
6
P o-+-- \-----[===]---||---+---|>|----+--------
7
                           |
8
               +----|>|----+                  zu den beiden           
9
               |                              Optokopplern
10
N o------------+--------------------------------
In diesem Fall sind 1N4148 geeignet, da die Spannung an ihnen je nach 
Halbwelle entweder 0,7 Volt oder 0,7V + 1,6 Volt (vom Optokoppler) sein 
wird.

Da due auf Netzleitungen immer mit Störimpulsen rechnen musst, würde ich 
parallel zum Optokoppler einen weiteren Kondensator mit einigen 
Mikrofarat schalten. Ein normaler Elko geht nicht, weil Du ja sowohl 
positive als auch negative Spannung auf der Leitung hast. Nimm einfach 
einen bipolaren Elko, wie man ihn in Lautsprecher-Frequenzweichen 
einsetzt. Ich würde es mit 10yF versuchen.

von Falk B. (falk)


Lesenswert?

@  Thorsten Erdmann (bluescreen)

>Dies soll nur eine Erkennung sein. Es gibt natürlich noch eine weitere
>identische Schaltung als Nulldurchgangserkennung, allerdings mit einem
>anderen Optkoppler: CNY17F).

Das ist keine gute Nulldurchgangserkennung. Besser so.

http://www.mikrocontroller.net/articles/230V#Siehe_auch

>auf irgendwelche Störungen durch Rundsteuersignale oder
>Einschaltspitzen. Dies konnte ich aber inzwischen durch einen recht
>aufwendigen Softwarefilter beheben.

Klasse. Sowas hätte man deutlich einfacher und besser mit einem 
Analogfilter gelöst. Ein C an der richtigen Stelle wirkt Wunder.

>simple Widerstandsmimik, abgesehen von der hohen Verlustleistung. Mir
>fällt dazu aber nichts schlaueres ein.

Siehe oben.

von Thorsten E. (bluescreen)


Lesenswert?

> Das ist keine gute Nulldurchgangserkennung. Besser so.
> http://www.mikrocontroller.net/articles/230V#Siehe_auch
In dem Artikel ist genau das beschrieben was oben bereits gesagt wurde. 
Als Nulldurchgangserkennung wohl ok, wenn man den sekundärseitigen C 
wegläßt, für meine Doppelschaltermimik wegen des C-Netzteils nicht 
geeignet. Allerdings sind da einige weiterführende ganz interessante 
Artikel.

>>auf irgendwelche Störungen durch Rundsteuersignale oder
>>Einschaltspitzen. Dies konnte ich aber inzwischen durch einen recht
>>aufwendigen Softwarefilter beheben.
>
> Klasse. Sowas hätte man deutlich einfacher und besser mit einem
> Analogfilter gelöst. Ein C an der richtigen Stelle wirkt Wunder.
Schön. Ich hatte diverse RC's ausprobiert. Leider ohne Erfolg. Ich bin 
aber zugegebenermassen auch nicht so der Analogmensch. Bauteile mit 
weniger als 8 Pins sind mir suspekt. :-)

Wo also ist die richtige Stelle für den C, wie groß muß er sein, etc. 
Eine Meldung wie "ein bischen C an der richtigen Stelle" ist wenig 
zielführend, sorry.

Mein Softwarefilter macht im Prinzip einen Plausibilitätscheck. Tritt 
ein Impuls am Nulldurchgangsdetector auf wird ein Timer gestartet. Tritt 
nun ein weiterer Nulldurchgangsimpuls auf wird anhand des Timers 
überprüft ob wir in der Nähe des erwarteten Nulldurchgangs sind, wenn 
ja, schön. Wenn nein, Impuls ignorieren. Bleibt der erwartete 
Nullduchgang ganz und gar aus wird ein künstlicher anhand des Timers 
erzeugt. Ein paar fehlende Nulldurchgänge akzeptiert die Software auf 
diese Weise. Kommt dann immer noch nichts, geht das ganze Ding auf 
Störung und wartet auf den nächsten Puls.

von Thorsten E. (bluescreen)


Lesenswert?

Ach nochwas. Im Moment kann ich nun gar nichts mehr testen. Seit gestern 
läuft der Dimmer plötzlich gar nicht mehr. Der Trafo der den Atmel und 
den Bus versorgt wird recht warm. Und der Atmel stürzt nach wenigen 
Sekunden ab. Keine Ahnung was da nach drei Jahren Betrieb nun plötzlich 
den Geist aufgegeben hat. Vielleicht schlicht ein Kurzschluss auf dem 
Bus. Muss ich wohl man messen.
Nur bin ich gerade in der Urlaubsvorbereitung, da habe ich keine Zeit 
für sowas. Nun ist erstmal wieder ein normaler Lichtschalter dran. :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.