EMV-Problem mit µC

Gast #973139
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...
#973152
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)?
Gast #973215
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)
Gast #973230
>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
Gast #973245
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.
Gast #973248
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.
Gast #973355
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?
Gast #973797
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...
Gast #973818
>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 !

;-)
Gast #974109
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.
Gast #974160
>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.
Gast #974227
> 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.
Gast #974380
>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.
Gast #974511
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.