Hallo und vielen Dank, dass Du meinen ersten Forenbeitrag list. Ich möchte gerne an einem Arduino die Ausgangsports erweitern. Hierfür habe ich hier zwei PCF8574 Expander. An den 8 Ausgängen möchte ich gerne 8 LEDs betreiben (je 30mA). Nun haben die Ausgänge des Expanders als maximale Stromstärke 100uA, also viel zu wenige. Jetzt vermute ich, ich kann das durch vorgeschaltete OpAmps irgendwie planen, aber mir fehlt der richtige Ansatz. Welche Schaltung müsste ich dazu anwenden oder bin ich ganz auf dem Holzweg? Vielen Dank für Deine Hilfe Michael
Michael R. schrieb: > Nun haben die Ausgänge des Expanders als > maximale Stromstärke 100uA, also viel zu wenige. Wo hast du das gelesen? Im Datenblatt von TI wird für Low-level output current (I_OL) ein Wert von 25mA angegeben. Aber achte drauf, dass du den Maximalstrom von 100mA für Gnd und V_CC nicht überschreitest. Falls das bei deiner Anwendung nicht garantiert werden kann, wäre vielleicht ein TPIC6B595 eine Möglichkeit.
Hallo Michael, mein Tip wäre an der Stelle ein klassisches Schieberegister : HC595, oder wenn es mehr Dampf haben soll ein TPIC6B595N gleich mit integrierten Treibern. Eine Frage sei gestattet: Welche Uralt-LED verwendest du, da die mit 30mA betrieben werden sollen? Oder willst du eine größere Halle beleuchten? MfG von der Spree Frank
@Wolfgang und Frank: Vielen Dank für den Tipp mit dem Schieberegister. Das scheint eine tolle Möglichkeit zu sein. Das werde ich ausprobieren. Meine Neugier lässt mir jedoch keine Ruhe. Wäre es auch irgendwie mit OpAmps möglich die LEDs am PCF8574 direkt zu betreiben? Oder wäre das generell ein schlechtes Vorgehen? @Frank: Das ist eine gute Frage. Die sind schon etwas älter. Sind blaue LEDs und auf der Tüte steht 30mA. Ich hab mal eine Kiste mit vielen alten Zeug bekommen und versuche damit meine Experimente zu machen.
Die PCF8574 haben am Ausgang eine "klassisches" Verhalten, wie es früher bei Mikrocontrollern üblich war. In Richtung HIGH, konnten sie nur kleine Ströme liefern, wogegen sie nach LOW einige mA (bis etwa 10) ziehen konnte und dabei eine Spannung von etwa 0,8 V einhielten. Diese Werte stammen noch aus der Zeit der TTL-Bauteile und haben sich vielfach bewährt. Man konnte so leicht bidirektionale Ports realisieren. Dazu wurde auf dem Port eine "1" ausgegeben. Durch Schalter, Transistoren konnte der Pegel von außen nach LOW gezogen werden ohne dass Schäden entstanden. Ein Lesebefehl fragte den Pegel (digital) ab und erhielt eine "1", wenn der Port nicht nach LOW gezogen wurde, anderenfalls erhielt man eine "0". Wollte man mit einem Port eine LED ansteuern reichte es für kleine Ströme, einen Widerstand von etwa 470 Ohm vom Port zur Versorgung zu schalten, um einen etwas höheren Strom für die LED zu erhalten. Brauchte man höhere Ströme, schaltete man einen PNP-Transistor (Emitter an die Versorgungsspannung, Basis über einen Widerstand von etwa 1 kOhm an den Port) als Verstärker vor und konnte dann am Kollektor deutlich mehr Strom abnehmen. (Feiglinge wie ich es bin schalteten zwischen Basis und Emnitter des Transistors noch einen weitern Widerstand von 1 kOhm ein, damit der Transistor sicher gesperrt wurde, wenn eine "1" ausgegeben wurde.) Durch die Transistorstufe wurde das Signal aber invertiert, d.h. wenn auf dem Port eine "0" (LOW-Pegel) ausgegeben wird, leitet der Transistor. Auch mit dem Transistor ist es noch möglich, direkt am Port diesen auf LOW zu ziehen und so diesen auch noch weiterhin als Input zu verwenden. (Wenn man den Port von außen nach LOW zieht, wird der Transistor leitend und eine angeschlossene LED leuchtet. Lässt das außen angelegte Signal den Port wieder los, bestimmt der Prozessor nach wie vor den Pegel.)
Michael R. schrieb: > Wäre es auch irgendwie mit > OpAmps möglich die LEDs am PCF8574 direkt zu betreiben? OP-Amps haben da gar nichts verloren. Klar kann man sie zweckentfremden, aber das wäre ungefähr so schräg, wie mit einem Kipplaster Brötchen einzukaufen. Wenn schon, nimmt man dazu einzelne Transistoren oder Treiber-IC's wie den ULN2003. Das würde ich aber nur machen, wenn es wirklich nötig ist. Jedes unnötige Bauteil erhöht die Wahrscheinlichkeit, etwas zu verbocken oder später kaputt zu gehen. Michael R. schrieb: > Sind blaue > LEDs und auf der Tüte steht 30mA. Ich hab mal eine Kiste mit vielen > alten Zeug bekommen und versuche damit meine Experimente zu machen. Dann probiere sie dich erst einmal aus. Ich wette, dass sie bei 10 mA hell genug sind. Ich betreibe meine üblicherweise mit 1 bis 2 mA.
Michael R. schrieb: > Wäre es auch irgendwie mit > OpAmps möglich die LEDs am PCF8574 direkt zu betreiben? Oder wäre das > generell ein schlechtes Vorgehen? Wäre es. Ein OP ist viel zu aufwändig und hat ganz andere Qualitäten, zumal du da auch wieder einen mit ausreichendem Ausgangsstrom bräuchtest. Du könntest einen Transistor als Treiber verwenden. Frank S. schrieb: > Eine Frage sei gestattet: Welche Uralt-LED verwendest du, da die mit > 30mA betrieben werden sollen? Heutzutage findest du einen Haufen LED-Typen mit Nennbetriebsstrom von 300 oder 700mA ;-)
Blaues LED Licht kann auch sehr penetrant sein, wenn die LED gedimmt werden sollen, dann geht das mit einem PCA9685 auch einfach. Den gibts auch als Modul und Arduino Libs gibt es auch dazu. Der schafft ebenfalls 25 mA pro Kanal.
Wolfgang schrieb: > Heutzutage findest du einen Haufen LED-Typen mit Nennbetriebsstrom von > 300 oder 700mA ;-) Aber in Blau? Hoffentlich nur auf der Kirmes.
Warum möchtest du ein analoges Bauteil (OpAmp) für ein Digitalsignal verwenden? Wenn du mehr Strom brauchst, nimm doch einfach einen Transistor. Am besten einen MOSFET. Näheres erfährst du in diesem Forum hier: https://www.mikrocontroller.net/articles/Transistor
Stefan ⛄ F. schrieb: > Treiber-IC's wie > den ULN2003 wobei der mit nur 7 Treiber nicht die geschickteste Wahl ist wenn man 8 Ports hat, mich deucht ein ULN2803 mit 8 Treiber wäre klüger, die aber nur nach low schalten. Wer unbedingt high statt low als geschalteten Ausgang braucht also hi side, der nehme doch besser den UDN2981 https://crazy-electronic.de/index.php/uln2803
Michael R. schrieb: > Meine Neugier lässt mir jedoch keine Ruhe. Wäre es auch irgendwie mit > OpAmps möglich die LEDs am PCF8574 direkt zu betreiben? Oder wäre das > generell ein schlechtes Vorgehen? Schlecht. Besser wären einfach Transistoren (BC847 oder so) oder Transistorarrays. Vorwiderstände für die LED nicht vergessen. Und Achtung: Die 8574 sind beim Einschalten high / Eingang mit pull-up. Ein gegen GND geschalteter Transistor würde dann schalten und die LEDs leuchten bis der 8574 auf Ausgang / low geschaltet ist. Das liegt an der Funktion des 8574, der kann eigentlich nur zwei Zustände: Pin als Eingang, pull-up, dann fließen 100µA gegen GND, je nachdem ob er außen kurzgeschlossen oder offen ist wird ein low / high detektiert. Pin als Ausgang, open-collector schaltet nach GND, damit können bis 25mA gegen Vcc geschaltet werden. Flexibler ist ein MCP23008 / MCP23017, der kann Eingang / Ausgang, mit high / low, mit Pull-up oder ohne. Allerdings auch ein wenig aufwendiger in der Ansteuerung.
Karl K. schrieb: > Flexibler ist ein MCP23008 / MCP23017, der kann Eingang / Ausgang, mit > high / low, mit Pull-up oder ohne. Allerdings auch ein wenig aufwendiger > in der Ansteuerung. Der MCP23017 hat dann sogar gleich 16 Ausgänge. Wenn es noch einige mehr sein dürfen...HT16K33. https://www.holtek.com/documents/10179/116711/HT16K33v120.pdf Michael R. schrieb: > @Frank: Das ist eine gute Frage. Die sind schon etwas älter. Sind blaue > LEDs und auf der Tüte steht 30mA. Ich hab mal eine Kiste mit vielen > alten Zeug bekommen und versuche damit meine Experimente zu machen. Wenn deine Leds wirklich alt sind investiere in einige Neue. Dann reicht auch 1 bis 2mA für eine akzeptable Helligkeit.
:
Bearbeitet durch User
Frank S. schrieb: > mein Tip wäre an der Stelle ein klassisches Schieberegister : HC595, weil Fahrrad besser als Auto ist? Michael hat sich einen I2C-Expander ausgesucht, das ist erstmal nicht zu beanstanden. Es sind einfachste Grundlagen der Elekronik, mit dem geringen Ausgangsstrom des PCF8574 einen Transistor anzusteuern und damit den Laststrom der LEDs zu schalten. Interessant wird das erst, wenn weitere Randbedingungen dazu kommen.
Manfred schrieb: > Es sind einfachste Grundlagen der Elekronik, mit dem geringen > Ausgangsstrom des PCF8574 einen Transistor anzusteuern Ja aber man sollte schon die Besonderheiten des 8574 beachten. Wie die, dass die Ausgänge beim Einschalten quasi high sind, ein NPN Transistor also erstmal durchschaltet. Weitere Vorteile des MCP23008 / 23017: Läuft auch mit 3.3V, bis zu 1.8V runtern, und braucht deeeeuuuutlich weniger Strom als der 8574. Jörg R. schrieb: > Der MCP23017 hat dann sogar gleich 16 Ausgänge. Das ist jetzt nicht so ein großer Vorteil, denn die Summe des Stromes darf an VCC/GND 150mA nicht überschreiten. Dafür kann ein Pin aber 25mA nach Vcc und nach GND schalten. Man könnte nun den alten Trick anwenden, einen Teil der LED gegen Vcc und einen Teil gegen GND schalten. Dann kann jede LED 18mA bekommen, und man ist noch innerhalb der Specs. Und: Den MCP23017 bekommt man günstig als fertiges Modul: https://www.amazon.de/Waveshare-MCP23017-Expansion-Interface-Expands/dp/B07P2KD39X/
:
Bearbeitet durch User
Woher kommt die irrige Annnahe, eine LED muesse mit 20mA betrieben werden ? Die laeuft auch mit 10mA, oder mit 5mA noch gut. Ausser man moechte moeglichst viel damit beleuchten. Zu signalisationzwecken kass ich meine weniger mit vielleicht 0.5mA laufen.
https://www.mikrocontroller.net/articles/Port-Expander_PCF8574#Anwendung Mein Gott, endloses Geplapper wegen so einer einfachen Frage!
Michael R. schrieb: > Nun haben die Ausgänge des Expanders als > maximale Stromstärke 100uA, also viel zu wenige. Der IC ist für low aktive Lasten gedacht, d.h. beim Power-On sind die Ausgänge high. Schalte die LEDs einfach gegen VCC, dann hast Du mehr Strom. Michael R. schrieb: > Sind blaue > LEDs und auf der Tüte steht 30mA. Die 30mA werden der Grenzwert sein, den man nicht überschreiten darf. D.h. bei 10mA sollten die LEDs schon gut leuchten.
Karl K. schrieb: > Jörg R. schrieb: >> Der MCP23017 hat dann sogar gleich 16 Ausgänge. > > Das ist jetzt nicht so ein großer Vorteil, denn die Summe des Stromes > darf an VCC/GND 150mA nicht überschreiten Wenn der TO „vernünftige“ Leds nimmt reicht das locker aus. Karl K. schrieb: > Und: Den MCP23017 bekommt man günstig als fertiges Modul: > > https://www.amazon.de/Waveshare-MCP23017-Expansion-Interface-Expands/dp/B07P2KD39X/ Oder man nimmt ihn in DIL-Bauform, dann ist es günstig;-) https://www.mouser.de/ProductDetail/Microchip-Technology/MCP23017-E-SP?qs=usxtMOJb1RyESXZDw7ia5A%3D%3D
:
Bearbeitet durch User
Chregu schrieb: > Michael R. schrieb: >> A/D Wandler > > Wo ist da ein A/D-Wandler??? Da hab ich mich leider verschrieben. Kann man den Titel des Forenbeitrag nachträglich nochmal ändern? Gemeint ist natürlich I/O Expander statt A/D Wandler.
Michael R. schrieb: > Da hab ich mich leider verschrieben. Kann man den Titel des Forenbeitrag > nachträglich nochmal ändern? Unwichtig, du hast genügend brauchbare Hinweise erhalten.
Vielen Dank für die vielen Antworten. Das hat mir sehr geholfen und ich kann weiter machen.
Stefan ⛄ F. schrieb: > Aber in Blau? Hoffentlich nur auf der Kirmes. Dann guck mal, welche Farbe die LED hat, die bei einer "weißen LED" den photolumineszierenden Farbstoff zum Leuchten anregt. Oder guck dir einfach das Sprektrum an und frag dich, woher der ausgeprägte Peak bei um die 460nm kommt.
Michael R. schrieb: > Das hat mir sehr geholfen was davon? Das ist ein Forum und wenn du schreibst was genau half dann hilft es auch anderen, wenn du es nicht schreibst ist der ganze Thread sinnlos und hilft niemanden! Und du hast den Sinn eines Forums nicht verstanden!
:
Bearbeitet durch User
In diesem Fall gibt es keine konkrete Lösung aber einen schubs in die richtige Richtung. Ich war der Meinung das Problem mit OpAmps zu lösen. Damit war ich auf dem Holzweg. Jetzt experimentiere ich mit den genannten Lösungsvorschlägen. Darüber hinaus hab ich mir LEDs mit geringerem Stromverbrauch bestellt :-)
Michael R. schrieb: > Darüber hinaus hab ich mir LEDs mit geringerem Stromverbrauch > bestellt :-) LEDs erbrauchen immer genau so viel Strom, wie man ihnen gibt. Bei vielen Anwendungen ist es daher sinnvoll, auf Öffnungswinkel und Wirkungsgrad (Lichtstrom/Leistung) zu achten.
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.