Forum: Mikrocontroller und Digitale Elektronik Seltsames verhalten bei Relais schalten


von JUehV (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe mir mit einem Atmega 8 eine schaltung gebastelt um meinen 
rolladen Zeitgesteuert zu öffnen und zu schließen.

nun treten bei mir seltsame seiteneffecte auf:
in der testphase lief alles problemlos, dann habe ich die schaltung auf 
einer lochrasterplatine gelötet und anstelle der test leds relais 
eingestzt um den rolladen auch schalten zu können.
als treiberstufe habe ich mosfets verwendet (bs170 siehe schaltplan)
ab und zu kommt es nun vor dass wenn ich einen taster drücke für 
rolladen auf oder zu dass der controller versucht zu schalten (kurzes 
klicken und sofort wieder ein 2. klicken) und scheinbar abstürzt und 
sich neu startet.
beim dem "licht" relais konnte ich das noch nicht beobachten.
desweiteren hab ich beobachtet dass manchmal ein "event" einfach 
übergangen wird: also wenn es zeit ist den rolladen zu öffnen passiert 
einfach .. nichts .. der controller tut so als ob er gerade nichts tun 
muss und zählt braf seine sekunden weiter.
selten kommt es auch vor das man fröhlich auf den tasten rum tippen kann 
und der controller sich nicht weiter daran stört..
das letzte fehlverhalten dass ich beobachtet habe ist dass das lcd 
teilweise nur müll anzeigt ... irgendwelche seltsamen zeichenketten.
wenn das einmal eingetreten ist ändert sich das auch nicht mehr (trotz 
dem der controller jede menute das display komplett leert und neu 
beshriftet).
das scheint aber die funktionalität des controllers nicht zu 
beeinträchtigen.

es gibt natürlich auch zeiten in denen alles einwandfrei funktioniert...

ich habe versucht das irgendwie mit umwelteinflüssen inverbindung zu 
bringen (spannubngsschwankunen, temparatur) aber habe keine analogie 
feststellen können.

im anhang findet ihr den schaltplan
und den code als zip archief: der ist etwas caotisch aber funktional ;)
wird sobald der prototyp läuft mal "aufgeräumt"

ich hoffe ihr könnt mir irgendwie helfen!

gruß
JUehV

: Verschoben durch Moderator
von MaWin (Gast)


Lesenswert?

> ab und zu kommt es nun vor dass wenn ich einen taster drücke für
> rolladen auf oder zu dass der controller versucht zu schalten (kurzes
> klicken und sofort wieder ein 2. klicken) und scheinbar abstürzt und
> sich neu startet.

Ja, und?
Das ist keineswegs ungewöhnlich bei Relais die 230V Motoren steuern.
Hinweise wie man es aufbaut in
http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2

Du hast die Relais an demselben VCC wie den uC,
das ist schon mal ein Problem, ausserdem neigt das dazu dass du 
dieselben Leiterbahnen verwendest durch die der Strom zum Relais 
fliesst.

Aber viel interessanter ist es, ob deine 230V reinhauen.
Stört sich die Schaltung acch, wenn gar keine 230V~ Leistungen zum 
Rollladen angeschlossen sind ?
Wenn nein, musst du nur Einkopplungen aus der 230V~ Seite abfedern.

von JUehV (Gast)


Lesenswert?

MaWin schrieb:
> Ja, und?
> Das ist keineswegs ungewöhnlich bei Relais die 230V Motoren steuern.
> Hinweise wie man es aufbaut in
> http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2

ja deshalb habe ich ja auch eine freilaufdiode eingebaut wie es in dem 
text beschrieben ist ....

> Du hast die Relais an demselben VCC wie den uC,
> das ist schon mal ein Problem, ausserdem neigt das dazu dass du
> dieselben Leiterbahnen verwendest durch die der Strom zum Relais
> fliesst.

