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
> 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.
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!
> 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.
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
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
@ 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
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
@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ß
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).
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ß
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.
> 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...
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ß
@ 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ß
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ß
> 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.
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.
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ß
>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.
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ß
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
>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.
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 ...