Forum: Mikrocontroller und Digitale Elektronik 8-1 Mux Beschaltung (inkl Schalterentprellung) - wo ist der Fehler?


von Alex V. (bastel_alex) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen, ich bin ein wenig überrascht, dass sich bei mir ein 
Fehler eingeschlichen hat, der wahrscheinlich so trivial sein sollte, 
dass er mir wieder nicht auffallen will... und von euch bekomme ich ihn 
(hoffentlich) gleich um die Ohren gehauen..

Ich verwende einen 74F251AN (8 auf 1) MUX 
(http://www.datasheets360.com/pdf/-6217336852660835694 )  um das Signal 
(SIG1-8 im Schaltplanauszug) eines Tastendrucks vom derzeit aktiven der 
8 gemuxten Taster auf eine einzelne Leitungzu schalten. Die Taster 
ziehen jeweils einen Spannungsteiler auf HIGH (5V, Der Schalter ist über 
den Pin 4 des Steckers SV1(-8) angeschlossen). Wenn die Taster nicht 
gedrückt sind, ist diese Leitung offen. Im Schaltplan befindet sich noch 
ein 74HC75D quad latch, das hier gerne übersehen werden darf (hat nichts 
mit dem Problem zu tun).

Der Spannungsteiler war aus mehreren Gründen so ausgelegt: a) er macht 
aus 5V  3.3V, diese sind immernoch bei weitem genug für den MUX.  b) der 
68k soll als pulldown auf gnd die leitung stabilisieren. c) der 20n 
Kondensator soll das Signal entprellen.

Nun ist das Problem, dass bei offenem Schalter (nichts gedrückt) die SIG 
lines (hier SIG1) NICHT auf 0V (LOW) liegt. Aus irgendeinem Grund zieht 
der MUX den Ausgang hoch und die Schaltung reicht nicht aus um auf low 
zu ziehen, wenn der Taster nicht gedrückt ist.

Nun frage ich mich a) woran liegts und b) was habe ich im Datenblatt 
übersehen? Den interne pullup/down widerstand des MUX habe ich dort 
nicht finden können, ich war aber davon ausgegangen, dass ich mit diesen 
Standardgrößen nicht völlig falsch liegen kann.

von Jobst Q. (joquis)


Lesenswert?

Ich vermute mal dass die 74F Serie eine niedrigere Eingangsimpedanz 
benötigt, da sie besonders schnell sein will. Versuchs mal mit HC oder 
HCT.

Oder nimm einen 4051.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Das Motorola Datenblatt zum 74F251 sagt, das für den High Zustand am 
Eingang etwa 20-100µA nötig sind, für low aber etwa -600µA.
Das entspricht auch dem normalen Verhalten von TTL Bausteinen(Standard, 
S und LS Serie), bei denen ein offener Eingang immer high ist. CMOS 
verhält sich da deutlich anders und ist bei einem so hochohmigen 
Spannungsteiler die einzige Möglichkeit. Du kannst auch den 
Spannungsteiler niederohmiger machen, es ist aber vermutlich einfacher, 
den F251 zu ziehen und einen HC(T)251 zu stecken.

: Bearbeitet durch User
von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Danke für eure Hinweise, ich werde morgen mal den Spannungsteiler gegen 
3.3k und 6.8k austauschen und schauen obs das war (muss nicht effizient 
sein, die Anwendung), die HC(T) reihen hab ich grad nicht da.

Ein bisschen frustrierend aber schon, ich war der meinung (m)ein 
Datenblatt zu studieren sollte ausreichen, hätte ich mal das von 
Motorola gehabt. So gibts dann Überraschungen die man nur verhindern 
kann, wen man auch noch Details/Specs der Architektur (CMOS etc) 
kennt...

Grüße
Alex

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Dein Schaltplan ist nutzlos, da er das wichtigste nicht zeigt, nämlich 
wie die Tasten angeschlossen sind.
Offene Eingänge sind ganz schlecht, da undefiniert.
Üblich schaltet man die Tasten gegen GND mit einen Pullup gegen VCC.
MCs haben oft interne Pullups, die man aktivieren kann.
Die alten TTL-ICs (LS, F) ziehen zwar auch gegen VCC, aber nur bis zur 
Schaltschwelle, sind daher sehr empfindlich und als Pullup nicht 
geeignet.

von Michael U. (amiga)


Lesenswert?

Hallo,

Standard-TTL und Abkömmlinge wollte meist sogar noch weniger Widerstand 
gegen GND, um sicher Low zu erkennen.
Ich meine damals meist 1k genommen zu haben, wenn es mal nötig war.

Gruß aus Berlin
Michael

von Peter D. (peda)


Lesenswert?

Michael U. schrieb:
> Ich meine damals meist 1k genommen zu haben, wenn es mal nötig war.

