Forum: Mikrocontroller und Digitale Elektronik Threshold-Spannung 74HC14


von Johannes S. (jhs)


Lesenswert?

Hi!

Für die Entprellung von zwei Schalter habe ich mich von der Schaltung 
unter http://www.mikrocontroller.net/articles/Entprellung inspirieren 
lassen, weil ich keine Timer verschwenden will.

Die Schaltung läuft mit 3,3V und laut User-Guide 
(http://www.nxp.com/acrobat_download/various/HCT_USER_GUIDE.pdf) beträgt 
die Threshold-Spannung beim 74HC14 50% der Betriebspannung. Leider steht 
dort nicht, ob das für beide Richtungen gilt.

Im Artikel werden für die beiden Schaltrichtungen unterschiedliche 
Thresholds angegeben (2V und 2,3V) und damit lassen sich die Widerstände 
auch nach der Formel errechnen.

Wenn ich allerdings für beide male ln(0,5) bzw. ln(1-0.5) bekomme, wäre 
R1 = 0, was ja nicht ganz im Sinne des Erfinders sein kann.

Wäre nett, wenn mir jemand weiterhelfen kann, vielleicht steh ich auch 
massiv auf dem Schlauch.

Danke,
Johannes

von (prx) A. K. (prx)


Lesenswert?

Johannes Schmid schrieb:

> (http://www.nxp.com/acrobat_download/various/HCT_USER_GUIDE.pdf) beträgt
> die Threshold-Spannung beim 74HC14 50% der Betriebspannung. Leider steht
> dort nicht, ob das für beide Richtungen gilt.

Die Schwellwerte der 74HC Schmitt-Trigger sind abhängig von der 
konkreten Implementierung und das sind keine Präzisionsbauelemente. Der 
Ergebnis hängt also möglicherweise vom Fabrikat ab - und vielleicht auch 
etwas vom aktuellen Blutdruck des Chefs der Produktionslinie.

Wenn du also genaue Schwellwerte haben willst, dann nimm keine 74HC14.

von Johannes S. (jhs)


Lesenswert?

Hi!

Eigentlich sind mir die genauen Schwellwerte nicht so wichtig, aber ich 
würde gerne die Widerstände richtig Dimensionieren. Ob der Schalter 
jetzt nach 10, 12, 14 oder 25 ms auf High/Low geht, ist nicht wirklich 
wichtig.

Danke,
Johannes

von Falk B. (falk)


Lesenswert?

@  Johannes Schmid (jhs)

>Eigentlich sind mir die genauen Schwellwerte nicht so wichtig, aber ich
>würde gerne die Widerstände richtig Dimensionieren.

Das muss alles nicht sonderlich genau sein, nur die Grössenordnung 
sollte stimmen.
Pi mal Daumen hat ein 74HC14 ca. 0,5V Hysterese, sprich er schalter bei 
VCC/2 +/- 0,25V

> Ob der Schalter
>jetzt nach 10, 12, 14 oder 25 ms auf High/Low geht, ist nicht wirklich
>wichtig.

Eben. Nimm jeweils 10K und 100nF und gut ist. Und selbst das ist 
überflüssig, da man meist sinnvollerweise in Software die Tasten 
entprellt. ;-)

MfG
Falk

von Johannes S. (jhs)


Lesenswert?

Hi!

Danke!

Wie gesagt kostet mir Software-Entprellung in diesem Fall zu viel 
Rechenleistung, deshalb hab ich mich für die Hardware-Variante 
entschieden...

Gruß
Johannes

von Falk B. (falk)


Lesenswert?

@  Johannes Schmid (jhs)

>Wie gesagt kostet mir Software-Entprellung in diesem Fall zu viel
>Rechenleistung,

Bitte?
Alle 10ms mal ein paar Tasten einlesen kostet messbar Rechenleistung? 
Läuft dein uC mit 100Hz?

MFG
Falk

von Peter D. (peda)


Lesenswert?

Johannes Schmid schrieb:
> Wie gesagt kostet mir Software-Entprellung in diesem Fall zu viel
> Rechenleistung

Bei mir ists genau das Gegenteil. Seit ich eine vernünftige 
SW-Entprellung benutze, habe ich deutlich mehr Rechenleistung zur 
Verfügung:

Die Mainloop kann nun ruhig mal 500ms schwer beschäftigt sein und 
trotzdem geht kein Tastendruck verloren.
Die Bedienung ist für den Nutzer deutlich flüssiger geworden.
Also nicht, wie leider bei vielen kommerziellen Geräten, daß man ewig 
auf die Tastenreaktion warten muß.


Peter

von Johannes S. (jhs)


Lesenswert?

Hi!

Ums kurz zu machen, ich will einfach keinen Timer dafür verschenken 
(auch wenn ich vielleicht im Moment könnte), weil letztlich nicht fest 
steht, wie viele Timer für die Regelung benötigt werden.

Ich denke nicht, dass man da von Rechenleistung sprechen kann, aber 
Hardware-Ressourcen sind eben auch nicht unendlich verfügbar 
(tatsächlich auch auf einem STM32 nicht...).

Gruß
Johannes

von Peter D. (peda)


Lesenswert?

Johannes Schmid schrieb:
> Ums kurz zu machen, ich will einfach keinen Timer dafür verschenken
...
> (tatsächlich auch auf einem STM32 nicht...).

Ja ne is klar, bei nur 11 Timern sitzt einem die pure Angst im Nacken, 
daß die ruckzuck alle sind.

Wie haben die Leute bloß im 8051 jahrzehntelang mit 2-3 Timern auskommen 
können?
Und davon war T1 oft schon für die UART als Baudratengenerator belegt.

Ich benötige nur selten mehr als 2 Timer, einer macht alle Zeit-Tasks 
und der andere z.B. PWM-Ausgänge.


Peter

von Kai Klaas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Johannes,

warum schaust du denn nicht in das Datenblatt?

http://www.nxp.com/documents/data_sheet/74HC_HCT14.pdf

Ich würde dir eine Schaltung wie im Anhang vorschlagen. Mit den 
interpolierten typischen Werten aus dem Datenblatt, erhälst du mit 220nF 
rund 20msec, mit 330nF rund 30msec und mit 470nF rund 45msec 
Verzögerungszeit. Die Werte können aber von Chip zu Chip erheblich 
streuen, deswegen würde ich dir vorschlagen, mindestens einen 330nF 
Kondensator zu verwenden.

Wie funktioniert diese Schaltung?
Wird der Taster geschlossen, wird der Kondensator über den 4k7 
Widerstand wegen der Zeitkonstante von rund 1,5msec rasch entladen. 
Fällt die Spannung an ihm unter rund 1,0V schlägt der Schmitt-Trigger 
um. Nach dem Loslassen des Tasters wird der Kondensator über den 220k 
Widerstand mit der viel größeren Zeitkonstante von rund 75msec 
aufgeladen. Der Schmitt-Trigger springt zurück, wenn die Spannung über 
rund 1,8V steigt.

Die angegebenen Zeiten ganz oben sind übrigens die Mindestzeiten, die 
man erhält, wenn man nur ganz kurz die Taste drückt und gerade eben die 
untere Schaltschwelle erreicht wurde. Wird der Taster länger gedrückt, 
erhält man etwas längere Verzögungszeiten. Bei 330nF sind es rund dann 
55msec.

Übrigens, alte Taster haben eine längere Prellzeit...

Kai Klaas

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.