hmm die relais sind 5v versionen ich dachte das wär kein problem.
ok wenn das relais nun so viel strom verbraucht das der uC aus geht 
würde es das verhalten erklären ... allerdings nicht warum das nur 
manchmal und bei unterschiedlichen relais unterschiedlich oft passiert 
.. eigentlich müsste das doch dann immer passieren wenn ich ein relais 
schalte

> Aber viel interessanter ist es, ob deine 230V reinhauen.
> Stört sich die Schaltung acch, wenn gar keine 230V~ Leistungen zum
> Rollladen angeschlossen sind ?

hm ok das probier ich mal aus ..

> Wenn nein, musst du nur Einkopplungen aus der 230V~ Seite abfedern.

wie geht das? hast du dafür auch so einen link parat ;)


danke für deine tipps!

von Peter D. (peda)


Lesenswert?

AVCC muß an 5V !


Peter

von Falk B. (falk)


Lesenswert?


von MaWin (Gast)


Lesenswert?

> wenn das relais nun so viel strom verbraucht

Es ist (normalerweise) nicht der Stronverbrauch des Relais, der zu 
Störungen führt, sondern das geschaltete 230V Signal und die Funken am 
Kontakt, die in die Spule hinübersenden und dort in die 
Versorgungsspannung reinschlagen.

Wenn an 230V~ nichts hängt und es immer noch stört, ist es oft die 
Schaltzeit der Freilaufdiode oder eben die im Freilaufmoment ansteigende 
VCC-Spannung die stört.

Immerhin ist ein Relais eine Spule und somit ein Teil, welches DEN STROM 
nur langsam ansteigen und abfallen lässt. Das kann man eigentlich gut 
abfedern.

von oldmax (Gast)


Lesenswert?

Hi
Nun ja, C ist nicht grad mein Lieblingscode, daher tu ich mir nicht an, 
diesen verstehen zu wollen. Allerdings ist deine Fehlerbeschreibung so 
Richtung überlaufenden Stack. Daher solltest du ein paar Dinge 
kontrollieren:
Sind die Rücksprünge aus der ISR und den anderen UP's sauber ? Sind die 
Schaltkontakte entprellt ?  Kontakte schalten nicht einfach ein, sondern 
erzeugen eine große Anzahl von Impulsen, bis der Kontakt sauber 
geschlossen ist. Die Freilaufdiode brauchst du immer, wenn du ein Relais 
über Elektronik ansteuerst. Sie dient dazu, die Induktionsspannung, die 
beim Abschalten einer Magnetspule entsteht, kurzzuschließen. (ähnlich 
einer Zündspule in KFZ's )Du könntest aber die Relais bspw. an 12 V 
betreiben. Dazu brauchst du nur 12 V Relais und die Versorgungsspannung 
der Ralais auf 12 V legen. ( oder jede andere Spannung in den zulässigen 
Spannungsbereichen deiner MOSFET's.)
Ein weiterer Fehler durch den Stack wird verursacht, wenn in den 
Stackbereich geschrieben wird. So wird der Stack im RAM von oben nach 
unten gefüllt (bei Aufrufen von Unterprogrammen die Rücksprungadressen, 
Registersicherung durch Push), die Variablen werden in der Regel 
aufsteigend generiert. Nun kann es vorkommen, das z. B. bei 
geschahtelten Calls (Aufruf von UP's) der Stackk soweit nach unten 
wächst, das er in den Variablenbereich kommt. Das muß der Programmierer 
abfangen, der µC hat da keinerlei Sicherungen. Wenn das geschieht, ist 
es möglich, das ein Rücksprung nicht auf die gespeicherte Adresse, 
sondern durch irgendeinen Variablenwert bestimmt wird. D.H. er geht ins 
Nirwana... Der Erfolg ist ein Programm, was irgendeinen Blödsinn 
verzapft.
Gruß oldmax

von Helmut L. (helmi1)


Lesenswert?

Willkommen in der realen Welt der EMV.
Wenn du deine Motoren abschaltest hast Spannungsspitzen von einigen KV 
im 230V Netz. Und die stoeren deine Elektronik. Lochrasterkarten und 
230V ist immer ein Problem.

Abhilfen:

EMV gerechtes Layout  , 230V moeglichst weit weg von der Logik.
Varistoren / RC Glieder zum Motor schalten. Netzfilter in die Versorgung 
zu deiner Logik schalten. Schaltungsteile nur so schnell wie noetig 
auslegen nicht so schnell wie moeglich. Eingaenge mit RC-Gliedern 
filtern.

Du siehst es gibt eine Menge moeglichkeiten und Loesungen.

Gruss Helmi

von Falk B. (falk)


Lesenswert?

@  MaWin (Gast)

>Schaltzeit der Freilaufdiode oder eben die im Freilaufmoment ansteigende
>VCC-Spannung die stört.

Im Freilaufmoment steigt VCC nicht an. Eher würde VCC absinken, wenn man 
das geschaltete Spulenmende hart auf VCC begrenzen würde.

MFG
Falk

von Paul Baumann (Gast)


Lesenswert?

Nebenbei: Hast Du keine Vorwiderstände an Deinen Leuchtidioten?

Zum Entstören der Relaiskontakte kannst Du sog. Funkenlöschglieder
(R/C Kombination) verwenden, dann schüttelt sich der Kontroller auch
nicht mehr wie ein Hund...;-)

MfG Paul

von special swine flu (Gast)


Lesenswert?

...einen Dicken Elko in Naehe der Relais/Fets klatschen...koennte 
helfen.
...und jeden Tag erwischen wir Einen der Vorwiderstaende spart ;-)

von JUehV (Gast)


Lesenswert?

@peter:
naja ich brauch kein analog digital wandler daher is die spannung dort 
völlig woscht

@falk
netter link aber nach einem blick in den schaltplan wirst du feststellen 
dass das genau den spezifikationen dort entspricht

@helmut
danke das versuch ich mal ;)

