mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik EMV-Problem mit µC


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe mir ein Codeschloss gebaut, dass bei richtiger Code-Eingabe 2 
Spulen einschaltet. Diese ziehen einen Metallbolzen auf die Seite, und 
man kann eine Tür öffnen.

Wenn man den Code nicht eingibt und die Türe trotzdem öffnet wird Alarm 
ausgelöst.

Mein Problem ist, dass wenn die Spulen anziehen oder loslassen der Alarm 
ausgelöst wird, egal ob die Anlage scharf ist oder nicht, klemme ich die 
Spulen ab, ist Ruhe.

Was kann ich dagegen machen? Die Spulen hängen an einem seperaten 
Nezteil und werden mit Relais geschaltet, ich denke, dass sie ein 
elektromagnetisches Feld erzeugen über das der µC nicht glücklich ist...

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Freilaufdiode dran?

Autor: Stefan Wimmer (wswbln)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werden die Spulen mit Gleichspannung angesteuert?
Wenn ja: haben sie Freilaufdioden?
Hast Du Snubber-Netzwerke an den Relaiskontakten?
Wie ist der Reset des Controllers beschaltet (hochohmiger Pull-up oder 
eine RCD-Beschaltung)?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Freilaudioden sind dran. (obwohl: wozu denn, die Spulen werden ja 
über Relais geschaltet)

Die Spulen werden mit 24V Gleichspannung betrieben.
Der Reset ist mit einem Widerstand nach +5V und einem Keramikkondensator 
beschaltet.
Snubber-Netzwerke habe ich keine an der Relaiskontakten (muss ich erst 
mal googeln)

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Reset ist mit einem Widerstand nach +5V und einem Keramikkondensator
>beschaltet.
Bauteilwerte??

>Ja, Freilaudioden sind dran. (obwohl: wozu denn, die Spulen werden ja
>über Relais geschaltet)
Trotzdem sinnvoll. Poste mal einen kompletten Schaltplan

Autor: .... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zum Testen:
Mach am Alarmeingang statt den Keramik ein "dicken" Konden ran. 
Elektrolyt mit 100µ (oder was in der  Kiste liegt). Und schon klappt 
es....
Jetzt weißt du, wo dein Problem liegt, der µProf. bekommt am Alarm eine 
Flanke, durch das abfallende Magnetfeld.
Das gleiche mit der Stromversorgung zur Sicherheit.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit der Flanke hab ich auch schon vermutet, und habe daher in der 
Interrupt-Routine einen Delay eingefügt, der den Pin nach ca. ein halben 
sek nochmal abfragt und erst dann Alarm auslöst, wenn er immer noch auf 
Low liegt.
Außerdem "vergisst der µC auch, ob die Anlage scharf geschaltet war oder 
nicht, es liegt also nicht nur am Alarm-Pin.
Ob scharf ist oder nicht stellt der µC jedoch auch über einen Pin fest.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung und die Bauteilwerte kommen Morgen!!

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob es ein echtes EMV-Problem oder nur ein schwächelndes Netzteil ist, 
sollte man auch mal näher mit dem Oszi betrachten. Evtl. brauchen Deine 
Magnete soooo viel Strom, daß der µC wegen fehlender Spannung neu 
startet?

Autor: Weingut Pfalz (weinbauer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
brown out reset vermutlich

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Spulen hängen an einem seperaten
>Nezteil

Das habe ich schon vermutet und ein anderes Netzteil besorgt.

Autor: oszi40 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oben stand "klemme ich die Spulen ab, ist Ruhe."
===> gemeinsame dünne Masseleitung mit Spannungsabfall ???

Evtl. verlaufen auch die Alarmdrähte parallel zu Deinen 
Spulenzuleitungen  ? Jeder Draht könnte eine "Antenne" sein...

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>und habe daher in der
>Interrupt-Routine einen Delay eingefügt, der den Pin nach ca. ein halben
>sek nochmal abfragt und erst dann Alarm auslöst

Ich behaupte: da sagt sich Software und Hardware gute Nacht !

;-)

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt keine gemeinsame Masseleitung, über die Spannung abfallen kann.
und die Kabel für den Alarmkontakt und die Spule sind nicht parallel 
(die Spulenkabel liegen noch wirr am Boden herum, ca. 3m länge, 3x1,5mm²
das Kabel für den Alarmkontakt hängt mit schellen an der Wand)

>Ich behaupte: da sagt sich Software und Hardware gute Nacht !

Wie muss ich das verstehen?
Ist mein erstes µC Projekt, tut mir leid, wenn ich Mist programmiert 
habe.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ja, Freilaudioden sind dran. (obwohl: wozu denn, die Spulen werden ja
>über Relais geschaltet)

Die Diode ist auch aus EMV-Sicht sinnvoll. Man kennt es i.d.R. nur zum 
Schutz vor Überspannung an ICs aber die Höhe der Spannungsspitze ist 
auch maßgeblich für die Intensität der durch Abschalten der Spule 
verursachten EMV-Störung.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wie muss ich das verstehen?
> Ist mein erstes µC Projekt, tut mir leid, wenn ich Mist programmiert
> habe.

Wenn du eine Ausgabe hast (LED oder UART etc.) dann benutze diese direkt 
beim Start des uC für ein paar Sekunden. Dann spiel dein Scenario 
nochmal durch und schau ob sich der uC aufhängt.

Im Interrupt sollte man lange Wartezeiten vermeiden. Am besten im 
Interrupt einen Zähler erhöhen und den dann bei abgeschalteten 
Interrupts im Programm auslesen und vergleichen, zurücksetzen whatever.

Oft sind es diese Programmteile "das mach ich dann später ordentlich", 
die solches Verhalten verursachen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn du eine Ausgabe hast (LED oder UART etc.) dann benutze diese direkt
>beim Start des uC für ein paar Sekunden. Dann spiel dein Scenario
>nochmal durch und schau ob sich der uC aufhängt.

Ich habe ein LCD, da werde ich mal einen Text einprogrammieren, der nur 
kurz beim einschalten erscheint.


>Im Interrupt sollte man lange Wartezeiten vermeiden.

Hmm, warum denn?

>Oft sind es diese Programmteile "das mach ich dann später ordentlich",
>die solches Verhalten verursachen.

Naja aber wenn der Code ohne Spule funktioniert, dann sollte er das auch 
mit Spule, auch wenn er sehr mies programmiert ist, oder?
Denn wenn sich die CPU aufhängt nützt es mich auch nichts, ob der Code 
gut oder schlecht ist.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stell dir mal vor der hängt für immer im Interrupt ! Dann geht nix mehr. 
Durch deine Spulen können zu viele Interrupts erzeugt werden (durch 
Störungen) und du wartest erstmal (auf schönes Wetter) und blockierst 
den Rest. Das nannte sich auf dem PC cpuslow oder so.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.