High Signal über Optokoppler an Arduino

Gast #5973550
Lesenswert?
• ▲
▼
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 #5973556
Lesenswert?
• ▲
▼
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 #5973596
Lesenswert?
• ▲
▼
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.
#5973628
Lesenswert?
• ▲
▼
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.
Beitrag #5973654 wurde von einem Moderator gelöscht.
#5973725
Lesenswert?
• ▲
▼
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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.