@paul
ich verwende leds mit integriertem vorwiederstand :P

@special
versuch ich auch mal

danke an alle für die tipps ;)
ich mach dann bald mal ne (miss)erfolgsmeldung ;)

gruß

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

JUehV schrieb:
> @peter:
> naja ich brauch kein analog digital wandler daher is die spannung dort
> völlig woscht

Nur dem AVR nicht. Denn dieser versorgt damit die Treiber eines Ports 
(an dem auch die Analogeingänge liegen).

von (prx) A. K. (prx)


Lesenswert?

Stützkondensatoren?

von JUehV (Gast)


Lesenswert?

Hi,

also MaWin hatte recht,
ohne 230 V läuft das ganze ding...

Daher sollten die feilaufdioden ja auch in ordnung sein oder ?
habe auch die selben verwendet wie hier empfohlen:
http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.2

wie ist das jetzt mit dem hoch/tiefpass ?
wo sill ich die denn anbringen? hat da jemand einen link?
ich dachte die verwendet man nur wenn man frequenzen filten will ...

@helmut
wie passen da jetzt varsistoren ins bild ??

gruß

von Helmut L. (helmi1)


Lesenswert?

JUehV schrieb:
> @helmut
> wie passen da jetzt varsistoren ins bild ??

Die Varistoren must du parallel zur Motorspule schalten. Damit werden 
die Induktionsspitzen der Motorwicklung bedämpft.
Varistoren mit Spannungen von 275V sollten reichen.

>ich dachte die verwendet man nur wenn man frequenzen filten will ...

Du willst doch deine Störungen wegfiltern.

von MaWin (Gast)


Lesenswert?

> wie ist das jetzt mit dem hoch/tiefpass ?

Du brauchst nun einen Snubber am Relaiskontakt:

http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.25.1

