High Signal über Optokoppler an Arduino

Gast #5973550
Hallo,

in meiner Schaltung gibt ein Optokoppler ein Signal an einen 
Mikroprozessoreingang mit positiver Logik (INPUT_PULLUP).
Ich möchte den Eingang aus Stromspargründen (Batterien) aber gerne mit 
einem Pulldown auf GND ziehen und 5V als Eingangssignal verwenden.
Kann ich nach dem Optokoppler noch einen PNP Transistor verwenden und 
falls ja welchen Wert müsste der Basiswiderstand haben bzw. was gibts 
für Alternativen?

Danke für alle Antworten

Matthias
Gast
Matthias schrieb:
> Ich möchte den Eingang aus Stromspargründen (Batterien) aber gerne mit
> einem Pulldown auf GND ziehen und 5V als Eingangssignal verwenden.
Warum soll das Stromsparen? Zunächst ist der Stromverbrauch unabhängig, 
ob PU oder PD. Er wird höchstens mit dem PD größer, wenn du den internen 
nicht abschaltest.

> Kann ich nach dem Optokoppler noch einen PNP Transistor verwenden und
> falls ja welchen Wert müsste der Basiswiderstand haben bzw. was gibts
> für Alternativen?

Du brauchst keinen Transistor. Der OK ist direkt verwendbar: C an +5V, E 
an den Eingang mit PD.
Gast
Achso...hatte bei einem Projekt vor einiger Zeit festgestellt, dass der 
Stromverbrauch mit PU (nicht intern) im Schlafmodus um einiges höher ist 
als mit PD
Gast
Matthias schrieb:
> hatte bei einem Projekt vor einiger Zeit festgestellt, dass der
> Stromverbrauch mit PU (nicht intern) im Schlafmodus um einiges höher ist
> als mit PD

Da würde ich mal nach der Ursache forschen.

Ich habe nämlich ein Spiel in der Schublade liegen wo vier Taster mit 
Pull-Up Widerständen dran sind. Das Ding ist seit fast 10 Jahren an 
einer billigen CR2032 betriebsbereit.
Matthias schrieb:
> in meiner Schaltung gibt ein Optokoppler ein Signal an einen
> Mikroprozessoreingang

Aha

> mit positiver Logik (INPUT_PULLUP)

Dieser Satz kein Sinn. Was hat positive Logik mit einem Pullup zu tun?

> Ich möchte den Eingang aus Stromspargründen (Batterien) aber gerne mit
> einem Pulldown auf GND ziehen und 5V als Eingangssignal verwenden.

Aus Stromspargründen ist es vollkommen egal, ob der Optokoppler auf 
einen Arbeitswiderstand nach Vcc (vulgo: Pullup) oder auf einen gegen 
GND (vulgo: Pulldown) arbeitet.

Der Unterschied besteht nur darin, welchen Pegel du im Programm als 
aktiv auswertest. Hier käme jetzt positive Logik ins Spiel. Positive 
Logik wäre aktiv=H. Aber einen spezifischen Vorteil hat das nicht, schon 
gar nicht bei einem µC, wo man im Programm genausogut auf H wie auf L 
prüfen kann.

Wenn es ums Stromsparen geht, sollte man nur darauf achten, daß der 
häufigere Zustand derjenige ist, bei dem der Optokoppler nicht leitet.

> Kann ich nach dem Optokoppler noch einen PNP Transistor verwenden

Könntest du. Ist aber sinnlos.

> was gibts für Alternativen?

Den Optokoppler passend beschalten. Der Artikel Optokoppler im 
hiesigen Wiki zeigt beide Schaltungsmöglichkeiten. Die Variante mit 
Pullup wird deswegen bevorzugt, weil man öfter integrierte 
Pullup-Widerstände im µC hat. Dann kann man ein externes Bauteil 
einsparen.
Gast
Matthias schrieb:
> Achso...hatte bei einem Projekt vor einiger Zeit festgestellt, dass der
> Stromverbrauch mit PU (nicht intern) im Schlafmodus um einiges höher ist
> als mit PD

Das wird wohl an der Schaltung gelegen haben. Vielleicht zeigst du mal 
einen Schaltplan.
Beitrag #5973654 wurde von einem Moderator gelöscht.
Matthias schrieb:
> Quelle:
> http://www.piclist.com/tecHREF/logic/xtrapins.htm
>
> Daraus unter "more thoughts, especially about low-power effects"
>
> Pull down to GND (versus pull up to VCC) consumes %15 less power on the
> PIC.

Mal ganz davon abgesehen, daß das ein Vergleich von Äpfeln mit Birnen 
ist, halte ich das für eine urbane Legende. Da ist nirgendwo erklärt, 
warum das so sein sollte oder auch nur, wer das wann für welchen 
PIC wie gemessen haben will.

Der Hinweis auf LSTTL ist auf jeden Fall vollkommen daneben, denn PICs 
sind (zumindest heute - war das mal anders?) CMOS; und bei einem 
CMOS-Eingang ist es vom Stromverbrauch her vollkommen egal, ob er fest 
auf H oder fest auf L liegt.

Die offensichtliche Ausnahme sind Pins, die einen festen (nicht 
konfigurierbaren) pullup- oder pulldown-Widerstand haben. Oder Pins, die 
in einem Zustand eine stromfressende Funktion aktivieren (etwa ein 
level-getriggerter Interrupt).

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.