PNP anstatt NPN?

Gast #4087102
Lesenswert?
• ▲
▼
Hallo,

ich habe an einem Raspberry Pi ein blaues LCD 16x2 Display, welche mit 
3V3 läuft. Zur Beleuchtung ist eine einzelne weiße Led verbaut. Auf der 
Rückseite der Platine befindet sich bereits ein verbauter SMD 
Vorwiderstand mit 200 Ohm.

Nun habe ich derzeit das ganze so gelöst, dass ich einen NPN Transitor 
an der Kathode der LED angeschlossen haben. An der Basis des NPN 
Transistors ist ein 1k Basis Widerstand verbaut. Am Emitter liegt Ground 
an und der Kollektor geht zum Anschluss der Kathode.

Das ganze funktioniert soweit ganz gut, hat aber einen Nebeneffekt. Der 
Raspberry Pi hat soweit ich das sehe an den GPIOs einen Pegel von 3,3V, 
wenn der GPIO nicht initialisiert wurde.

Das hat zur folge, dass das Display beleuchtet wird, auch wenn ich das 
nicht möchte (Programm läuft nicht).

Was kann man da nun am besten gegen machen? Ist es okay, wenn ich einen 
100k Widerstand vom Emitter an die Basis lege? Oder sollte ich da ggf. 
einen geringeren Wert nehmen.

Es handelt sich um einen Standard NPN Transistor
BC337
Gast #4087108
Lesenswert?
• ▲
▼
Legt der RPi die Pins fest auf 3V3 oder kommen die von einem Pullup?
Bei festen 3V3 hilft deine Idee nicht, einfachste Lösung wäre dann einen 
Inverter vorzuschalten (simpler Transistor-Inverter).
Gast #4087110
Lesenswert?
• ▲
▼
Laie schrieb:
> Der
> Raspberry Pi hat soweit ich das sehe an den GPIOs einen Pegel von 3,3V,
> wenn der GPIO nicht initialisiert wurde.

Das wundert mich. Bei den meisten Prozessoren sind die I/O-Pins nach 
einem Power-On-Reset als Eingänge definiert, stellen also weder 
Stromquellen noch Stromsenken dar.
Eventuell aktive Pull-Up Widerstände eines Eingangs werden wohl nicht 
genug Strom liefern um den BC337 durchzusteuern.

Vermutlich gibt es also doch eine Initialisierungsroutine, die daraus 
Ausgänge macht und eine 1 hineinschreibt.

Miß doch mal die Spannung an dem mit dem 1k-Widerstand belasteten 
I/O-Pin.
Wenn da nahezu 3V sind, wird der Ausgang aktiv sein, und die Belastung 
mit 100k wird nichts nützen.
Wenn aber nur der interne Pull-Up-Widerstand eines Eingangs für die 
positive Spannung sorgt, sollte die Spannung des mit 1k und Ube des 
Transistors belasteten Pins eher bei 1V oder weniger liegen.
Dann könnte ein zusätzlicher Widerstand z.B. 1k zwischen B und E helfen.

Welches Betriebsystem bootest du?
Gast #4087114
Lesenswert?
• ▲
▼
Pandora schrieb:
> Bei festen 3V3 hilft deine Idee nicht, einfachste Lösung wäre dann einen
> Inverter vorzuschalten (simpler Transistor-Inverter).

Oder ein Codeschnipsel in die Boot-Sequenz einzufügen, das den Pin als 
Ausgang definiert und eine 0 hineinschreibt.

Das sollte ohne jegliche Änderung der Schaltung immer funktionieren.

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.