Ich habe 8 Mux 74hc4067, von denen ich mit einem ESP32 den digitalen
Wert des Signalausgangs pro Kanal auslesen möchte. Der Sig-pin ist fest
mit 3,3 Volt verbunden. Die Ausgänge c0 bis c15 sind über Taster mit 3,3
Volt verbunden. Die Adressleitungen sind korrekt mit den Mux verbunden.
Folgenden Code habe ich auf meinem ESP programmiert:
// Gib den Multiplexer, Kanal und Wert auf dem seriellen Monitor aus
47
Serial.print("Multiplexer ");
48
Serial.print(mux + 1);
49
Serial.print(", Kanal ");
50
Serial.print(channel);
51
Serial.print(": ");
52
Serial.println(value);
53
// Warte eine kurze Zeit
54
delay(10);
55
digitalWrite(en[mux], HIGH);
56
}
57
}
58
// Deaktiviere den aktuellen Multiplexer
59
digitalWrite(en[mux], HIGH);
60
delay(100);
61
}
62
}
Merkwürdigerweise zeigt der serielle Monitor unter anderem, ohne dass
ich eine Taste drücke, folgende Ausgaben an:
Multiplexer 4, Kanal 13: 1
Multiplexer 4, Kanal 14: 1
Multiplexer 4, Kanal 15: 1
Multiplexer 5, Kanal 8: 1
Multiplexer 5, Kanal 9: 1
Multiplexer 5, Kanal 10: 1
Multiplexer 5, Kanal 11: 1
Multiplexer 5, Kanal 12: 1
Multiplexer 5, Kanal 13: 1
Multiplexer 5, Kanal 14: 1
Multiplexer 5, Kanal 15: 1
Die unteren 8 Kanäle des MUX werden richtig nicht ausgegeben, da ja ohne
Tastendruck diese nicht aktiviert werden. Warum werden aber die oberen 8
Kanäle mit dem Wert 1 ausgegeben, ohne dass der Kanal auf 3,3 Volt
gezogen wird´?
https://www.ti.com/lit/ds/symlink/cd74hc4067.pdf> Ausgänge c0 bis c15
Die sind bidirektional, also Ein- oder Ausgang. Das ist ein
Analogschalter, der eines von 16 Signalen mit dem gemeinsamen Pin
"COMMON INPUT/OUTPUT" durchschaltet (wenn der /Enable low ist).
Kann es ein Hardwareproblem sein, Löt- oder Verdrahtungsfehler?
Es ist immer nur einer der 16 Anschlüsse zum gemeinsamen Anschluss
durchgeschaltet, die anderen 15 "hängen in der Luft". Der Pegel dort ist
beliebig und hängt vom Ladezustand der Eingangskapazität ab.
Hallo Christoph,
vielen Dank für Deinen Beitrag. Lötprobleme scheiden aus, da ich die
Verbindungen durchgemessen habe. Hardwarefehler möchte ich auch
ausschließen, da bei allen 8 Mux die gleiche Ausgabe stattfindet. Auch
ein Tausch des ESP bringt keine Besserung. Keine Ahnung, woran das
liegen könnte. Vielleicht wäre es eine Idee, den Ausgängen c0 bis c15
einen Pull-Down-Widerstand vorzuschalten?
Gruß
U.K.
1. Du schreibst: "Der Sig-pin ist fest mit 3,3 Volt verbunden."
Wieso sollte dann beim Lesen des sig-pins etwas anderes als 1
herauskommen?
2. Du liest immer nur den 1. Kanal richtig.
digitalWrite(en[mux], HIGH);
steht innerhalb der for Schleife für die Kanäle und damit wir nach
dem Lesen des 1.Kanals der Multiplexer deaktivert.
Aber beim nächsten Durchlauf wird doch dann der zweite Kanal des Mux
aktiviert und der Wert des sig-pins wird an den uC weitergebeb,
Außerdem wird doch für den ersten Kanal keine 1 ausgegeben.
>Der Sig-pin ist fest mit 3,3 Volt verbunden. Die Ausgänge c0 bis c15 sind >über
Taster mit 3,3 Volt verbunden. Die Adressleitungen sind korrekt mit den >Mux
verbunden.
Und das malst Du uns mal bitte auf. Danke!
Ulrich K. schrieb:> Aber beim nächsten Durchlauf wird doch dann der zweite Kanal des Mux> aktiviert und der Wert des sig-pins wird an den uC weitergebeb,> Außerdem wird doch für den ersten Kanal keine 1 ausgegeben.
Aber der enable-Eingang des Multiplexers wird deaktiviert, also ist egal
welcher Kanal aktiviert wird.
Zeig am Besten einfach mal den Schaltplan.
Ulrich K. schrieb:> Vielleicht wäre es eine Idee, den Ausgängen c0 bis c15> einen Pull-Down-Widerstand vorzuschalten?
Nein.
Zeige, wie schon mehrfach erwähnt, den Schaltplan.
Ulrich K. schrieb:> Hallo Christoph,>> vielen Dank für Deinen Beitrag. Lötprobleme scheiden aus, da ich die> Verbindungen durchgemessen habe.
Das haben hier schon einige User behauptet, was sich dann aber öfter
doch anders dargestellt hat. Zeige daher bitte auch Fotos vom Aufbau.
Beim nächsten Durchlauf wird doch der nächste Mux mit
for (int mux = 0; mux < 8; mux++)
{
// Aktiviere den aktuellen Multiplexer
digitalWrite(en[mux], LOW); .... aktiviert und dann wieder die 16
Eingänge ausgelesen.
Jörg R. schrieb:> Ulrich K. schrieb:>> Vielleicht wäre es eine Idee, den Ausgängen c0 bis c15>> einen Pull-Down-Widerstand vorzuschalten?> Nein.> Zeige, wie schon mehrfach erwähnt, den Schaltplan.> Ulrich K. schrieb:>> Hallo Christoph,>> vielen Dank für Deinen Beitrag. Lötprobleme scheiden aus, da ich die>> Verbindungen durchgemessen habe.> Das haben hier schon einige User behauptet, was sich dann aber öfter> doch anders dargestellt hat. Zeige daher bitte auch Fotos vom Aufbau.
Ich würde sagen, wenn das Ohmmeter vom Beginn bis zum Ende einer
Verbindung 1 Ohm anzeigt, dürfte man von einer funktionierenden
Verbindung ausgehen.
Ulrich K. schrieb:> Ich würde sagen, wenn das Ohmmeter vom Beginn bis zum Ende einer> Verbindung 1 Ohm anzeigt, dürfte man von einer funktionierenden> Verbindung ausgehen.
Da kann auch ein Kurzschluss die Ursache sein.
Was soll das Bild darstellen? Ein Schaltplan sieht anders aus.
Ulrich K. schrieb:> Jörg R. schrieb:> (..)> Ich würde sagen, wenn das Ohmmeter vom Beginn bis zum Ende einer> Verbindung 1 Ohm anzeigt, dürfte man von einer funktionierenden> Verbindung ausgehen.
Du hast ein Problem und suchst Hilfe..nicht wir.
Dein „Plan“ ist eine Frechheit. Es ist kein Schaltplan und zeigt auch
nichts vom tatsächlichen Aufbau.
Ich wünsche Dir viel Glück bei der weiteren Fehlersuche🍀
Ulrich K. schrieb:> Lötprobleme scheiden aus, da ich die> Verbindungen durchgemessen habe.
Ja, klar, du schliesst Fehler deinerseits aus, das sagt bereits
der Titel deines Threads aus: Nicht du machst Probleme bzw.
Fehler, sondern der 74hc4067 hat ein "merkwürdiges Verhalten".
Ulrich K. schrieb:> Beim nächsten Durchlauf wird doch der nächste Mux mit> for (int mux = 0; mux < 8; mux++)> {> // Aktiviere den aktuellen Multiplexer> digitalWrite(en[mux], LOW); .... aktiviert und dann wieder die 16> Eingänge ausgelesen.
Die Zeile
digitalWrite(en[mux], HIGH);
Steht dort zweimal!
Einmal in der for Schleife für die Kanäle (dort ist sie falsch) und
einmal in der for Schleife für die Multiplexer.
Wastl schrieb:> der 74hc4067 hat ein "merkwürdiges Verhalten".
Ein "merkwürdiges Verhalten" haben CMOS-Schaltungen oftmals dann,
wenn sie keine Plusversorgung haben und sich ihr "Plus" über die
Steueranschlüsse holen.
> 1 Ohm
laut Datenblatt ein Durchgangswiderstand um 70 Ohm je nach
Betriebsspannung.
Und die Sperrdämpfung je nach Frequenz >100dB, ansteigend auf <20dB bei
100 MHz.
Eingangskapazität 5pF (bzw. 50 pF für den gemeinsamen Anschluss).
Je ein pull-down würde das zumindest gleicher machen und die seltsamen
Unterschiede verringern, die den Verdacht auf Schaltungsfehler wecken.
Wastl schrieb:> Harald W. schrieb:>> .... Käse ....> Denn du hast meinen Beitrag nicht verstanden.
Mein Beitrag war ja auch nicht für Dich bestimmt, sondern für den TE
um ihm eine weitere Fehlermöglichkeit für "merkwürdiges Verhalten"
von CMOS-ICs aufzuzeigen.
Harald W. schrieb:> Mein Beitrag war ja auch nicht für Dich bestimmt
Dann antworte nicht mit Zitaten von mir sondern mit solchen
die andere Leute ansprechen.
Helmut -. schrieb:> Schaltplan??? Foto vom Aufbau???Mc M. schrieb:> Ulrich K. schrieb:>> Aber beim nächsten Durchlauf wird doch dann der zweite Kanal des Mux>> aktiviert und der Wert des sig-pins wird an den uC weitergebeb,>> Außerdem wird doch für den ersten Kanal keine 1 ausgegeben.> Aber der enable-Eingang des Multiplexers wird deaktiviert, also ist egal> welcher Kanal aktiviert wird.> Zeig am Besten einfach mal den Schaltplan.
Hab mir die Mühe gemacht, die Beschaltung der Bauteile klarer zu
zeichnen, hoffe, das ist ausreichend.
Ulrich K. schrieb:> Helmut -. schrieb:>> Schaltplan??? Foto vom Aufbau???>> Mc M. schrieb:>> Ulrich K. schrieb:>>> Aber beim nächsten Durchlauf wird doch dann der zweite Kanal des Mux>>> aktiviert und der Wert des sig-pins wird an den uC weitergebeb,>>> Außerdem wird doch für den ersten Kanal keine 1 ausgegeben.>> Aber der enable-Eingang des Multiplexers wird deaktiviert, also ist egal>> welcher Kanal aktiviert wird.>> Zeig am Besten einfach mal den Schaltplan.>> Hab mir die Mühe gemacht, die Beschaltung der Bauteile klarer zu> zeichnen, hoffe, das ist ausreichend.
Was an Foto(s) vom Aufbau verstehst Du nicht?
Der "Schaltplan" ist immer noch eine Frechheit.
Jörg R. schrieb:> Ulrich K. schrieb:>> Helmut -. schrieb:>>> Schaltplan??? Foto vom Aufbau???>>>> Mc M. schrieb:>>> Ulrich K. schrieb:>>>> Aber beim nächsten Durchlauf wird doch dann der zweite Kanal des Mux>>>> aktiviert und der Wert des sig-pins wird an den uC weitergebeb,>>>> Außerdem wird doch für den ersten Kanal keine 1 ausgegeben.>>> Aber der enable-Eingang des Multiplexers wird deaktiviert, also ist egal>>> welcher Kanal aktiviert wird.>>> Zeig am Besten einfach mal den Schaltplan.>>>> Hab mir die Mühe gemacht, die Beschaltung der Bauteile klarer zu>> zeichnen, hoffe, das ist ausreichend.>> Was an Foto(s) vom Aufbau verstehst Du nicht?>> Der "Schaltplan" ist immer noch eine Frechheit.
Verstehe nicht, was an dem Schaltplan nicht in Ordnung ist, für mich
zeigt ein Schaltplan die Bauteile und die Verbindungen. Wenn ich mich
irre, dann wäre es nett, mir mitzuteilen, was daran falsch ist.
Was ein Foto vom Aufbau an weiterer Klarheit bringen soll, ist mir auch
nicht klar, aber ....
Leider konnte ich die nochmal angehängten Schaltpläne nicht entfernen.
Wenn ich mir den zitierten Schaltplan ansehe, dann kann ich keinen
großen Unterschied zu meinem außer vielleicht in den Stilelementen
feststellen. Auch dort sind Bauteile und die Verbindungen zwischen den
einzelnen Píns dargestellt.
Ulrich K. schrieb:> Harald K. schrieb:>> Ulrich K. schrieb:>>> Wenn ich mir den zitierten Schaltplan ansehe, dann kann ich keinen>>> großen Unterschied zu meinem außer vielleicht in den Stilelementen>>> feststellen.>>>> Ach?>>>> https://www.mikrocontroller.net/attachment/657891/Schaltpult_Aufsicht.jpg>>>> Was ist das denn!?>> Du wolltest doch ein Foto vom Aufbau.
Du willst uns verarschen:-(
Ich denke Du kommst auch gut alleine klar..
Jemand der Hilfe sucht tritt anders auf. Du betreibst hier Salamitaktik,
allerdings ohne Salami.
Ulrich K. schrieb:> Du wolltest doch ein Foto vom Aufbau.
Ist das wieder so eibe Stellwerk-Schalttafel mit einem vietel
Quadratmeter?
Nur, damit wir alle über die selbe Schaltung diskutieren: mach da mal
alles runter, was nicht auf dem Schaltplan ist.
Lothar M. schrieb:> Ulrich K. schrieb:>> Du wolltest doch ein Foto vom Aufbau.> Ist das wieder so eibe Stellwerk-Schalttafel mit einem vietel> Quadratmeter?>> Nur, damit wir alle über die selbe Schaltung diskutieren: mach da mal> alles runter, was nicht auf dem Schaltplan ist.
Was meinst Du damit???
Jörg R. schrieb:>>> Ulrich K. schrieb:>>>> Wenn ich mir den zitierten Schaltplan ansehe, dann kann ich keinen>>>> großen Unterschied zu meinem außer vielleicht in den Stilelementen>>>> feststellen.>>> Ach?https://www.mikrocontroller.net/attachment/657891/Schaltpult_Aufsicht.jpg>>> Was ist das denn!?>> Du wolltest doch ein Foto vom Aufbau.> Du willst uns verarschen:-(> Ich denke Du kommst auch gut alleine klar..> Jemand der Hilfe sucht tritt anders auf. Du betreibst hier Salamitaktik,> allerdings ohne Salami.
Es wäre schön, wenn ich statt der in den Foren leider üblich gewordenen
kritisierenden Beiträge konstruktive Lösungen (wie z.B. die von Mc M.
(mcmix)13.01.2025 16:46) unter der Voraussetzung fehlerfreier Schaltung
(soll ja auch vorkommen) bekäme.
Ulrich K. schrieb:> Es wäre schön, wenn ich .....
... statt Schrott-Dokumente zu liefern endlich klar leserliche und
hochaufläsende Schaltpläne und Fotos vom Aufbau zeigen würde.
Ulrich K. schrieb:>> Ulrich K. schrieb:>>> Helmut -. schrieb:>>>> Schaltplan??? Foto vom Aufbau???
Ich bin raus! Sowas als Schaltplan anzubieten ist eine bodenlose
Frechheit. Und das Foto vom Aufbau auch!
Zum Schaltplan: durch Bauteile zieht man NIE ünd NIMMER irgendwelche
Leitungen.
Und zum Aufbaufoto: erkennst du da irgendwelche Teile? Wie ist die
Verdrahtung, wie ist die Stromversorgung?
Pull-Downs 1K an jeden Signaleingang des 4067 und an jeden seiner
Betriebsspannungsanschlüsse 100nF. Sag jetzt nicht "Die sind ja dran, ab
sie nur nicht mitgezeichnet"
(Die teilnehmenden Hilfesteller haben durchaus Recht: man erkennt nix!,
die Dateigröße darf ruhig 600k, statt 63k betragen)
> Die Ausgänge c0 bis c15 sind über Taster mit 3,3 Volt verbunden.
Die meine ich. In deinem Fall sind es "Eingänge". Dort kommt überall je
ein 1K gegen GND direkt am Pin.
> Der Sig-pin ist fest mit 3,3 Volt verbunden.
Stimmt nicht. er ist mit dem "Pin4" (lt.Plan
https://www.mikrocontroller.net/attachment/657890/Schaltplan_Mux.jpg )
des ESP verbunden. Die Aussage hat viel Verwirrung gestiftet. Hiernach
geht aber auch der steuereingang"A" des 4067 an GND, sofern ich das
erkennen kann. Kann aber auch PIN8 sein. Man weis es nicht. Die
Beschriftung ist etwas verrutscht.
Und genau das ist gemeint mit: "Dein Plan ist Mist"
Was wird das überhaupt? Wer fertigt solch riesige Leiterplatten und
warum hast Du die 4067 nicht gleich aufs Bord gebracht, sondern lieber
diese blauen Platinen verwendet, wenn Du sowieso ein Layout angefertigt
hast?
Peter D. schrieb:> Wie bereits gesagt: value = digitalRead(sig);> // *** insert Breakpoint or serial / key input here ***> if (value == 1)>> Und dann messen.> Kaffeesatz lesen kann hier keiner.
Ich danke allen, die wirklich konstruktive Beiträge geliefert haben
(davon gab es wirklich einige). Allen Anderen möchte ich zwar auch für
Ihre wenn auch nicht weiterführenden Beiträge danken. Ich habe nach
einer Gedankenpause noch einmal logisch überlegt und bin dadurch dem
Fehler auf die Spur gekommen. Es war tatsächlich ein Lötbrücke. Diesen
Fehler konnte man letztlich durch logische Auswertung der seriellen
Ausgabe eingrenzen.
Pull-down-Widerstände sind bei meiner Schaltung nicht notwendig, alles
funktioniert jetzt nach Beseitigung des Fehlers einwandfrei.
Ulrich K. schrieb:> (..)> Ich danke allen, die wirklich konstruktive Beiträge geliefert haben> (davon gab es wirklich einige). Allen Anderen möchte ich zwar auch für> Ihre wenn auch nicht weiterführenden Beiträge danken.> Ich habe nach einer Gedankenpause noch einmal logisch überlegt und> bin dadurch dem Fehler auf die Spur gekommen.
Du hättest einfach früher auf einige User hören sollen, anstatt auf dem
hohen Roß sitzen zu bleiben.
> Es war tatsächlich ein Lötbrücke. Diesen Fehler konnte man letztlich> durch logische Auswertung der seriellen Ausgabe eingrenzen.
Ja, aber wem erzählst Du das?
Lötprobleme hast Du übrigens weiter oben kategorisch ausgeschlossen.
Jörg R. schrieb:> Ulrich K. schrieb:>> Hallo Christoph,>>>> vielen Dank für Deinen Beitrag. Lötprobleme scheiden aus, da ich die>> Verbindungen durchgemessen habe.>> Das haben hier schon einige User behauptet, was sich dann aber öfter> doch anders dargestellt hat.> Pull-down-Widerstände sind bei meiner Schaltung nicht notwendig, alles> funktioniert jetzt nach Beseitigung des Fehlers einwandfrei.
Man lässt Eingänge von ICs nicht offen.
Vielleicht trittst Du beim nächsten mal etwas anders auf. Viele User
hier sind Ingenieure, Techniker oder zumindest engagierte
Hobbyelektroniker. Wenn da nach Schaltplänen, Fotos vom Aufbau usw.
gefragt wird machen die das nicht aus Langeweile.
Was glaubst Du wieviele User hier schon eine LED falsch herum auf dem
Breadboard gesteckt hatten, und die sich nicht erklären konnten weshalb
sie nicht leuchtet? Gern gesehen sind auch vertauschte D und S Pins bei
Mosfets. So etwas sieht man auf einem Foto des Aufbaus sehr schnell. Die
User waren aber felsenfest überzeugt davon alles richtig gemacht zu
haben, bis dann das Foto kam.
Deine gezeigten Fotos usw. sind weit weg von dem was auch im
entferntesten Sinne zur Hilfsbereitschaft aufruft. Du willst nicht
einmal den Unterschied zwischen deinem und einem von einem anderen User
gezeigten Schaltplan erkennen.
Hier ist wohl kaum jemand der dein Layout, also die Anordnung der
Bauteile, nachvollziehen kann. Vielleicht hätte hier etwas an
Erläuterung Deinerseits gut getan.
Auf den 74HC4067 Breakouts sitzen vermutlich Abblockkondensatoren.
Trotzdem fehlen mir auf dem PCB weitere Kondensatoren in der
Stromversorgung. Das PCB ist so groß, das hätten hier vermutlich einige
User anders gemacht, angefangen bei der Auswahl der ICs.
Jörg R. schrieb:> Was glaubst Du wieviele User hier schon eine LED falsch herum auf dem> Breadboard gesteckt hatten, und die sich nicht erklären konnten weshalb> sie nicht leuchtet?
Und alle, die behaupten, soetwas sei Ihnen noch nie passiert, sind
entweder Lügner oder absolute Anfänger (erste Schaltung). :-)
Sei mir nicht böse, ich will weder die Qualifikation der
Beitragleistenden in Frage stellen noch verkenne ich den Unterschied
zwischen meinem "Schaltplan" und dem zitierten. Da ich aber nur 2
unterschiedliche Bauteile auf meiner PCB habe und die wenigen
Verbindungen meiner Meinung nach deutlich eingezeichnet habe (in
Ermangelung eines passenderen Schaltungszeichnungsprogramms), bin ich
der Meinung, dass man die Schaltung auch in meinem Diagramm gut
nachvollziehen kann. Zu dem Foto kann ich sagen, dass eine Begutachtung
der Leiterbahnen aufgrund der doppelseitigen Platine und der zahlreichen
Leiterbahnen (Eingänge der Multiplexer und Spannungsversorgung) kaum
möglich ist. Bei den wenigen Verbindungen zwischen uC und den 8
Multiplexern würde auch der Schaltplan ausreichen.
Lötprobleme habe ich nicht ausgeschlossen, ich habe lediglich
geschrieben, dass ich die Verbindungen geprüft habe.
Aber ich denke, dass jetzt genug Beiträge gewechselt wurden und dass
jeder seine eigene Meinung haben kann.
Ulrich K. schrieb:> noch verkenne ich den Unterschied> zwischen meinem "Schaltplan" und dem zitierten.
Ach. Das klang neulich aber noch anders:
Ulrich K. schrieb:> Verstehe nicht, was an dem Schaltplan nicht in Ordnung ist, für mich> zeigt ein Schaltplan die Bauteile und die Verbindungen.
Ulrich K. schrieb:> Sei mir nicht böse,
Sorry Ulrich, aber Du bleibst vollkommen uneinsichtig. Dein „Schaltplan“
bleibt eine Frechheit, das „Foto“ ist vollkommen unscharf.
Ich kann Dir nur den wirklich guten gemeinten Ratschlag geben bei
zukünftigen Anfragen anders aufzutreten, vor allem aber deutlich bessere
Informationen zu liefern.