Multiplexer 4051 Stoerungen im Auto

Hallo,

ich habe acht Schalter ueber einen HCF4051BE Multiplexer an meinem Arduino UNO und ein 2,4" TFT Display.

Den Multiplexer mit Arduino und Display habe ich nun in einem PKW verbaut. Der multiplexer ist im Motorraum und der Arduino mit Display vorne auf am Armaturenbrett. Dort funktioniert er aber nur bedingt zuverlaessig. Auf meinem Breadboard hat alles Top funktioniert.

Alle acht Eingaenge sind ueber 10k Pull-up Wiederstaende nach 5V gezogen. Den Ausgang habe ich auch ueber einen 10k Wiederstand nach 5v gezogen.

Mal liest er die Schalterzustaende richtig ein und manchmal springt die Ausgabe aber wild hin und her.

Was koennte das Problem sein?

Danke!

petemanzel:
Was koennte das Problem sein?

Die Störungen die du im Auto hast.
Bei dem langen Kabel zwischen Arduino und deinem Multiplexer wirst du immer Probleme haben.
Du musst die beiden Einheiten zusammenbringen.
Was soll der Multiplexer denn machen?

HCF 4051 ist ein Analog-Multiplexer.

Willst du damit 8 Schalterzustände (Ein/Aus) abfragen ?

Ich habe ein 2m langes LAN-Kabel verwendet um beide Einheiten zu verbinden. Der Multiplexer soll die Schaltzustaende der elektrischen Verbraucher wie Benzinpumpe, Luefter, etc. einlesen und die sollen dann auf dem Display ausgegeben werden.

Alle acht Eingaenge sind ueber 10k Pull-up Wiederstaende nach 5V gezogen.

?
Zeig mal wie ...

@Michael: Im Moment sind es Schalter aber ich haette wenn das ganze dann funktioniert gerne auch Potis wie z.B. Drosselklappensensor ausgelesen. Deshalb ein Analog-Multiplexer. Ich hatte auch urspruenlich an ein 8-Bit Schieberegister gedacht habe mich aber dann fuer den 4051 enschieden.

Habe ich da was falsches gedacht?

petemanzel:
Ich habe ein 2m langes LAN-Kabel verwendet um beide Einheiten zu verbinden. Der Multiplexer soll die Schaltzustaende der elektrischen Verbraucher wie Benzinpumpe, Luefter, etc. einlesen und die sollen dann auf dem Display ausgegeben werden.

Da würde mich schon interessieren, wie das funktionieren soll.
Im KFZ hast du normalerweise 12 Volt Bordspannung.
Die gibst du dann auf den Multiplexer?
Ist dir bekannt, wie hoch Spannungsspitzen im Auto sein können?
So einfach, wie du es dir vorstellst, ist es sicher nicht.

michael_x:
?
Zeig mal wie …

Ich habe mal einen Pin dargestellt.

@HotSystems:

Ich gebe ja keine 12V auf den Multiplexer respektive Arduino. Ich messe die Zustaende an den Relais oder Schaltern gegen Masse (also Kontakt offen oder geschlossen).

Wie gesagt es funktioniert ja. Aber manchmal faengt es an verrueckt zu spielen.

petemanzel:
@HotSystems:

Ich gebe ja keine 12V auf den Multiplexer respektive Arduino. Ich messe die Zustaende an den Relais oder Schaltern gegen Masse (also Kontakt offen oder geschlossen).

Wie gesagt es funktioniert ja. Aber manchmal faengt es an verrueckt zu spielen.

Und du bist dir sicher, dass im geöffneten Zustand des Kontaktes keine 12 Volt anliegen?

HotSystems:
Und du bist dir sicher, dass im geöffneten Zustand des Kontaktes keine 12 Volt anliegen?

Ja, plus liegt direkt an und Masse wird geschaltet.

petemanzel:
Ja, plus liegt direkt an und Masse wird geschaltet.

Hast du denn den Anschluss mal gemessen, wenn keine Masse anliegt?
Danach bleibt ja noch die Störung, die den Arduino durcheinander bringt.
Es könnte etwas helfen, wenn du die PullupWiderstände kleiner machst.