Aber der alleine reicht eventuell nicht.
Denk dran, daß um die ganzen Leitungen zum Motor ein Störnebel aus hohen 
Freuqnzen liegt, wie um eine Sendeantenne.

Und deine Schaltung ist der Empfänger.

Besonders empfindlich empfangen Schleifen.

Verfolge also deine Platine, wo Leitungen in Kreisen laufen (Beispiel: 
Netztrafo, Gleichrichter, Siebelko, Spannungsregler, uC, und zurück an 
jedem Bauteil vorbei) und schau, wie gross die eingeschlossene Fläche 
von dieser Leiterschleife ist. Je grösser die Fläche, um so besser die 
Empfangswirkung. Man vermeidet das, in dem die beiden Leitungen vom 
Trafo direkt nebeneinander (verdrillt) zum Gleichrichter laufen, dessen 
beide Leitungen kurz und parallel zum Elko (oder wenn sie lang sind eben 
direkt nebeneinander), von dort geht die Versorgungsspannung zum 
Spannungsregler und uC, aber auf demselben Weg zurück, nicht etwa auf 
der gegenüberliegenden Platinenseite.

Und das gilt für alle Schleifen...

von JUehV (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Die Varistoren must du parallel zur Motorspule schalten. Damit werden
> die Induktionsspitzen der Motorwicklung bedämpft.
> Varistoren mit Spannungen von 275V sollten reichen.

aber ich hab doch freilaufdieoden drinnen ... sollten die das net genau 
so gut erledigen ?

ok dann werd ich das mal mit nem wiederstand und nem kondensator 
versuchen ;)

schleifen hab ich keine offensichtlichen gefunden .. ich hoffe dass das 
dann gegessen ist ;)

danke für die hilfe!

gruß

von JUehV (Gast)


Lesenswert?

@ helmut

ohhh hatte grad einen denkfehler ... da steht ja motorspule ^^
da hab ich natürlichk eine freilaufdiode (is ja auch wechselstrom); ok 
das werd ich auch noch mal versuchen ;)

gruß

von JUehV (Gast)


Lesenswert?

hi,

hab noch so ne blöde frage:
für ne r/c kombination die in 230V/ca 0,8A betrieben werden soll, wie 
viel watt muss denn da der wiederstand haben ?
(hab noch nie verstanden was diese watt angeben genau darstellen)

und da gibts doch eigentlich auch so kombibauteile .. so ein viereck wo 
beide drinnen ist .. hab ich weder bei reichelt noch konrad gefunden .. 
haben die vllt einen bestimmten namen??

gruß

von MaWin (Gast)


Lesenswert?

> für ne r/c kombination die in 230V/ca 0,8A betrieben werden soll, wie
> viel watt muss denn da der wiederstand haben ?

Hängt vom Kondensator ab, durch den fliesst ja bei 230V~ ein Strom, und 
der Strom wiéderum produziert am Widerstand einen Spannungsanfall, und 
dadurch eine Verlustleistung.

Bei 0.1uF fliessen 7mA macht über 100 Ohm 0.7V und somit 0.005W.

> (hab noch nie verstanden was diese watt angeben genau darstellen)

Zulässige Volt * Ampere.

> und da gibts doch eigentlich auch so kombibauteile .. so ein viereck wo
> beide drinnen ist .. hab ich weder bei reichelt noch konrad gefunden ..
> haben die vllt einen bestimmten namen??

Funkentstör-RC-Kombinationen.

Sind aber deutlich teurer als beide Bauteile allein.

von Thomas (kosmos)


Lesenswert?

Es gibt verschiedene 5V Relais wenn du diese mit einem µC ansteuern 
willst achte darauf das der Spulenwiderstand nicht zu klein ist. Er 
sollte mindestens 300 Ohm betragen, damit der µC das überhaupt treiben 
kann. Oft wird auch ein kleiner Transistor benutzt und das Relais dann 
durch die Eingangsspannung des Spannungsreglers angesteuert, auch hier 
ist es wichtig das die Relaisspule nicht zu viel Strom zieht und die 
Versorgungsspannung mit runterzieht. Mit einem Multimeter sieht man 
diesen kurzzeitigen Einbruch nicht hier muss man mit einem Oszi dran.

