Störungen am Input durch Leuchtstofflampe

Hallo,

ich habe einen kleinen Sketch mit einem Ein- (mit Pull-Down-Widerstand und Relais) und einem Ausgang (LED). Er läuft auf einem Arduino Nano und ich verwende Interrupts.

Unter Laborbedingungen hat alles super funktioniert. Beim Wechsel der Steckdose traten plötzlichen Störungen auf. Immer beim Ein- bzw. Ausschalten einer nahegelegenen Leuchtstofflampe gibt es einen Interrupt.

Wie ist das möglich? Was kann man dagegen machen?

Wie ist der Eingang genau beschaltet und wie lang sind die Kabel? Was triggert den Eingang? Wenn es eine manuelle Betätigung oder etwas ähnlich langsames ist, ist ein Interrupt meist unnötig.

Mehr ist aus Deinen mageren Informationen nicht raus zu holen.

Gruß Tommy

5V zum Relais, anderes Ende vom Relais auf den Input und Verbindung zum GND mit Widerstand 80 kOhm.
Kabellänge ca. 20cm.
Interrupt ist nötig, da ich im Main-Thread über Serial kommuniziere.
Wird das Relais geschaltet, so gibt es einen Interrupt.

Der Pulldown Widerstand ist viel zu hoch. Vor allem bei der Kabellänge.

Interrupt ist nötig, da ich im Main-Thread über Serial kommuniziere.

Das ist zweifelhaft. Serial ist so langsam dass da massig Zeit ist zwischen einzelnen Bytes andere Dinge zu tun

Das Relais ist mit dem Arduino auf einer Platine. Kabel sind nur für den Schaltkreis des Relais.

Ich will mein Projekt nicht ändern, deswegen muss das Serial bleiben.

Wie groß/klein muss der Widerstand sein?

Îch würde mal mit 8 oder 4 kOhm testen, evtl. noch tiefer.

Gruß Tommy

Ich bin ja Anfänger, deswegen interessiert mich schon, warum der Widerstand so klein sein muss!

Danke für den Tipp, ich werde es ausprobieren.

Je kleiner der Widerstand, um so mehr Energie muss die Störung bringen, um was zu bewirken.

Gruß Tommy

EM-Störungen induzieren einen Strom. Je höher der Widerstand desto höher die Spannung die daran abfällt

4,7k oder 10k sind normale Wert. Aber das kann sich auch ändern. Zu niedrig ist natürlich auch nicht gut.
Dass µC Pullups oft 30-60k haben hat Gründe, aber kommt auch mit Nachteilen

Habe einen 10kOhm Widerstand eingelötet, keine Veränderung!

Muss es zwangsläufig mit dem Widerstand zutun haben?

Sehr wahrscheinlich das und deine 20cm Antenne. Ein abgeschirmtes Kabel kann auch helfen

Probier mal einen 4,7k Pullup. Eine Leitung die normal Low ist ist anfälliger gegenüber Störungen. Die Polarität im Code ist schnell geändert

Hallo ,

ich habe noch nicht ganz verstanden wie Du das verschaltet hast, gehe derzeit davon aus das Du mit "einer Seite" den Reials Kontakt meinst und mit anderer Seite den anderen Relais Kontakt. D.h Das Relais wird von extern angesteuert und Du willst den geschlossenen Zustand der Kontakte von dem Relais abfagen.

dann ist ,denke ich, die Schaltung besser wenn das Relais nach 0V schaltet.
von 5V über >= 1 KOhm an den Eingang
von da enenfalls an den einen Relaiskontakt
andere Seite des Relaiskontaktes nach 0V

damit liegt der Eingang zum einen ziemlich niederohmig auf plus im anderen zustand eindeuig auf 0V

Leider dreht sich damit deine Logik um, das bekommst Du aber sicher einfach hin indem Du die Abfrage mit ! negierst.

Gruß Heinz

root28312:
Das Relais ist mit dem Arduino auf einer Platine. Kabel sind nur für den Schaltkreis des Relais.

Ich will mein Projekt nicht ändern, deswegen muss das Serial bleiben.

Wie groß/klein muss der Widerstand sein?

Mach den Widerstand ruhig mal kleiner, es geht auch 1k oder 2k2.
Und wenn du das Problem nicht weg bekommst, solltest du dir Gedanken machen, das ohne Interrupt zu lösen.
Wobei ich immer noch nicht erkenne, warum du den Interrupt überhaupt brauchst.

Und ein Schaltbild deines Aufbaus würde uns auch helfen.

HotSystems:
Wobei ich immer noch nicht erkenne, warum du den Interrupt überhaupt brauchst.

Sieht nach Unwissenheit aus. Und schlechtem Umgang mit der seriellen Schnittstelle. In der Tat sind Interrupts hier vollkommen überflüssig. Bei einfachem Polling kann er aber auch Probleme bekommen

Serenifly:
Sieht nach Unwissenheit aus. Und schlechtem Umgang mit der seriellen Schnittstelle. In der Tat sind Interrupts hier vollkommen überflüssig. Bei einfachem Polling kann er aber auch Probleme bekommen

Und genau wegen der Unwissenheit sollte der TO es mal mit einfachen Mitteln durchspielen und ohne Interrupt testen.
Wenn er es dann zum Laufen bekommt, ist der Interrupt überflüssig.

Leider sind seine Angaben bisher sehr dürftig.

Was macht die Serielle überhaupt ?

Es ist doch immer wieder das gleiche....

Schaltplan geheim
Programm geheim

"Helft mir!! Aber ich gebe nicht preis, was ihr wissen müsst"


Und auch hier immer das gleiche:

Störungen beseitigt man an der Quelle.
Also z.B. das Leuchtdingen durch eine LED Röhre ersetzen
Netzfilter davor

--

Die Schaltung resistent gegen Störungen machen.
Netzfilter davor.
Störabstand vergrößern
Kabel schirmen
Geerdetes Metallgehäuse
Tiefpass in die Signalleitung
Entprellen.
Klappferrite an alle Ein- und Ausgänge


Und wofür der Interrupt gut sein soll, weiß immer noch keiner...

Ok Ok. das habe ich gelesen:

Interrupt ist nötig, da ich im Main-Thread über Serial kommuniziere.

Aber nicht verstanden!
Insbesondere nicht, was ein UART Interrupt mit einem Pullup oder Pulldown zu tun haben soll.

Und auch nicht, warum gerade Anfänger so gerne zu unnötigen Interrupts greifen.
Als wenn sie nicht ohne, schon genug Probleme hätten.


Probier mal einen 4,7k Pullup. Eine Leitung die normal Low ist ist anfälliger gegenüber Störungen.

Ja?
Sehe ich nicht...

Aber davon mal abgesehen, was ich nicht sehe:
Wenn das Detail die Waage zum Ausschlag bringt, dann ist was anderes faul.
Derbe faul.


Ich bin ja Anfänger,..

Das musst du nicht betonen. (das sehen wir/ich auch so)
Je öfter du das sagst, desto länger bleibt der Zustand stabil.
Denn desto fester glaubst du selber daran!

Tipp:
Wir können den Zustand nicht ändern.
Aber du.