In deinem Bild soll S1 einen Öldruckschalter oder sowas darstellen, der Masse an den Ausgang schaltet, (oder auch nicht), für die Auto - Elektrik.

Hast du denn den Anschluss mal gemessen, wenn keine Masse anliegt?

Ein Optokoppler + Vorwiderstand (parallel zum Schalter) wäre evtl. sinnvoll.

Ich gebe ja keine 12V auf den Multiplexer respektive Arduino. Ich messe die Zustaende an den Relais oder Schaltern gegen Masse (also Kontakt offen oder geschlossen).

Aus Deinem kleinen Schaltplan erkennt man aber nicht wie das verdrahtet ist.
Der 4051 kann bis 15V, als 4051BE Type sogar bis 18V, aber die 12V dürfen bei VDD = 5V nie an die Pins, das schlägt sonst durch bis zum Arduino-Chip (R.I.P.) !

Du brauchst einen Spannungsteiler der die Spannung bei 12 bis 14,2V auf 5V (VDD) runter teilt, und gegen die Störspitzen noch eine Suppressor-Diode. Bild im Anhang.

Gruß Melmac

melmac:
... Bild im Anhang ...

Super – dass ich zu kapieren glaube, was da wie vor sich geht, macht Mut :slight_smile: In meinem „The Art of Electronics“ bin ich erst auf Seite 27 von etwa 1200.

Was ich mich allerdings frage, ist, was das für eine Zenerdiode ist. Gibt es welche mit/für 5 V?! Ich glaube, mich erinnern zu können, dass es Zenerdioden nur bis 2,4 V gibt.

Gruß

Gregor

gregorss:
Super – dass ich zu kapieren glaube, was da wie vor sich geht, macht Mut :slight_smile: In meinem „The Art of Electronics“ bin ich erst auf Seite 27 von etwa 1200.

Was ich mich allerdings frage, ist, was das für eine Zenerdiode ist. Gibt es welche mit/für 5 V?! Ich glaube, mich erinnern zu können, dass es Zenerdioden nur bis 2,4 V gibt.

Gruß

Gregor

Hier liegst du verkehrt. Das ist eine Suppressor-Diode.
Und Z-Dioden oder Zenerdioden gibt es auch für höhere Spaannungen, ich habe schon welche für 33 Volt verbaut.

HotSystems:
Hier liegst du verkehrt. Das ist eine Suppressor-Diode.
Und Z-Dioden oder Zenerdioden gibt es auch für höhere Spaannungen, ich habe schon welche für 33 Volt verbaut.

Ach so. Ich vermute, dass ich diesen Dioden auf einer der ca. 1170 noch zu lesenden Seiten meines aktuellen Lieblingsbuchs begegne.

Ich bin dann mal lesen ...

Gregor

gregorss:
Was ich mich allerdings frage, ist, was das für eine Zenerdiode ist. Gibt es welche mit/für 5 V?! Ich glaube, mich erinnern zu können, dass es Zenerdioden nur bis 2,4 V gibt.

Natürlich gibt es die.Ich habe sogar welche für über 90V, wobei ich allerdings nicht weiß, was ich mit denen anstellen soll.

michael_x:
In deinem Bild soll S1 einen Öldruckschalter oder sowas darstellen, der Masse an den Ausgang schaltet, (oder auch nicht), für die Auto - Elektrik.

Ein Optokoppler + Vorwiderstand (parallel zum Schalter) wäre evtl. sinnvoll.

Genau, das soll ein so ein Schalter sein!

Was waere denn ein sinnvoller Signalpfad?

  1. Im Motorraum Kontakte abgreifen und an einem Arduino der nur misst und dann per z.B. RS485 an einen Arduino im Armaturenbrett uebertragen, der sich nur um die Ausgabe kuemmert?

oder

  1. Lange Leitungen (ca. 2,5m) direkt aus dem Motorraum an den Arduino im Armaturenbrett -> Signal aufbereiten (Optokoppler, Schmitt-Trigger, Hysterese)?