Am besten man programmiert am Anfang des Programmes ein Aufleuchten 
einer LED dann weis man das der µC gerade resetet hat. Was entweder ein 
Stacküberlauf, ein Einbruch der Versorgungsspannung oder ein falsche 
Interruptvektor sein könnte.

Ich finde die AVR eigentlich sehr resistent gegen EMV meine arbeiten 
direkt neben einer Zündspule einwandfrei die 5 cm Funkenstrecken 
erzeugt. Der PC der einige Meter entfernt steht, meldet da hingegen ein 
Gerät das vom USB Port getrennt wurde.

Man sollte aber die Versorgung des µC sauber aufbauen vor den 7805 kommt 
bei mir immer ein LC-Filter und eine Supressordiode rein um den größten 
Dreck vom Regler fernzuhalten, die Spule dient gleichzeitig als 
Begrenzungswiderstand damit die Supressordiode nicht hops geht, falls da 
mal dauerhaft eine größere Spannung anliegt.

von JUehV (Gast)


Lesenswert?

hi,

also mein varistor experiment is eindeutig fehl geschlagen:
ich hab den varistor zwischen ausgang des relais und nulleiter 
geschalten .. das gab keine verbesserung des verhaltens
dann hab ich ihn mal vom ausgang zum erdungskabel gescalten, dann ist er 
beim laufen des motors weggebrannt ^^
war einer vom conrad mit artikelnummer: B72207S271K101


stützkondensatoren haben auch nix gebracht .. was eigentlich zu erwarten 
war, denn wenn der motor nicht angeschlossen ist läuft das teil wie eine 
1

ich werde sobald ich einen außreichend dimensionierten kondensator 
gefunden bekommen habe nochmal eine rc schaltung versuchen ...

wenn dass nicht klappt denk ich ist es sinnvoll die schalteinheit auf 
eine andere platine zu setzen und vllt nochmal ein paar optokopler 
zwischen zu schalten .. oder ?

@thomas
hättest du einen kleinen bsp schaltplan für die "verbesserte" 
spannungsversorgung ?


gruß

von Anja (Gast)


Lesenswert?

>stützkondensatoren haben auch nix gebracht .. was eigentlich zu erwarten
>war, denn wenn der motor nicht angeschlossen ist läuft das teil wie eine
>1

Das ist ein Irrtum: Die Störspannungen addieren sich. Wenn Du z.B. an 
einem Pin 1000 mV Störspannungsabstand hast. Und die fehlenden 
Abblockkondensatoren eine zusätzliche Störspannung von 800mV generieren, 
hast Du nur noch 200mV Abstand für die externen Störungen.
-> unter EMV-Bedingungen funktioniert eine Schaltung nur dann wenn alle 
Maßnahmen korrekt umgesetzt wurden.

Tipps gab es bisher genug (MaWin / Helmut). Die müssen nur konsequent 
umgesetzt werden. Wesentlich ist die Verdrahtung und die Anordnung der 
Bauelemente zueinander. Die Leitungen zu den Relais weit weg vom 
Prozessor führen (Sternpunkt am Netzteil-Spannungsregler). 
Spannungsregler an Ein- UND Ausgang zusätzlich mit je 100 nF abblocken 
(Dicht am Spannungsregler). Unter HF-Einfluß kann die Spannung schnell 
mal um ein paar hundert Millivolt wegdriften und einen Brown Out Reset 
auslösen. Prozessor und Quarzoszillator mit je 100 nF abblocken 10uF 
nochmals zusätzlich am Prozessor. Quarzoszillator und Prozessor dicht 
nebeneinander plazieren.

