Hallo, hab mal ne kurze Frage. Was ist besser bzw. sinnvoller, eine LED vom Portpin gegen VCC oder gegen GND anzuschließen?
kommt darauf an, ob er nur Strom aufnehmen oder auch liefern kann - welcher Controller ? Otto
Wenn dein Controllerpin in beide Richtungen genug Strom liefert, ist es praktisch egal bzw ne reine Angelegenheit der Software. Ich schalte die LEDs meist so, wie es grad ins Layout passt: GND in der Nähe->LED gegen GND. VCC in der Nähe-> LED gegen VCC. Für die Ansteuerung schreib ich dann Makros oder Funktionen, dann merkt man in der SW keinen Unterschied.
Mathias Obetzhauser wrote: > Was ist besser bzw. sinnvoller, eine LED vom Portpin gegen VCC oder > gegen GND anzuschließen? Hängt davon ab, zu welchem Chip dieser "Portpin" gehört. Folgende Alternativen sind allerdings am häufigsten: 1) Es ist egal. 2) Es ist besser, die LED an VCC anzuschließen, und mit dem Portpin nach GND zu schalten. Wenn du also 2) wählst, bist du fast immer auf der richtigen Seite.
Das kommt zunächst drauf an, was Du für einen Controller hast. Es gibt viele Controller, deren Porttreiber nur als Senke Lasten treiben können (Open Collector- bzw. Open Drain-Outputs) und solche, die weitgehend symmetrische Push-Pull-Stufen an den Ausgängen besitzen und somit in beiden Richtungen betrieben werden können (also als Quelle und als Senke). Die AVRs besitzen z.B. Push-Pull-Endstufen und können beide Richtungen. Wenn man viele LEDs an einem AVR betreiben will, dann kann man einen Teil High-Side und einen Teil Low-Side anschließen, um den Strom auf VCC und GND aufzuteilen und unter den Grenzwerten zu bleiben.
Kurze Zwischenfrage dazu: Es ist doch auch möglich wenn eine LED über GND an den Portpin des µC geschaltet wird ,diese über PWM zu dimmen oder? mfg Laias
>Folgende Alternativen sind allerdings am häufigsten: >1) Es ist egal. Da stimme ich zu. >2) Es ist besser, die LED an VCC anzuschließen, und mit dem Portpin nach >GND zu schalten. Ich vermute, diese Aussage stammt noch aus der alten TTL-Zeit (vor 40 Jahren?). Da konnte ein Ausgang nur 1-2mA treiben, aber 15-20mA aufnehmen. Daher stammen auch noch viele Low-aktiven Signale (nCS, nOE ...). Eine normale CMOS Push-Pull Stufe unterscheidet da nicht mehr. Zusatz: 3.) Es ist besser, die LED an GND anzuschließen, da bei Verwendung von GND-Flächen diese überall auf der Platine automatisch vorhanden ist. Suche es dir aus. :-)
Nicht vergessen .. eine moderne LED laeuft mit 100uA, man ist mit 7.5k an 5V dabei. Es gibt allerdings auch Leute, die moechten nicht nur etwas anzeigen, sondern auch etwas beleuchten, dann kann man das 10fache durchlassen.
100µA? wo gibts denn die? Die "sparsamsten" die ich kenn, sind die 2mA-Teile vom Reichelt.
Hallo! Also die billigst-0805-LEDs von Schukat (EL17-21/R6C-AN, 3Cent/Stueck) betreibe ich bei 5V mit 4.7k und die sind mehr als ausreichend hell (ca.700uA) . Aber auf 100 komme ich auch nicht ;) Gruss Thomas
HildeK wrote: > Ich vermute, diese Aussage stammt noch aus der alten TTL-Zeit (vor 40 > Jahren?). Nix 40 Jahre! Es gibt eine ganze Reihe µCs, die z.T. sogar noch erhältlich sind, die Open-Drain-Ausgänge haben! Ich habe z.B. noch vor wenigen Jahren mit dem SAB80C537 gearbeitet, und bei dem trifft das auch zu. Ich weiß nicht, wie das bei den Nachfolgemodellen aussieht, weil ich schon seit langem nichts mehr mit 8051ern gemacht habe, aber sooo lange gibt es serienmäßige Push-Pull-Stufen in größerer Verbreitung noch nicht. > 3.) Es ist besser, die LED an GND anzuschließen, da bei Verwendung von > GND-Flächen diese überall auf der Platine automatisch vorhanden ist. Im Prinzip würde ich zustimmen, aber siehe mein Posting von 21:21, letzter Satz.
> Nicht vergessen .. eine moderne LED laeuft mit 100uA, man ist mit 7.5k an 5V dabei. Können wir die Berechnung mal sehen? Es gibt Gründe, die LED mit L zu treiben: 1. alte Gewohnheit... 2. der Teiber hat mehr Dampf gegen Gnd 3. der Teiber liegt nach PowerUp auf H
Johannes M. wrote: > zu. Ich weiß nicht, wie das bei den Nachfolgemodellen aussieht, weil ich > schon seit langem nichts mehr mit 8051ern gemacht habe, aber sooo lange > gibt es serienmäßige Push-Pull-Stufen in größerer Verbreitung noch > nicht. Die O.C. Technik der 8051 war auch in der NMOS Ära nicht universell verbreitet. So hatten Portbausteine der 70er Jahre, beispielsweise aus den 8080, 6800/6500 und Z80 Familien, von Anfang an eine Richtungssteuerung und Push/Pull Stufen, wenngleich durch NMOS-Technik bedingt und durch TTL-Kompatbilität erleichtert der Pullup-Zweig wesentlich schwächer war.
A. K. wrote: > Die O.C. Technik der 8051 war auch in der NMOS Ära nicht universell > verbreitet. So hatten Portbausteine der 70er Jahre, beispielsweise aus > den 8080, 6800/6500 und Z80 Familien, von Anfang an eine > Richtungssteuerung und Push/Pull Stufen, wenngleich durch NMOS-Technik > bedingt und durch TTL-Kompatbilität erleichtert der Pullup-Zweig > wesentlich schwächer war. Es ging mir ja auch nur um ein Beispiel, das zeigt, dass die µC-Steinzeit bei weitem nicht so lange her ist, wie manch einer glauben mag... Selbst die ersten AVRs (die afaik von Anfang an Push-Pull-Ausgänge hatten) konnten anfangs auch mehr Saft sinken als sourcen, bis dann irgendwann symmetrische Ausgangsstufen eingebaut wurden.
Kleine Randbemerkung: 3.) Der Treiber ist nach dem Powerup auf Eingang geschaltet. Wenn Du ein npn Schalttransistor an diesen Port angeschlossen hast, um damit ein Relais zu treiben und einen Pull- up Widerstand auf seiner Basis hast, kann dies zu ungewollten Schaltvorgängen beim Einschalten des Gerätes führen. (Es dauert mehrere us-ms bis der Port per Software als Ausgang 0 konfiguriert ist) Für eine LED, welche aktiv Strom benötigt um zu leuchten, ist die meiner Meinung nach nicht relevant, da ein Porteingang kein Strom liefern kann.
> 3.) Der Treiber ist nach dem Powerup auf Eingang geschaltet. In diesem Fall ja, aber das kann man nicht verallgemeinern. Ich werde jetzt nicht anfangen, LEDs wahllos mit L oder H zu schalten, sondern mach's einheitlich.
Bin gespannt, weche MCU mir Du nennst, bei der nach einem Reset die Ports nicht auf Eingang geschaltet sind. Lasse mich gerne belehren. ;-)
Alle klassischen 8051. Die internen Pullups sind dort stets aktiv, weshalb die Pins gewissermassen als Ausgang "high" zur Welt kommen. Jeder der daran per ULN2xxx Relais anschliesst freut sich darüber.
> Bin gespannt, weche MCU mir Du nennst, LEDs kann man ja auch nur an MCUs anschliessen, gell? Diskutier ruhig weiter, während ich die nächsten 1000 bereits mit L schalte- und zwar egal an welchem Baustein.
Die moderne gruene high efficiency LED im 1206 hat nicht wie ueblich 2.3V, sondern so um die 3.2V. Dh an 5V mit 7.5k fliessen noch 240uA. Die sind da noch gut sichtbar.
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.