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´?
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.
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.
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.
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.
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:
(..)
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🍀
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".
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.
Ein "merkwürdiges Verhalten" haben CMOS-Schaltungen oftmals dann,
wenn sie keine Plusversorgung haben und sich ihr "Plus" über die
Steueranschlüsse holen.
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.
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.
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.
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.
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.
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.
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?
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.
(..)
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.
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.
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.
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.