Besser als Optokoppler wirken Serienwiderstände von 1-10kOhm zwischen 
Prozessor und Gate der Endstufen.
Der Kondensator am Reset-Pin des Prozessors braucht eine eigene Leitung 
an den Prozessor-Gnd Pin.

von JUehV (Gast)


Lesenswert?

Anja schrieb:
> Tipps gab es bisher genug (MaWin / Helmut). Die müssen nur konsequent
> umgesetzt werden. Wesentlich ist die Verdrahtung und die Anordnung der
> Bauelemente zueinander. Die Leitungen zu den Relais weit weg vom
> Prozessor führen (Sternpunkt am Netzteil-Spannungsregler).
> Spannungsregler an Ein- UND Ausgang zusätzlich mit je 100 nF abblocken
> (Dicht am Spannungsregler). Unter HF-Einfluß kann die Spannung schnell
> mal um ein paar hundert Millivolt wegdriften und einen Brown Out Reset
> auslösen. Prozessor und Quarzoszillator mit je 100 nF abblocken 10uF
> nochmals zusätzlich am Prozessor. Quarzoszillator und Prozessor dicht
> nebeneinander plazieren.

ist bestimmt nett gemeint .. aber ein blick in den schaltplan und meine 
erwähung dass ich das standart netzteil das hier auf der seite empfohlen 
wird verwende  hätte dir das tippen erspart.
thomas hatte in seinem beitrag nur zusätliche sicherungen empfohlen

Anja schrieb:
> Besser als Optokoppler wirken Serienwiderstände von 1-10kOhm zwischen
> Prozessor und Gate der Endstufen.

der optokopler ist net galvische trennung von den relails ... ich glaub 
nicht dass ein paar wiederstände da "besser" sind

Anja schrieb:
> Der Kondensator am Reset-Pin des Prozessors braucht eine eigene Leitung
> an den Prozessor-Gnd Pin

ich sehe irgendwie keinen grund 2 nahezu parallele leitungen zu legen 
nur das der kondensator ne leitung für sich hat .... vllt bin ich da 
auch zu sehr theoretiker aber ich denke daran wird es nicht liegen

gruß

von Herbert K. (avr-herbi)


Lesenswert?

Hallo,
ich habe nicht alle Beiträge gelesen, da ich das gleiche Problem vor 
Jahren auch schon hatte. Die Lösung bei Motoren / Induktivitäten:
(Widerstand + Kondensator als Reihenschaltung) + das über den 
Schließer/Öffner Kontakt, der benutzt wird. Der klitze kleine kaum 
sichtbare Funke am Relais Kontakt wird den Reset auslösen (so war es bei 
mir).
Irgendjemand hatte das wohl auch schon zuvor beschrieben.
Mit der Diode parallel zu der Relais Spule hat dies nichts zu tun. Das 
hast Du schon ganz richtig gemacht.
Viele Grüße Herbert

von Marvin M. (Gast)


Lesenswert?

>ich sehe irgendwie keinen grund 2 nahezu parallele leitungen zu legen
>nur das der kondensator ne leitung für sich hat .... vllt bin ich da
>auch zu sehr theoretiker aber ich denke daran wird es nicht liegen

Moin,

das ist der Unterschied zwischen Theorie und Praxis. In der Praxis haben 
Kupferleitungen einen Widerstand. Und auch dieser scheinbar geringe 
Widerstand spielt beim Thema EMV eine Rolle.

Ich hatte mal ein ähnliches Problem und eine Umsetzung der oben zur 
Genüge genannten Designregeln brachte die Schaltung zum Laufen - ohne 
ein zusätzliches Bauteil.

von JUehV (Gast)


Lesenswert?

Marvin M. schrieb:
> das ist der Unterschied zwischen Theorie und Praxis.

ohhh jaaa ... das ist das große problem ;)
wenn das so schön funktionieren würde wie in der theorie ...

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.