Hallo, nachdem ich einige Beiträge zu diesem Thema gelesen habe, bin ich immer noch nicht schlauer. Meistens werden Daumenwerte angegeben, ohne weitere Begründung. Der Beitrag hier (Beitrag "Pullup Widerstand - berechnen?" ganz am Ende) beschreibt, wie mein den Pull-Up berechnen kann, allerdings bleiben auch hier Fragen offen. Meine Aufgabe: An einen I/O eines ATmega-Controllers soll über eine 2-3m lange Leitung ein Schalter angeschlossen und abgefragt werden (Polling), das möglichst stromsparend. Also muss der Pull-Up Widerstand möglichst groß sein. Aber eben nicht zu groß, um Störungen und falsche Werte zu vermeiden. Der ATmega wird mit 3,3V betrieben, der Leakage-Strom des Eingangs ist mit max. 1uA angegeben. Ein High-Pegel wird ab 0,6 * VCC erkannt. Mit der Rechnung entsprechend dem oben angegebenen Link und einer min. Betriebsspannung von 3,0V komme ich auf R = (3,0V - 3,0 V * 0,6) / 1uA = 1,2MOhm Das erscheint mir doch etwas viel. Fragen: 1. Um welchen Faktor sollte der Querstrom durch den Pull-Up größer als der Leakage-Strom des I/Os sein? Welcher Pull-Up ergibt sich daraus? 2. Sind bei einer Leitungslänge von 2-3 m schon Störungen zu erwarten? Blitzeinschläge und ähnliche singuläre Ereignisse will ich mal außen vor lassen. 3. Ist es notwendig, am Eingang des uC ein RC-Glied vorzusehen? Wie wäre das zu dimensionieren? Vielen Dank schon mal. Gruß Sören
Sören schrieb: > das möglichst > stromsparend. Also muss der Pull-Up Widerstand möglichst groß sein. Nein. Er muß nur so groß sein, daß der Strombedarf keine Rolle mehr spielt. D.h. wieviel Ah hat Deine Batterie und wie lange soll sie halten und welche Lasten müssen sonst noch versorgt werden.
Das ist natürlich ein anderer Aspekt, den man sich anschauen kann. Wenn nichts zu tun ist, beträgt die typische Stromaufnahme der Schaltung laut Datenblättern weniger als 10uA. Da spielt der Strom durch einen Pull-Up Widerstand eine große Rolle. Die gestellten Fragen hätte ich aber gerne unabhängig davon beantwortet. Vielleicht anders formuliert: Wie groß darf der Pull-Up maximal sein?
https://en.m.wikipedia.org/wiki/Wetting_current Strom fliesst ja nur bei betätigtem Taster. Das sind ja jeweils nur Sekundenbruchteile. 1k und gut is.
Sören schrieb: > Da spielt der Strom durch einen Pull-Up Widerstand eine große Rolle. Aber nur, wenn der Taster auch gedrückt wird. Im Ruhezustand ist das ziemlich schnuppe, ob der Pullup 1k, 10k oder 100k hat. Der Strom am (wesentlich hochohmigeren) µC-Eingang ist in allen Fällen annähernd gleich.
Claude D. schrieb: > https://en.m.wikipedia.org/wiki/Wetting_current Da kann man sich behelfen, indem man direkt an den Taster einen Kondensator (ca 100nF) schaltet. Der wird vom Pullup aufgeladen und entlädt sich bei Betätigung schlagartig über die Kontakte. So lassen sich >10 mA wetting current bei einigen 100k Pullup erreichen.
Die benutzten Schalter sind im Ruhezustand geschlossen, d.h. die meiste Zeit fließt Strom. Und nein, ich kann die Schalter nicht austauschen. Außerdem wird nicht nur ein Schalter angeschlossen sondern vier. Optional auch noch weitere. Da jeder Schalter einem Input des uC zugeordnet ist, benötigt jeder seinen eigenen Pull-Up. Bei der vorliegenden Konfiguration mit mindestens vier Schaltern ergibt sich deshalb ein vierfacher Ruhestrom.
Das ist noch eine wichtige Info =) - Pull up an uC-Ausgang und nur speisen, wenn du die Schalter abfragst? - Was bei zu kleinem Pull up effektiv am Eingang passiert/für Störungen auftreten können, weiss ich nicht. Aber vielleicht den Schalter in 10..50 ms Intervallen abfragen und nur akzeptieren, wenn 3..10 x hintereinander ein High-Pegel erkannt wurde?
:
Bearbeitet durch User
Sören schrieb: > Die benutzten Schalter sind im Ruhezustand geschlossen, d.h. die meiste > Zeit fließt Strom. Falsches Design, wenn du schon stromsparend arbeiten willst! Aber gut, wenn schon der Schalter fast dauerhaft zu ist, dann ist auch die Störbeeinflussung gering und nicht vom Pullup abhängig. Dann kannst du genauso gut einen relativ hochohmigen Pullup (10k...100k, je nach 'Dreck' in der Umgebung) wählen und den Taster per SW ordentlich entprellen.
Sören schrieb: > Fragen: Sorry, auf die bin ich natürlich nicht eingegangen, weil das Problem sich ja konkretisiert hatte. > 1. Um welchen Faktor sollte der Querstrom durch den Pull-Up größer als > der Leakage-Strom des I/Os sein? > Welcher Pull-Up ergibt sich daraus? Der Leakage-Strom interessiert nur drittrangig - nur wenn er erheblich größer ist als bei üblichen CMOS-Eingängen. Wichtig ist der durch den Pull resultierende Eingangswiderstand und den wählt man so klein wie möglich bzw. nötig. Dagegen müsste nämlich eine eingekoppelte Störung 'anstinken'. Bei 'dreckiger' Umgebung, bei langen Leitungen und bei funktionalen Pins (irgendwelche offenen Eingänge zu beruhigen meine ich hier nicht) wähle ich eher was im Bereich von 0.5-5mA Querstrom, also 1k - 10k in einem 5V-System. Eine Datenleitung, die nur beim CLK-Flankenwechsel abgetastet wird, ist weniger kritisch als ein asynchroner Reset! > 2. Sind bei einer Leitungslänge von 2-3 m schon Störungen zu erwarten? > Blitzeinschläge und ähnliche singuläre Ereignisse will ich mal außen vor > lassen. Ja, damit musst du rechnen: Einschalten eines Trafos in der Nähe, ev. Schaltnetzteile, Leuchtstofflampen usw. produzieren Störungen. > 3. Ist es notwendig, am Eingang des uC ein RC-Glied vorzusehen? Wie wäre > das zu dimensionieren? Das hilft, hat aber auch Nachteile. Der Schalter sollte z.B. ein C nicht hart kurzschließen, das RC-Glied sollte die Eingangsspezifikationen (spezielle die max. zulässige Anstiegszeit) des Eingangs nicht verletzten.
> Meistens werden Daumenwerte angegeben Ohne genaue Angaben von Dir kann man auch keine genauen Werte empfehlen. Es fängt dich schon damit an, daß du keinerlei Angaben zu dem Störfeldern gemacht hast, denen die Schaltung ausgesetzt ist. > Um welchen Faktor sollte der Querstrom durch den Pull-Up > größer als der Leakage-Strom des I/Os sein? Die Bedingung ist, dass die Eingangsspannung aus Siche des µC gültige High/Low Pegel haben muss. Es zählt also der Spannungsabfall am Widerstand multipliziert mit dem Leckstrom. Aber dabei sind die elektromagnetischen Störfelder noch nicht berücksichtigt. > Sind bei einer Leitungslänge von 2-3 m schon Störungen zu erwarten? Sicher, selbst bei 1cm sind Sgörungen zu erwarten. Sie sind immer und überall. Die Frage ist nur, wie stark sie sich auf das Nutzsignal auswirken. Ein Pull-Up alleine ist übrings nicht ausreichend, du solltest außerdem hochfrequenze Signale mit einem Kondensator kurzschließen. Ich halte es allerdings nicht für Sinnvoll, hier zu wiederholen, was man auch in 10 Sekunden mit Google finden kann. > Ist es notwendig, am Eingang des uC ein RC-Glied vorzusehen? Zumindest ist es empfehlenswert. > Wie wäre das zu dimensionieren? Indem man eine allgemein bewährte Schaltung 1:1 nachbaut, oder aufgrund eigener Erfahrungen nachbessert. Da gibt es keine überall gültige ideal-Lösung. Jedes Bauteil verändert auch das Nutzsignal und nur kennst die Anforderungen. Zum Beispiel ist es von ganz erheblicher Bedeutung, wie schnell ein Tastendruck erkannt werden muss und ob es zulässig ist, kurze Tastendrücke zu ignorieren. Von welchen Zeiten reden wir hier? Strom sparen kannst du, indem Du die Pull-Up Widerstände nur bei Bedarf (während der Abfrage) einschaltest und die Abfrage z.B. nur einmal alle 100ms machst.
Sören schrieb: > Die benutzten Schalter sind im Ruhezustand geschlossen, d.h. die meiste > Zeit fließt Strom. Und nein, ich kann die Schalter nicht austauschen. Das ist natürlich übel. Ich finde, das hier ist dabei der beste Weg: Claude D. schrieb: > - Pull up an uC-Ausgang und nur speisen, wenn du die Schalter abfragst? Sören schrieb: > Die gestellten Fragen hätte ich aber gerne unabhängig davon beantwortet. > Vielleicht anders formuliert: Wie groß darf der Pull-Up maximal sein? Nun ja, die Frage solltest Du Dir mit Hilfe des Datenblattes selbst beantworten können: - Finde den maximalen Leckstrom heraus (unter ungünstigsten Umständen: Temperatur, Exemplarsteuung, Alterung) - sieh Dir an, ab welchem Spannungsabfall der entsprechende Logikpegel nicht mehr erkannt würde - dimensioniere den Widerstand danach (wobei ich einen Sicherheitsabstand einbauen würde, wobei die Frage nach dessen Größe eher religiöser Natur ist). PS: Und ja, zwei bis drei Meter Leitungslänge sind durchaus störrelevant. Evtl. kannst Du hier mit Verdrillen und Schirmen ein wenig Entspannung schaffen.
:
Bearbeitet durch User
Sören schrieb: > Die benutzten Schalter sind im Ruhezustand geschlossen, d.h. die meiste > Zeit fließt Strom. nur den du zulässt! dein pullup kann kann aus einem Port gepeist werden der nur ab und an mal zum Taster prüfen aktiviert wird, dann fliesst auch kein dauerhafter Strom und sobald Taster ins Spiel kommen braucht es auch keine ständige µs Verfügbarkeit.
Erst mal vielen Dank für den Input. Den Pull-Up nur einzuschalten, wenn tatsächlich abgefragt wird, ist eine gute Idee. Ansonsten werde ich mich jetzt noch zum Thema Störsicherheit bzw. Schutzbeschaltung schlau machen.
ich frage meine Taster alle 10ms ab, je nach Port dauert das <1µs bis 100µs damit ist der pullup im schlimmsten Fall schon mal 9,9ms aus und nur 0,1ms an!
:
Bearbeitet durch User
> und nur 0,1ms an!
Wenn man so schnell abfragt, kann man allerdings keinen nennenswerten
Kondensator mehr verwenden, der HF abblockt. Kurzzeitige Störungen
müsste dann die Software abfangen. Länger andauernde Störungen könnten
ein Problem werden - falls überhaupt vorhanden.
Stefan U. schrieb: >> und nur 0,1ms an! > > Wenn man so schnell abfragt, kann man allerdings keinen nennenswerten > Kondensator mehr verwenden, der HF abblockt. Kurzzeitige Störungen > müsste dann die Software abfangen. logisch PeDas Entprellroutine bullet proof, deswegen 10ms Raster ausserdem wie will man langsam einen Port befragen, das geht eh im CPU Tempo oder I2C Bustempo Die Chance das genau 4 Pegel zur gleichen µC Lesezeit HF gestört sind erscheint mir unglaubwürdig.
:
Bearbeitet durch User
Hi Hatte ab der Hälfte 'ff' eingeschaltet :/ Spricht was dagegen, wie schon vorgeschlagen, die Eingänge gezielt abzufragen? So, daß man den nötigen PullUp 'nur wenn nötig' einschaltet? Im Ruhezustand werden die Eingänge auf LOW OUT geschaltet - da die Taster geschlossen auf GND hängen, passiert nix, es fließt kein Strom. Alle paar ms wird der Pin auf IN PullUP geschaltet und der Pegel erfasst. Wenn High, ist der Taster betätigt. Danach wieder LOW OUT (die Reihenfolge ist nicht ganz unwichtig ob zuerst DDR oder Port gewechselt wird). MfG
Patrick J. schrieb: > Spricht was dagegen, wie schon vorgeschlagen, die Eingänge gezielt > abzufragen? > So, daß man den nötigen PullUp 'nur wenn nötig' einschaltet? nichts
Patrick J. schrieb: > Spricht was dagegen, wie schon vorgeschlagen, die Eingänge gezielt > abzufragen? Durch Kapazitäten kann es passieren, dass der HIGH-Pegel zum Abfragezeitpunkt noch nicht erreicht ist. Softwaremässig muss man da etwas machen. Das macht die Software langsamer. Du kannst auch nicht mal eben mit dem Voltmeter prüfen ob der Schalter oder Taster offen ist. Bei einem niederohmigen Pullup z.B. 1K kannst Du Dir eine LED mit einem Vorwiderstand z.B. 4K7 parallel zum Schalter oder Taster erlauben was auch hilfreich sein kann. LG old.
Sören schrieb: > bin ich immer noch nicht schlauer. Ts ts. Die 1M2 sind schon richtig, wenn auch der leakage Strom von Schalter und Zuleitung so gering wäre. Eine dreckige Platine lässt aber mehr als 1uA fliessen. Also nimmt man meist zur Sicherheit einen 10 mal höheren Strom bzw. 10 mal kleineren pull up. Die 90k des internen pull up passen schon. Man muss sie ja nur zur Auswertezeit einschalten, ausserhalb der Zeit können die Eingänge sogar auf low Ausgang geschaltet werden und brauchen 0 uA.
MaWin schrieb: > können die Eingänge sogar auf low Ausgang geschaltet Wie? Bisher kenne ich das so, dass man im setup festlegen muss ob INPUT_PULLUP oder OUTPUT. LG old.
CO2 ist ihm N. schrieb: > MaWin schrieb: >> können die Eingänge sogar auf low Ausgang geschaltet > > Wie? > Bisher kenne ich das so, dass man im setup festlegen > muss ob INPUT_PULLUP oder OUTPUT. > > LG > old. kann doch jederzeit umprogrammiert werden, nicht nur im setup, also im setup Ausgang low, und kurz vor der Tasterabfrage auf high setzen, danach wieder auf low. Das hat mit dem setup sowenig zu tun wie Äpfel und Birnen, obwohl beides Obst ist.
Joachim B. schrieb: > kurz vor der Tasterabfrage auf high setzen nö, auf INPUT_PULLUP. Ob das geht? LG old.
Beitrag #5036080 wurde von einem Moderator gelöscht.
CO2 ist ihm N. schrieb: > nö, auf INPUT_PULLUP. > Ob das geht? quark lese den Thread und verwirre nicht die Leute! Es ging um externen pullup mit definierten Strömen die niederohmiger sind als die internen pullups und um Strom zu sparen durch einen 2ten Port gespeist werden, nicht den Inputport der abfragt! [Beleidigungen entfernt - Mod.]
:
Bearbeitet durch Moderator
MaWin schrieb: > Die 90k des internen pull up passen schon. > > Man muss sie ja nur zur Auswertezeit einschalten Darauf bezieht sich meine Frage. LG old.
CO2 ist ihm N. schrieb: > MaWin schrieb: >> Die 90k des internen pull up passen schon. >> >> Man muss sie ja nur zur Auswertezeit einschalten > > Darauf bezieht sich meine Frage. Dann eben zweistufig einschalten: erst den Pullup, Controller wieder schlafen legen, ein paar Millisekunden später abfragen und Pullup wieder ausschalten. Immer noch besser, als ihn die ganze Zeit lang Strom ziehen lassen.
Jörg W. schrieb: > erst den Pullup Noch habe ich keine Ahnung wie man den internen Pullup in der void loop() ein- und ausschalten kann. https://playground.arduino.cc/Deutsch/Eingang OT: Warum wurde Beitrag #5036080 (nicht von mir verfasst) gelöscht? Wenn überhaupt hätte es Beitrag #5036086, definitiv unter der Gürtellinie, erwischen müssen. LG old.
> Noch habe ich keine Ahnung wie man den internen > Pullup in der void loop() ein- und ausschalten kann. Das ist eine dumme Frage: Antwort: natürlich genau so, wie in der setup() Routine.
CO2 ist ihm N. schrieb: > Noch habe ich keine Ahnung wie man den internen > Pullup in der void loop() ein- und ausschalten kann. Steht doch dort: der Unterschied ist eben, ob du das Ding als INPUT oder INPUT_PULLUP festlegst. Ich würde das allerdings in einem Timer-Interrupt machen, habe aber keine Ahnung, wie man sowas im Arduino-Framework anzettelt.
Stefan U. schrieb: > Das ist eine dumme Frage Es gibt keine dummen Fragen, sondern nur dumme Antworten. ;-) (War deine allerdings nicht.)
Jörg W. schrieb: > Es gibt keine dummen Fragen, sondern nur dumme Antworten. ;-) Es gibt allerdings Fragen, die mehr über den Fragesteller aussagen, als derselbige glaubt. ;-)
Jörg W. schrieb: > Steht doch dort Dann schreibe doch mal bitte einen Beispielsketch. Schalter an Eingang D2 schaltet den Pullup an Eingang D12 zu und weg. Danke. LG old.
CO2 ist ihm N. schrieb: > Dann schreibe doch mal bitte einen Beispielsketch dafür. Warum ich? Du hast doch hier den Arduino überhaupt ins Spiel gebracht. Der TE hat ja offenbar keinen. Ich finde es wirklich gut, dass du deinen Horizont erweiterst: LTspice, jetzt auch Controllerprogrammierung. Aber wenn deine Frage deutlich von dem abweicht, worums im Thread geht, dann besser einen separaten Thread öffnen. Das Problem des TEs war es halt nicht, wie man das in einer Arduino-Umgebung zum Laufen bekommt, sondern wie man es "bare metal" implementiert.
Jörg W. schrieb: > Stefan U. schrieb: > Das ist eine dumme Frage > > Es gibt keine dummen Fragen, sondern nur dumme Antworten. ;-) (War > deine allerdings nicht.) Natürlich gibt es dumme Fragen, der Spruch wird also auch die ewige Wiederholung nicht wahrer. Z.B. diejenigen, die man an einer Weggabelung einem der beiden Wärter stellen muss, bei denen man weiss dass einer immer lügt und der andere immer die Wahrheit sagt, bloss man weiss nicht welcher, um den richtigen Weg erfragen zu können, oder eben bei dummen Fragen trotzdem nichts zu wissen.
Jörg W. schrieb: > Warum ich? Weil ich den Eindruck habe, dass Du das kannst. Jörg W. schrieb: > Aber wenn deine Frage deutlich > von dem abweicht, worums im Thread geht Der Beitrag von MaWin lässt die Frage halt aufkommen. Jörg W. schrieb: > LTspice Bezüglich LTspice ist man in diesem Forum um Welten hilfsbereiter. LG old.
CO2 ist ihm N. schrieb: >> Warum ich? > > Weil ich den Eindruck habe, dass Du das kannst. Sorry: ich kann zwar Controller hoch und runter programmieren, aber habe noch nie einen Arduino oder dessen IDE in der Hand gehabt. Ich müsste mich dafür also genauso einlesen wie du. Der wesentliche Hinweis, dass man die Konfiguration eines Pins keineswegs nur während der Initialisierung (setup) vornehmen kann, sondern auch im laufenden Betrieb (loop) ändern, wurde dir ja nun mehr als einmal genannt.
Jörg W. schrieb: > noch nie einen Arduino oder dessen IDE in der Hand gehabt Mach Dir nichts draus. Die ONled braucht schon mehr Strom als alle INPUT_PULLUPs zusammen. Daher ist das eh nur von akademischem Interesse. Jörg W. schrieb: > Immer noch besser, als ihn die ganze Zeit lang Strom ziehen lassen. [ironie] ganz sicher. [/ironie] LG old.
CO2 ist ihm N. schrieb: > Mach Dir nichts draus. Die ONled braucht schon mehr Strom > als alle INPUT_PULLUPs zusammen. nicht bei mir, die ONled ist das erste was ich runterwerfe oder ihren Rv. Jörg W. schrieb: > Sorry: ich kann zwar Controller hoch und runter programmieren, aber > habe noch nie einen Arduino da kannst du genau wie bei nackten AVR die Ports setzen wie immmer, du musst nicht mal die Arduino Schreibweise bemühen. entweder PORTB |= (1<<4); oder digitalWrite(12, HIGH); // 12 für D12 auf dem ATmega328p PB4 für den internen pullup DDR auf out, Port auf high setzt den pullup. Arduino_sprech pinMode(pin, mode) Parameters pin: the number of the pin whose mode you wish to set mode: INPUT, OUTPUT, or INPUT_PULLUP. (see the digital pins page for a more complete description of the functionality.)
:
Bearbeitet durch User
Joachim B. schrieb: >> Sorry: ich kann zwar Controller hoch und runter programmieren, aber >> habe noch nie einen Arduino > > da kannst du genau wie bei nackten AVR die Ports setzen wie immmer, du > musst nicht mal die Arduino Schreibweise bemühen. Richtig, aber Darius wollte ja gern, dass ich ihm mit einem Sketch demonstriere, wie das aussehen soll. Das kann ich nicht, denn dann müsste ich mir ja zumindest die Arduino-IDE mal irgendwo installieren um zu sehen, dass das, was ich poste, auch funktioniert. Außerdem ist es natürlich nicht Sinn eines Arduino-Sketches, kreuz und quer wild auf der Hardware herumzuhacken. Wenn da eine Abstraktionsschicht dazwischen ist, dann sollte man diese auch benutzen bzw. nur in begründeten Fällen die Abstraktion beiseite schieben.
Jörg W. schrieb: > dann sollte man diese auch > benutzen bzw. nur in begründeten Fällen die Abstraktion beiseite > schieben. stimmt! und unterschreibe ich, manchmal übernehme ich meine AVR Studio Routinen direkt ist erprobt und stört die IDE nicht, manchmal aus Faulheit nutze ich den Arduinoweg und wenn der zu lahm ist gibt es ja digitalWriteFast https://github.com/NicksonYap/digitalWriteFast
Jörg W. schrieb: > denn dann > müsste ich mir ja zumindest die Arduino-IDE mal irgendwo installieren > um zu sehen, dass das, was ich poste, auch funktioniert. Das ist sehr lobenswert. Bei dem Vorschlag von "jar" raucht der Atmega bei Tastendruck ab. LG old.
CO2 ist ihm N. schrieb: > Bei dem Vorschlag von "jar" raucht der Atmega bei Tastendruck ab. Nein. Erstens begrenzen die FETs im Ausgang den Strom sowieso, zweitens hast du die ganze Zeit nur nicht verstanden, dass es bei diesem Vorschlag darum ging, einen externen (und niederohmigeren als den internen) Pullup vorübergehend zum Eingang zuzuschalten, indem man ihn an einen weiteren (als Ausgang konfigurierten) Pin des Controllers hängt.
Jörg W. schrieb: Jörg W. schrieb: > Erstens https://www.rugged-circuits.com/10-ways-to-destroy-an-arduino/ Hallo Moderator, zum Glück gibt es im www noch Leute die ehrlich sind. Dieses Forum ist in Sachen mikrocontroller absoluter Müll. LG old.
CO2 ist ihm N. schrieb: > zum Glück gibt es im www noch Leute die ehrlich sind. Du meinst, die ihre eigene Lösung promoten (Ruggeduino, wobei der Link auf eine „Sorry!“-Seite zeigt). > Dieses Forum ist in Sachen mikrocontroller absoluter Müll. Du musst es ja wissen. Ich habe erstens nicht gesagt, dass man einen Kurzschluss eines Ausgangs nach GND nun unbedingt machen sollte (jenseits der Specs ist man damit natürlich auf jeden Fall), sondern nur, dass das keineswegs der sofortige Tod des Kandidaten sein muss, wie du es hingestellt hast. Zweitens hat das jedoch keiner vorgeschlagen. Aber Darius, du musst dich hier nicht weiter bewegen, wenn du denkst, dass du hier schlecht beraten wirst. Ich würde mich mit dir gewiss nicht um eine Röhrenschaltung rumstreiten, aber ein gewisses Maß an Erfahrungen im Umgang mit Mikrocontrollern darfst du mir mittlerweile ruhig zugestehen. Ich mach' das seit 17 Jahren hobbymäßig und seit 12 Jahren beruflich.
CO2 ist ihm N. schrieb: > Bei dem Vorschlag von "jar" raucht der Atmega bei Tastendruck ab. das ist mindestens so falsch wie die angebliche Beleidigung, aber macht mal ihr -Klicker
Joachim B. schrieb: > CO2 ist ihm N. schrieb: >> Mach Dir nichts draus. Die ONled braucht schon mehr Strom >> als alle INPUT_PULLUPs zusammen. > > nicht bei mir, die ONled ist das erste was ich runterwerfe oder ihren > Rv. Das soll man so natürlch nicht tun und das weiß der User "jar" sehr genau: Joachim B. schrieb: >> aber wozu ist R5 da wo er ist. > > Die Grundlast damit die Spannung auch abgeleitet wird MaWin schrieb: > Z.B. diejenigen, die man an einer Weggabelung einem der beiden Wärter > stellen muss, bei denen man weiss dass einer immer lügt und der andere > immer die Wahrheit sagt, bloss man weiss nicht welcher Wunderschönes Gleichnis. Mit der Zeit kennt man hier die Wärter und man erkennt auch ob eine Antwort gut(gemeint) ist. LG old.
CO2 ist ihm N. schrieb: > Das soll man so natürlch nicht tun und das weiß der User > "jar" sehr genau: es reicht! lerne richtig zitieren und dann könnte man dich sogar ernst nehmen aber so machst du alles nur schlimmer, das bringt dich auch nicht voran. Links richtig einfügen, rechte Maustaste auf die Beitragsüberschrift die du zitieren willst, z.B. deiner vor meinem: Beitrag "Re: Dimensionierung Pull-Up" einfügen und abschicken fertig!
:
Bearbeitet durch User
Sören schrieb: > Das ist natürlich ein anderer Aspekt, den man sich anschauen kann. > Wenn nichts zu tun ist, beträgt die typische Stromaufnahme der Schaltung > laut Datenblättern weniger als 10uA. Sprich: du willst das Device normalerweise im Tiefschlaf (PowerOff) halten. Verständlicher Wunsch, aber das hättest du dann auch explizit so beschreiben müssen. Damit wäre nämlich schonmal mindestens die Hälfte der Thread-Länge weggefallen... > Da spielt der Strom durch einen > Pull-Up Widerstand eine große Rolle. Ja klar, im "deep sleep" zählt jedes µA der peripheren Beschaltung. > Die gestellten Fragen hätte ich aber gerne unabhängig davon beantwortet. > Vielleicht anders formuliert: Wie groß darf der Pull-Up maximal sein? Die Antwort darauf ist ganz einfach. Der Pullup muß klein genug sein, um den Pin sicher auf den logischen H-Pegel zu ziehen. Die Schaltschwelle für H-Pegel kann man dem DB des (ungenannten) Devices entnehmen, genauso auch dessen Eingangswiderstand (oder, in Absenz: dessen maximalen Leckstrom). Das Problem ist nur: es hilft dir in der Praxis exakt garnix, diesen Wert zu ermitteln, denn der hat nur in der Theorie irgendeine Bedeutung. In der Praxis wird es hingegen immer Störungen geben, und deren Einfluss wird den praktisch möglichen Minimalwert für den Pullup gleich um mehrere Größenordnungen nach unten korrigieren... Da du offensichtlich nicht in der Lage bist, die Störungen zu quantifizieren, bleibt dir letztlich nur das Mittel der Vollidioten: Trial&Error. Sprich: Pullup ausprobieren und so lange reduzieren, bis nix ungewolltes mehr passiert. Mit ein wenig Glück ist er dann immerhin noch groß genug, um wenigstens die gewünschte Funktion sichern zu können. Wenn nicht, wirst du nicht darum herumkommen, dich mit der Theorie und Technik analoger Filter zu beschäftigen...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.