Das Datenblatt macht es einem leicht, den maximalen Wert auszurechnen:
0,8V / 0,6mA = 1,3k.
Daher sieht man eigentlich nie in TTL-Schaltungen Pull-Downs.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Dein Schaltplan ist nutzlos, da er das wichtigste nicht zeigt, nämlich
> wie die Tasten angeschlossen sind.

Hach, ich hatte mich schon gewundert dass so viel konstruktives und 
freundliches kam und Wörter wie "nutzlos" etc. bislang ausblieben ;)

Alex V. schrieb:
> Die Taster
> ziehen jeweils einen Spannungsteiler auf HIGH (5V, Der Schalter ist über
> den Pin 4 des Steckers SV1(-8) angeschlossen). Wenn die Taster nicht
> gedrückt sind, ist diese Leitung offen

Ich dachte eigentlich, dass sich damit alles weitere erübrigt.

Peter D. schrieb:
> Das Datenblatt macht es einem leicht, den maximalen Wert auszurechnen:
> 0,8V / 0,6mA = 1,3k.

Ja, je nach Datenblatt und Vorbildung: Ich meinte ja, mir war nicht 
auswendig bekannt was für Architekturen sich jetzt hinter 74F, HC, HCT 
etc. verbergen (mein Fehler) - und es wird - natürlich, weil es wohl 
standard ist - auch nicht im Datenblatt erwähnt. Du verwendest für deine 
Berechnung ja z.B. den dioden-drop off vom Transistor. Voraussetzung 
wäre dann das Wissen darum, dass es sich um eine TTL schaltung handelt.

Ich danke euch für eure Beiträge und Unterstützung und habe mal wieder, 
wie so oft, dazugelernt! Merci!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Peter D. schrieb:
> Dein Schaltplan ist nutzlos, da er das wichtigste nicht zeigt, nämlich
> wie die Tasten angeschlossen sind.

Doch, es ist im ersten Beitrag alles schon gesagt worden. Siehe den 
Spannungsteiler an SIG1 und dazu:

Alex V. schrieb:
> Die Taster
> ziehen jeweils einen Spannungsteiler auf HIGH (5V, Der Schalter ist über
> den Pin 4 des Steckers SV1(-8) angeschlossen).

Das Problem ist übrigens schon längst gelöst.

Alex V. schrieb:
> Ich meinte ja, mir war nicht
> auswendig bekannt was für Architekturen sich jetzt hinter 74F, HC, HCT
> etc. verbergen (mein Fehler)

Passiert jedem mal. Die Eigenarten der alten Logikfamilien hat man ja 
nicht mit der Muttermilch aufgesogen - wir alten Knacker haben uns mit 
den Unzulänglichkeiten der Mistdinger lange rumgeschlagen und ich 
persönlich habe damals CMOS mit seinem Fullswing Pegeln und den 
hochohmigen Eingängen sehr begrüsst.

von Peter D. (peda)


Lesenswert?

Alex V. schrieb:
> Ich dachte eigentlich, dass sich damit alles weitere erübrigt.

Nö.
Abgesehen davon, daß Schaltpläne in Prosa schwerer zu verstehen sind, 
schleichen sich da viel öfter Fehler ein, als bei einer Zeichnung.
Wenn Du mal andere Beiträge mit Prosaschaltungen liest, wirst Du das 
schnell merken. Prosaschaltungen, die stimmen und eindeutig sind, sind 
die Ausnahme. In der Regel sind Rückfragen notwendig.

Alex V. schrieb:
> Du verwendest für deine
> Berechnung ja z.B. den dioden-drop off vom Transistor.

Nö.
Das sind nur V_IL / I_IL, also die Werte, die für einen sicheren L-Pegel 
am Eingang einzuhalten sind.

Alex V. schrieb:
> Voraussetzung
> wäre dann das Wissen darum, dass es sich um eine TTL schaltung handelt.

Nö.
Die 0,6mA lassen aber vermuten, daß es ein TTL-IC ist.
Bei CMOS dürften das <1µA sein.

: Bearbeitet durch User
von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Matthias S. schrieb:
> Das Problem ist übrigens schon längst gelöst.

Ja stimmt, und eben auch (erfolgreich) getestet. Danke Matthias! :)

von Peter D. (peda)


Lesenswert?

Matthias S. schrieb:
> Die Eigenarten der alten Logikfamilien hat man ja
> nicht mit der Muttermilch aufgesogen

Ich sehe es nicht gerade als Raketenwissenschaft an, wenn man aus dem 
Datenblatt V_IL und I_IL entnimmt, um den maximal erlaubten Pull-Down zu 
berechnen.
Man braucht nur noch das Ohmsche Gesetz zu kennen, mehr nicht.
Sollte daher nicht nur von "alten Knackern" zu wuppen sein.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.