ich hab wieder mal eine Elektrotechnik-Frage zum Thema LOW und HIGH Und Input_Pullup:
Ab wieviel Volt wird denn ein SIgnal als HIGH vom ESP32 erkannt? Ich hab bissl gegoogelt und irgendwo dann gelesen, dass Spannungen unterhalb von 250mV garantiert als LOW erkannt werden und Spannungen überhalb von 750mV garantiert als HIGH. Stimmt meine Quelle und falls ja: Was passiert dann bei 350mV?
Beeinflusst die Größe des INPUT_PULLUP Widerstands diese Schaltgrenze zwischen HiGH und LOW?
Üblicher weise werden die Schaltschwellen als Vcc Bezug angegeben...
z.B. (geschätzt)
Vlow = 0.3 * Vcc
Vhigh = 0.7 * Vcc
Genaueres steht im Datenblatt.
Das kannst du bei Wikipedia unter Schmitt-Trigger nachlesen
Das Datenblatt sollte dazu was sagen.
IMHO heisst es:
LOW: -0.3V bis 0.250*VDD
HIGH: 0.750*VDD bis VDD+0.3V
Der Bereich von 0.251*VDD bis 0.749*VDD ist also unbestimmt.
Jetzt hab ich aber noch einen Knoten im Hirn zum gleichen Thema:
Mit einem angeschlossenen Reed-Sensor hab ich die drei folgenden Szenarien durchgespielt und versteh das jeweilige Resultat noch nicht ganz:
Szenario 1:
Eingangspin im Sketch auf INPUT_PULLUP gestellt
--> Der angeschlossene Reed-Sensor liefert ein HIGH (Impuls wird erkannt)
Szenario 2:
Eingangspin im Sketch auf INPUT gestellt und stattdessen externen Pullup (1 Mega Ohm) zwischen EIngangspin und 3.3 Volt gelötet
--> Ich bekomme kein HIGH mehr
Szenario 3:
Eingangspin im Sketch wieder auf INPUT_PULLUP gestellt und den zusätzlichen externen Pullup (1 Mega Ohm) zwischen EIngangspin und 3.3 Volt dran gelassen - ist natürlich sinnlos/überflüssig, aaaber:
--> Ich bekomme wieder ein HIGH.
Somit hat sich eben noch die zweite Frage gestellt:
Hat die Größe des Pullups einen Einfluss auf den Wert, ab dem ein HIGH erkannt wird?
Und nun hoffe ich, dass diese zweite Frage oben nicht schon beantwortet wurde und ichs einfach nicht geschnallt habe (auch mit WIkipedia und Schmitt-Trigger-Link
Und eins trau mich jetzt auch noch Fragen (auf die Gefahr hin, ein Forums-Ohrfeige für dumme Fragen zu kassieren
Wenn ich den externen R dran lass und zusätzlich den internen Pullup schalte:
Sind die beiden Widerstände dann parallel zu einander oder ? Also wird der gesamt-R dann kleiner? Dann würd mein Rückschluss sein, dass mit zu hohem Input-Pullup kein HIGH mehr erkannt wird.
Die Erkennung des HIGH-Pegel erfolgt ab 0.750*3.3=2,475V.
Der interne Pullup ist "vor" dem Pin, aber eben auch nicht unbedingt ein sicherer fester Wert. Der kann schonmal mehr als nur 2% schwanken...
Was Dir möglicherweise Kopfzerbrechen macht, ist Dein 470er, da wird dann ein Spannungsteiler draus.
Den 470R dachte ich braucht man wegen der Z-Diode (die wiederum sicherstellen soll, dass an den EIngangspin keine höheren Werte als 3.3Volt gelangen, was bei meinem induktiven Sensor, der 12 Volt bekommt, sonst passieren könnte). Aber das ist natürlich alles nur gefährliches Halbwissen, dass ich mir ergoogelt habe
Hallo,
1MOhm ist als PullUp viel zu groß, der interne Pullup liegt bei 10KOhm. Wenn es auf Grund von EMV Problemen, z.B langen Kabeln , zu Störungen kommt kann man externe Pullup oder Pulldown auf auf 1K oder auch kleiner verringern. Das hat dann den lediglich den "Nachteil" das bei einem geschlossenen Schalter der Strom größer wird damit sind dann aber die Pegel "sicherere" und es kommen Störsignale schlechter druch.
Szenario 3 , ja die Widerstände liegen dann parallel. Damit ist der Gesamtwiderstand in Deinem Fall in Etwa gleich dem interen Pullup.
Das war jetzt ein bisschen einfach erklärt , man möge es mir verzeihen.
Heinz
Nimm ein 10K, 5,7K ist besser dann haste dein HIGH
noch was die Z Diode wurde ich nicht benutzen bis die anspricht kann passieren das der Pin am WeMos defekt wird, Zauberwort Level Shifter und versuchen den Sensor mit 6 - 7 V ansteuern