-
        

+ Antworten
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wieviel Strom kommt aus den I/O Ports der Megas

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111

    Wieviel Strom kommt aus den I/O Ports der Megas

    Anzeige

    Hi Leute!
    Ich brauche jetzt mal Klarheit:
    Die inoffizielle Standardbeschaltung von LEDs an I/O-Ports der ATMegas ist:
    LED über Widerstand an Vcc und mit Kathode an den I/O Port. Ist der Port ein OUTPUT und LOW (0), dann geht die LED an, andernfalls aus. So sieht man es fast überall.
    Ich will mir aber die Widerstände sparen und mag auch die negierte Logik nicht. Deshalb habe ich im Datenblatt nachgesehen (Mega32) und lese da:
    "Although each I/O port can source more than the test conditions (20 mA at Vcc = 5V, 10 mA at Vcc = 3V) under steady state conditions (non-transient), the following must be observed: [...]"

    Frage:
    Wenn ich einen I/O Port auf OUTPUT schalte und ihn auf HIGH lege und an ihn eine LED (Anode) mit Vorwiderstand anschließe, liefert er dann die gewünschten 20mA?
    Und würde er tatsächlich mehr bei entsprechendem Verbraucher liefern?
    Wenn ja, warum macht das keiner (dessen Schaltung mir vorliegt)?
    Und: Sehe ich das richtig, dass die internen Pull-Ups eigentlich nur benötigt werden, wenn man einen Open-Collectorausgang einlesen möchte?
    Danke schonmal im Voraus,
    Gock

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    13.07.2006
    Beiträge
    81
    Die internen Pull-ups dienen dazu, dass wenn der Ausgang high ist, dass dann die Betriebsspannung am Pin anliegt. Wenn du nun eine LED dranhenkst, kann es sein, dass dieser Widerstad zu gross ist, und der Ausgang somit nicht genug Strom liefern kann. Da ich es aber noch nie ausprobiert habe, weiss ich aber auch nicht, wie gross dieser Widerstand ist. Vielleicht geht es problemlos. Aber dann musst du schauen, das nicht zu viele Ausgänge gleichzeitig high sind, sonst lebt dein Controller nicht lange. Im Datenblatt muss irgendwo eine Angabe stehen. Die beste Art der LED-Ansteuerung ist aber immer noch mittels Treiber. Ob einzelne Transstoren, Arrays, oder fertige Treiber-ICs ist jedem selbst überlassen.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734

    Re: Wieviel Strom kommt aus den I/O Ports der Megas

    Zitat Zitat von Gock
    Frage:
    Wenn ich einen I/O Port auf OUTPUT schalte und ihn auf HIGH lege und an ihn eine LED (Anode) mit Vorwiderstand anschließe, liefert er dann die gewünschten 20mA?
    Ja, das ist kein Problem.
    Und würde er tatsächlich mehr bei entsprechendem Verbraucher liefern?
    Bei entsprechender Last kann der ATMega auch mehr. Aber es ist pro I/O Port nicht mehr als 40mA erlaubt und bei Belastung mehrerer Ausgänge darf die Summe bestimmte Werte nicht überschreiten. Die Stelle im Datenblatt hast du ja schon gefunden.
    Wenn ja, warum macht das keiner (dessen Schaltung mir vorliegt)?
    Das wird bestimmt öfters gemacht. Hab ich auch schon.
    Und: Sehe ich das richtig, dass die internen Pull-Ups eigentlich nur benötigt werden, wenn man einen Open-Collectorausgang einlesen möchte?
    Das ist z.B. ein Grund. Ein anderer Grund könnte sein, bei nicht benutzten Pins floatende Eingänge zu vermeiden für einen geringeren Stromverbrauch.

    Waste

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Hallo!
    @ Pandadriver
    [...] wenn der Ausgang high ist, dass dann die Betriebsspannung am Pin anliegt.
    Das wäre meine Befürchtung gewesen, nach Wastes Antwort wissen wir nun aber, dass es glücklicherweise nicht so ist. Denn wenn der Pin ein Ausgang ist, dann sind die PullUps ausgeschaltet. Daher verwendet man PullUps nur so, wie Waste schrieb.
    Der PullUp selbst hat zwischen 20 und 50 kOhm (laut Datenblatt), was zu einem lächerlichen Strom von 0,25-0,1mA führt. Damit bringt man nichts zum leuchten. Der Gesamt-Ausgangsstrom pro Controller liegt aber bei satten 400mA, was mit den PullUps nicht erreichbar ist.
    Die beste Art der LED-Ansteuerung ist aber immer noch mittels Treiber.
    Warum? Ich sehe dazu keinen Grund.

    @ Waste
    Also doch. Ich war unsicher, weil man bei verschiedenen Quellen immer wieder die negierte Schaltung mit Vorwiderstand sieht und ich das früher auch so gemacht habe. Ich denke, das liegt daran, dass die alten AT90SXXXX Controller keine größeren Ströme liefern konnten, die Megas aber schon. Ich wollte es genau wissen, weil ich eine etwas größere Platine plane, ohne Vorwiderstände und ohne negierte Logik.
    Also Danke Euch beiden,
    Gruß Gock

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Also ohne Vorwiderstand geht es nicht. Da ist der Strom bestimmt über den erlaubten 40mA pro Pin.

    Waste

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Ja iss klar, ich dachte an 5V Verbraucher anderer Art oder an eine angemessene Betriebsspannung des AVR.
    Gruß

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    13.07.2006
    Beiträge
    81
    Die beste Art der LED-Ansteuerung ist aber immer noch mittels Treiber.

    Warum? Ich sehe dazu keinen Grund.
    Wenn du an jedem Ausgang eines Ports eine LED mit 20mA zum leuchten bringen willst, was bleibt dir dann anderes übrig?

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Laut Datenblatt kann ein einzelner Port 200mA sourcen, vorrausgesetzt alle anderen driven nicht mehr als insgesamt weitere 200mA. 8x20mA macht nur 160mA! Wo ist das Problem?
    Außerdem müssen es pro LED ja auch nicht gleich 20mA sein, es genügen bei manchen bereits 5-10 oder sogar noch weniger (low current).
    Insgesamt kann man also 20 LEDs mit einem Mega steuern (bei 20mA/LED)
    Gruß

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Zitat Zitat von Gock
    Der PullUp selbst hat zwischen 20 und 50 kOhm (laut Datenblatt), was zu einem lächerlichen Strom von 0,25-0,1mA führt. Damit bringt man nichts zum leuchten.
    Wer behauptet denn sowas?

    Ich benutze in einer Applikation eben diese Pullups, um LEDs zu leuchten zu bringen, sogar in einer 1:4-PWM, also mit ca. 1/4 der Helligkeit. Die so angesteuerten LED dienen in einer LED-Matrix jedoch nur zur Orientierung und nicht zur eigentlichen Anzeige.

    Insgesamt gibt es 27 LEDs ohne Treiber.

    http://www.roboternetz.de/phpBB2/zei...ag.php?t=22760
    Disclaimer: none. Sue me.

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Wer behauptet denn sowas?
    Wie bereits gesagt, das behauptet Atmel, also diejenigen, die diese Dinger bauen (Siehe neuestes Datenblatt ATMega32 (2503J–AVR–10/06) S. 287)
    Da ich denen das glaube, frage ich mich, ob wir beide vom Gleichen reden.
    Verstehe ich Dich richtig?:
    Du hast die Pins, an denen Deine LEDs (möglicherweise ohne Vorwiderstand) hängen als EINGANG definiert und schaltest sie HIGH (um die PullUps zu aktivieren), damit die LEDs leuchten?
    Oder hast Du sie nicht doch als AUSGANG definiert?
    Insgesamt gibt es 27 LEDs ohne Treiber.
    Ja, das ist wie gesagt nicht ungewöhnlich, solange der Gesamtstrom unter 400mA bleibt. Aber nur mit internen PullUps? Das müssten schon sehr helle LEDs sein...Welche hast Du denn verwendet?
    Gruß

+ Antworten
Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •