Hallo zusammen, vorab möchte ich sagen, dass ich kein Elektrotechniker bin sondern Programmierer. Da ich seit geraumer Zeit uC programmiere, komme ich mehr und mehr mit dem Thema Elektrotechnik in Kontakt. Was mir auch immer mehr Spass macht. Bei der Recherche im Netz kommt man um dieses Forum natürlich nicht drum herum. Daher fällt auch extrem auf, dass hier alle möglichen Leute mit 1/4 oder Halbwissen angefeindet werden. Trotzdem hoffe ich einfach auf hilfreiche Beiträge. Wie dem auch sei, für ein Projekt (Raspberry PI 3B mit Raspbian + Codelite und C++, Geräte: Accelerometer, Audio, OLED Display, Rotary Encoder, Powerbank, NFC, etc) möchte ich noch eine Status LED (RGB LED) über Transistoren mit einem PWM Signal ansteuern. Ggf. stelle ich später auf 4 Neopixel um. wie dem auch sei, die RGB LED nutzt eine gemeinsame Kathode. Als Spannungsquelle habe ich 12V, 5V und 3.3V vom uC (GPIO). Mir reicht eine Spannung und Stromstärke unterhalb der maximalen Spezifikationen (RGB: 2V, 2.2V, 4V und 20mA). Ggf. regel ich Unterschiede bei der Helligkeit per Software nach. Ich habe immer gedacht, dass NPN Transistoren zwischen (+) und Verbraucher geschaltet werden und PNP zwischen Verbraucher und (-). Da ich eine gemeinsame Kathode habe, wollte ich als erstes einen NPN BC639 verwenden. Diese habe ich hier noch vorrätig. Da es so viel zu Transistoren zu lesen gibt (verstehe bei weitem nicht alles), habe ich dann den Simulator EveryCircuit angeworfen und 4 Schaltungen erstellt. [siehe Anhang] Gibt es in den angehängten Schaltungen grobe Fehler? Was hat welche Schaltung für Vor- und Nachteile (z.B. zu starke Wärmeentwicklung wegen den Spannungen)? Was kann man an den Schaltungen optimieren? Vielen Dank schon mal. Grüße DrDoom
DrDoom schrieb: > Gibt es in den angehängten Schaltungen grobe Fehler? Ja, gibt es. Wie willst du in den Schaltungen 1 und 2 jemals die LED ausschalten (wenn die Steuerspannung 0V/3,3V ist)?
Mit der 3. und 4. Schaltung wirst du auch nicht glücklich, weil die Ausgangsspannung für viele LEDs (insbesondere weiß und blau) zu gering ist. Schau hier: http://stefanfrings.de/mikrocontroller_buch/Einstieg%20in%20die%20Elektronik%20mit%20Mikrocontrollern%20-%20Band%202.pdf Kapitel 2.2 und 3.4 Da geht es um AVR aber die Aussagen treffen ebenso auch auf deinen Raspberry Pi zu.
DrDoom schrieb: > vorab möchte ich sagen, dass ich kein Elektrotechniker bin sondern > Programmierer. Dem Bild nach zu urteilen haette ich dich eher als Astronomen eingeschaetzt,der eine intergalaktische Aufnahme des Milchstrassensystems zur Verfuegung stellt..... Im Ernst: Auch auf die Gefahr hin mich laecherlich zu machen,weil es jedes Kind weiss nur ich nicht: Mit was fuer einem Programm hast Du denn den Schaltplan erstellt?
Hallo, prinzipiell geht die 2. Schaltung von oben mit dem pnp-Transistor. Allerdings hängt der Transistor mit Emitter an 5V und die Basis bekommt bei High vom GPIO-Pin nur 3,3V. Die LED kann so nicht ausgeschaltet werden! Abhilfe schafft ein zusätzliche Widerstand (R_be) zwischen Basis und Emitter des pnp-Trans. Der dann vorhandene Spannungsteiler wird so eingestellt, dass -> bei High-Pegel (GPIOout > 3V) -> (U_be < 0,5V) -> LED OFF -> bei Low-Pegel (GPIOout < 0,5V) -> (U_be > 0,7V) -> LED ON. Aus der ersten Bedingung folgt, dass der Spannungsteiler R_basis:R_be ein Verhältnis größer als ca. 3:1 haben sollte, damit der Transistor sperrt. Vorschlag: R_basis = 3,6k...4,7k, R_be = 1k Bei GPIOout < 0,5V stellt sich dann an der Basis eine ausreichende Spannung ein, um den Transistor durchzusteuern. Prüfe aber, ob es zulässig ist, an den GPIO eine Spannung größer als 3,3V anzulegen (GPIO-Pin 5V-tolerant ?), weil ja über den Vorwiderstand ein kleiner Strom von 5V in das GPIO-Pin fließen kann. Falls das nicht zulassig ist, sollte noch eine Diode in Reihe zum Vorwiderstand geschaltet werden. Der Spannungsabfall über diese Diode kann dann auch bei der Dimensionierung berücksichtigt werden. Gruß Öletronika
:
Bearbeitet durch User
DrDoom schrieb: > Was kann man an den Schaltungen optimieren? Wenn du eine RGB-LED mit gemeinsamer Anode verwenden würdest, käme die Schaltung zuverlässig mit nur einem Transistor aus.
:
Wiederhergestellt durch Moderator
Die I/O Pins der Raspberry Pi sind nicht 5V tolerant.
Falls der GPIO selbst nicht in der Lage ist, den geforderten Strom zu liefern, brauchst Du einen Treiber, das steht fest. Ich würde den Strom für die Entscheidung bei 5mA ansetzen: Wenn Du mit weniger Helligkeit auskommst, brauchst Du für die RGB-LED nur noch drei Vorwiderstände. Das würde ich zuerst einmal prüfen. Mit Treiber bei gemeinsamer Kathode musst Du Highside schalten, so viel steht fest. Wenn keine zu hohe Präzision des LED-Stroms gefordert ist, würde ich erst mal überlegen, Variante 2 zu benutzen, wobei ich die LEDs ebenfalls aus 3.3V versorgen würde, womit Ausschalten möglich wird. Wenn Du mehr willst, überlege Dir, ob Du vielleicht besser ein billiges IC nehmen willst, z.B. 74HCT04, sechs Inverter. Zwei davon jeweils parallel geschaltet, Vorwiderstände für die LEDs, aus 5V versorgt und 3.3V-kompatibel, das kann es gewesen sein.
Hi, ich würde dir empfehlen, wenn du die Helligkeit der LED´s per Software regeln möchtest, das ganze mit PWM zu realisieren. Das ganze könnte dann wie folgt aussehen (siehe Anhang). Vorteil hier wäre, dass beinahe die vollen 5 V durchgeschaltet werden, und dann die LED mit der Farbe seine 4V U forward abbekommt.
:
Bearbeitet durch User
Hallo zusammen, wow, erstmal vielen Danke für die vielen hilfreichen Beiträge (ausgenommen Toxic). ############################################### Toxic schrieb: > Auch auf die Gefahr hin mich laecherlich zu machen,weil es jedes Kind weiss nur ich nicht: Mit was fuer einem Programm hast Du denn den Schaltplan erstellt? Zitat aus meinem Eingangspost: > habe ich dann den Simulator EveryCircuit angeworfen und 4 Schaltungen erstellt. ############################################### ArnoR schrieb: > Wie willst du in den Schaltungen 1 und 2 jemals die LED ausschalten (wenn die Steuerspannung 0V/3,3V ist)? Ah man. Ist natürlich klar. Vielen Dank für den Hinweis!! Stefanus F. schrieb: > Mit der 3. und 4. Schaltung wirst du auch nicht glücklich, weil die Ausgangsspannung für viele LEDs (insbesondere weiß und blau) zu gering ist. Danke dir. Ja mir ist auch aufgefallen, dass ich nicht auf eine akzeptable Spannung komme. Da jedoch blau in einer RGB Led eher 'zu hell' ist, hätte ich es zumindest einmal probiert. Habe mir das Buch mit Kapitel 2.2 und 3.4 durchgelesen. Allerdings passen einige Sachen nicht auf z.B. die RGB LED mit gem. Kathode. Z.B. wird ja in dem Kapitel 2.2.1 NPN-Beispiel gegen (-) geschaltet. Das kann ich aber bei der LED leider nicht. Und das PNP-Beispiel kann ich nicht nutzen weil ich dann die Basis nicht mehr schalten kann. Wie auch in meinen Beispielen 1+2! Ich lese trotzdem noch weiter in dem Buch. Das hilf auf jeden Fall. Ach Du grüne Neune: Das würde tatsächlich funktionieren. Wenn ich es richtig sehe, müsste ich jedoch 9 Bauteile á 3 RGB Farben verbauen? Hmm... ich hätte gehofft es reicht ein Transistor + Widerstände. Ich recherchiere noch einmal nach weiteren Lösungen. Peter H.: Ich habe die Schaltung nachgebaut. Leider komme ich nicht auf ~4V sondern auf 1.92V (laut Simulation).
> Da jedoch blau in einer RGB Led eher 'zu > hell' ist, hätte ich es zumindest einmal probiert. Du hast nicht verstanden, wie Dioden funktionieren. Wenn deine blaue LED eine Nennspannung von 3,6 Volt hat, dann wird sie bei 3V mit Glück gerade mal glimmen und mit 2,8V absolut dunkel sein. Schau Dir mal die Kennlinien der konkreten LEDs an! Das kannst du nicht mit Glühlampen vergleichen. > ich hätte gehofft es reicht ein Transistor Nö, du brauchst 2. > Ich habe die Schaltung nachgebaut. Leider komme ich nicht > auf ~4V sondern auf 1.92V (laut Simulation). An der LED wirst du immer ungefähr 2V messen, egal ob du sie mit 1mA oder 100mA bestromst. Wie gesagt, schaue Dir die Kennlinien der konkreten LEDs an! Entscheidend ist, dass die Ausgangsspannung vom Transistor deutlich höher ist, als die Betriebsspannung der LED, damit der Widerstand noch etwas zum verheizen hat. Wenn der Widerstand nichts zum Verheizen hat, fehlt Dir die Möglichkeit, dem Strom festzulegen. Wenn die Ausgangsspannung zu gering ist, fließt zu wenig oder gar kein Strom. Und dann muss man noch die ganz erheblichen Streuungen berücksichtigen. Deine Simulation geht von einer idealen Diode mit einer ganz bestimmten Spannung und einem ganz bestimmten Innenwiderstand aus. In der Realität kann die Spannungen aber durchaus einige hundert Millivolt davon abweichen, und der Innenwiderstand kann noch viel Stärker von der Simulation abweichen. Bei Leistungs LEDs (die heiß werden) muss man außerdem die Abhängigkeit von der Temperatur berücksichtigen. Die Betriebsspannung sinkt bei steigender Temperatur. Vergiss mal deine Simulation und arbeite lieber mit Datenblatt und Steckbrett.
> > Peter H.: > Ich habe die Schaltung nachgebaut. Leider komme ich nicht auf ~4V > sondern auf 1.92V (laut Simulation). Du hast ja parallel zu deiner 1. Diode mit Widerstand eine 2. Diode eingebaut. Warum auch immer :D (daraus würde auch die Magic Smoke entstehen ) :D Lass die rechte Diode weg, dann sollte es funktionieren. In meinem Simulationsprogramm hier konnte ich leider nur keine LED auswählen, deswegen musst einen normale Diode herhalten. LED´s haben unterschiedliche U forward Spannungen, von 1,5V (Rot) bis 4V (z.B. Blau). Du hast hier halt eine mit einer forward Voltage von ca. 2V gewählt, weswegen die Spannung natürlich 2V nicht übersteigen kann. Aber ich glaub wir verwirren dich hier zu sehr :D Einfach die Diode durch deine LED ersetzen. Widerstand und LED kannst du ja tauschen (also Widerstand oben, LED unten) , sollte bekannt sein, wenn du eine gemeinsame Kathode hast. MfG Peter
:
Bearbeitet durch User
aus einem PI kannst du ja mit einem 74HCT125 (Vcc 5V Uin high ab 2V) den Pegel auf 5V heben und da deine Emitterfolger Schaltung (Collectorschaltung) https://www.elektronik-kompendium.de/sites/slt/0204133.htm mit Transistoren machen, das reicht dann 5V - 0,7V = 4,3V auch für blaue LED mit 3,6V + Vorwiderstand
:
Bearbeitet durch User
DrDoom schrieb: > Ach Du grüne Neune: > Das würde tatsächlich funktionieren. Wenn ich es richtig sehe, müsste > ich jedoch 9 Bauteile á 3 RGB Farben verbauen? Hmm... ich hätte gehofft > es reicht ein Transistor + Widerstände. Du brauchst 2 Transistoren, aber natürlich nicht so viele Widerstände, die Hälfte reicht, siehe Anhang. Die 5V-Versorgung ist hier nur beispielhaft, du kannst ohne Änderungen (außer LED-Vorwiderstand) auch die 12V-Versorgung anschließen. Die 3,3V ist die Versorgung des Raspberry Pi und die Signalquelle ist der GPIO.
ArnoR schrieb: > Du brauchst 2 Transistoren pro Kanal also 6 einfacher ist ein IC um die 5V Anhebung zu machen vor allem wenn man mehr als 1 Port benötigt
:
Bearbeitet durch User
Beitrag #5521336 wurde von einem Moderator gelöscht.
> Es geht auch mit nur einem Transistor Was für eine Krampf Schaltung! Nachteil 1: > aber die Versorgungsspannung darf > jetzt nicht mehr nennenswert von den 12 Volt abweichen Nachteil 2: > Außerdem muss das Signal vorher im Programm invertiert werden! Nachteil 3: > Der Transistor sollte keine hohe Verstärkung haben Ich habe eine große Menge BC327-40 und BC337-40 in der Bastelkiste. Wegen dieser Sonderlocke würde ich jetzt nicht extra andere Transistoren kaufen wollen. Ich ergänze Nachteil 4: Jetzt brauchst du eine Zenerdiode, die ungefähr genau so viel kostet, wie der 2. Transistor. Nachteil 5: Wenn der Transistor wegen einem Kurzschluss am Ausgang durchbrennt, hast du einer herrliche Überspannung am Mikrocontroller. Der zweite Transistor hätte davor geschützt.
Beitrag #5521367 wurde von einem Moderator gelöscht.
Seltsam, dass hier keiner eine Emitterschaltung als Lösung vorschlägt.
> Seltsam, dass hier keiner eine Emitterschaltung als Lösung vorschlägt.
Haha, sehr Lustig.
Stefanus F. schrieb: >> Seltsam, dass hier keiner eine Emitterschaltung als Lösung vorschlägt. > > Haha, sehr Lustig. Entweder ist es das oder exakt das Gegenteil. Mir kommt das Ding verdächtig trocken rüber ;-)
U. M. schrieb: > Prüfe aber, ob es zulässig ist, an den GPIO eine Spannung größer als > 3,3V anzulegen (GPIO-Pin 5V-tolerant ?), weil ja über den Vorwiderstand > ein kleiner Strom von 5V in das GPIO-Pin fließen kann. Ja, die Variante hätte ich auch vorgeschlagen. Ein kleiner Strom im oberen µA-Bereich ist praktisch immer zulässig, dafür sorgen schon die ESD-Schutzdioden. Man kann dann auch noch einen weiteren R spendieren, zwischen dem µC-Ausgang und GND. Der wirkt mit den anderen als Teiler und sorgt dafür, dass die ESD-Dioden gar nichts zu tun bekommen. Siehe Anhang. Nachteil auch dieser Schaltung ist, dass sie eben nur sinnvoll arbeitet bei 5V, für andere Spannungen muss man neu dimensionieren und für größere Spannungen wird das immer enger mit den Toleranzen. Auch sollte der µC seine Ausgangsspannungstoleranzen nicht voll ausnützen. Aber wenn der TO die 5V (±5%) fix hat und möglichst wenig Aufwand spendieren will, dann ist das eine gangbare Lösung.
Stefanus F. schrieb: > dass die Ausgangsspannung vom Transistor deutlich > höher ist, als die Betriebsspannung der LED, damit der Widerstand noch > etwas zum verheizen hat. Wenn der Widerstand nichts zum Verheizen hat, > fehlt Dir die Möglichkeit, dem Strom festzulegen. Wenn die > Ausgangsspannung zu gering ist, fließt zu wenig oder gar kein Strom. Und > dann muss man noch die ganz erheblichen Streuungen berücksichtigen. Vielen Dank. DAs bringt schon einiges Licht in's Dunkel was das Verhalten angeht. Ich denke, dass es am sinnvollsten ist den Pegel am Ausgang des uC erst einmal auf 5V anzuheben. Hatte hier zwar noch Level Shifter von 3.3V auf 5V aber ich finde die nicht mehr. Neue kommen morgen an. Dazu hätte ich noch Fragen: 1. Kann ich LED's direkt mit Vorwiderstand an einem (Standard TE291) Level Shifter betreiben? ~150mA sollen die problemlos vertragen oder doch besser über einen Transistor. 2. Wird das Steuersignal an diesen Level Shiftern 'analog' oder 'digital' angehoben? Also z.B.: 1.0V -> 1.5V und z.B. 2.0V -> 3.0V und z.B. 3.3V -> 5V oder liegen bei allen Steuersignalen z.B. größer 0.7V dann die 5V an? Der Shifter benötigt 3.3V und 5V Spannungsversorgung. Ich frage weil ich gelesen habe, dass die keine besonders hohen PWM Frequenzen Shiftern können und man evtl mit einem Kondensator das Signal glätten könnte?
> Ich denke, dass es am sinnvollsten ist den Pegel > am Ausgang des uC erst einmal auf 5V anzuheben. > Hatte hier zwar noch Level Shifter von 3.3V auf 5V Der Vorteil gegenüber einem simplen 5 Cent Transistor ist dann wo?
Na dass ich dann die blaue LED mit 4V betreiben kann. Ich hatte ja in meinem Eingangsbeitrag geschrieben, dass ich mit der RGB Led (gemeinsame Kathode) und der Steuerspannungs an der Basis von 3.3V nicht auf 4V komme oder eben einige Bauteile benötige (und bei RGB dann x3).
Dein Level Shifter besteht mindestens aus einem Transistor pro LED und benötigt noch einen zweiten, um au den gewünschten Laststrom zu kommen. Ich sehe hier keinen Vorteil gegenüber der normalen Schaltung aus zwei Transistoren. Es sei denn, du hast einen Levelshifter, der von sich aus schon genug Strom liefert. Wir reden hier doch immer noch von 4x3x20mA mit gemeinsamer Kathode, richtig? Wenn Dir 10mA pro LED genügen, würde ich Dir ja den 74LVX244 als 8-Fach Treiber empfehlen, aber das wäre ja zu einfach.
Hallo, > Stefanus F. schrieb: > Ich sehe hier keinen Vorteil gegenüber der normalen Schaltung aus zwei > Transistoren. Wenn man den Aufwand für einen LED-Treiber auf ein Minimum reduzieren will, dann braucht man außer den LED + Vorwiderstand noch genau einen Transistor, sonst nix. Dazu sucht man sich einen kleinen p-Kanal-FET, mit einer el. hohen U_gs, so dass der FET erst ab -2V anfängt zu leiten. z.B. http://www.vishay.com/docs/66717/sq2337es.pdf http://ww1.microchip.com/downloads/en/DeviceDoc/VP2106%20B082313.pdf An 5V LED-Spannung wird der FET also bei 3,3V (Ugs: -1,7V) am Gate noch sperren und bei 0V (-5V am Gate) leiten. Ich würde aber zur Sicherheit noch einen Entkopplungwiderstand zwischen GPIO-Pin und Gate schalten (1...10kOhm). Damit kann auch die Schaltgeschwindigkeit so eingestellt werden, dass der FET für die FWM schnell genug ist, aber nicht zu schnell um Störspannungen zu reduzieren. Gruß Öletronika
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.