-
        

Ergebnis 1 bis 10 von 10

Thema: 400 LED's über Mega48 mit Matrixschaltung ansteuern

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443

    400 LED's über Mega48 mit Matrixschaltung ansteuern

    Anzeige

    Hallo,

    nun ist es esndlich soweit, dass ich für meine Modellbahn das Stellpult baue.
    Auf dem Stellpult werden ca. 400 Leds untergebracht. Nun muss ich diese alle ansteuern. Dabei habe ich mich schon ein bisschen im Netz erkundigt. Und habe rausgefunden, dass ich diese am kostengünstigsten über eine Matrix ansteuern kann. Dazu habe ich mir gedacht, dass ich den Port vom Mega mit den ICs MOS 4094 erweitere. (Ich möchte diese nehmen, da ich schon viel mit denen gearbeitet habe und ich mit diesen am besten zurchtkomme) 3 Stück für die Spalten und 3 Stück für die Zeilen. An die Zeilen 4094er dachte ich gehe ich noch mit jeweils einem ULN2801 als Negativer Treiber. An die Spalten IC habe ich gedacht kommen BD535 (mein persönlicher Standarttransistor). Nun könnte ich die 400Leds leuchten lassen. Das problem ist nur: Wie schaffe ich es möglichst schnell, wenn dabei auch noch der µC über UART Daten empfangen muss? Vielleicht Tips oder so.

    Ach ja: Die LEDs müssen nicht mit voller Lichstärker leuchten.

    mfg
    Michael
    Besuch mal meine HP: www.highcurrent.de

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.09.2007
    Beiträge
    162
    Da Du Dich ja im Internet schon mal umgeguckt hast, ist Dir sicherlich auch aufgefallen, dass Du der 65535-te bist, der so etwas bastelt

    Meist wird der (HC)595 genommen, o.ä. Es reichen natürlich 5 davon, Du musst die Matrix ja nicht auf Chipgrenzen verdrahten - die LEDs können ja zum Glück nicht gucken ...

    Die beiden Probleme sind Strom und Helligkeiten.
    Jede - sahen wir mal - Zeile wird mit 1/20 der Zeit gemultiplexed, d.h. die LEDs leichten mit 1/20 ihrer normalen Helligkeit.. Du musst da also "Besonders Helle" nehmen, was nicht mehr so billig ist (20 Cents/Stück = 80 Euro) Nehmen wir mal an, Du steuerst sie jetzt mit Pulsen von 100mA an, dann fließen im Mittel 5mA dadurch.

    Im "worst case" müssen nun 20 leichten = 2 A.. 1/3 davon kriegst Du wohl gerade noch durch ein ULN....

    Ok.

    Wenn Du mit 100 Herz "refreshed", dann musst Du 40 Bit*100 = 4 kHz ausgeben... das sollte ein 8 bit Rechner auch noch schaffen...

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Ansonsten nimm einen speziellen Treiber. Der TLC5920 von TI treibt 16 LEDs plus 8 Spalten. Mit 4 davon kannst du die 400 LEDs sauber treiben und dir die Widerstände sparen, weil der Chip Konstantstrom von 0 bis 80 mA pro Ausgang liefert (einstellbar)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.09.2007
    Beiträge
    162
    Ja, da habe ich auch schon Schaltungen mit gesehen - gute Teile! Nicht teuer, aber schwer zu kriegen - und im 48-SSOP Gehäuse

    Das 3. Problem, das ich oben vergessen hatte, ist die HeligkeitsVERTEILUNG. Wenn man ohne StromRESERVE arbeitet, dann werden Zeilen, in denen gerade viele LEDs an sind, dunkler und Zeilen mit nur einer LED ordentlich hell.. Das sieht sch... aus!

    Über die Widerstände äußere ich mich nicht, da habe ich ganz offensicht hier im Forum eine Minderheitenmeinung

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Wenn dir das Gehäuse nicht liegt, nimm den LTC5940 - den gibts als DIP.
    Der kann allerdings keine Spalten schalten - dafür lassen sich Strom und PWM super einstellen.

    Die Helligkeitsverteilung ist mit den ICs kein Thema, die machen das super. Bei Selbstbau muss man einfach genug Reserve haben. Ich hatte da aber auch noch keine Probleme.

    Widerstände kann man THEORETISCH weglassen, aber das halte ich für keine gute Idee.
    Was ist denn deine Minderheitsmeinung?

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443
    Hallo,

    Zitat Zitat von stefan_Z
    Wenn dir das Gehäuse nicht liegt, nimm den LTC5940 - den gibts als DIP.
    Bis du dir sicher das der LTC5940 heißt und nicht anderes? Goggle spuckt mir dazu nur irgendwelche Ziffernlisten aus, keine Datenblätter oder ähnlich.

    Zum Rest: Ich habe heute noch mal nachgedacht: Wenn ich statt dem Mega48 einen Mega162 nehme, bei dem für die Zeilensteuerung die Ports A, B und C nehme und die Spalten über die MOS4094 ansteuere, dann käme ich, wenn ich pro Spalte 1ms brauche auf eine dauer von 17ms. Wenn ich es schaffe die Zeit pro Spalte zu halbieren habe ich eine Zeit bis "LED1" wider angesteuert wird von 8,5ms. Das würde dann einer Frequenz von 117Hz entsprechen. Was wiederum, wenn man dem Netz glauben kann, optimal wäre.

    Ach ja: Es macht eigentlich nicht viel, wenn die LED1 heller als die LED 200 ist, da diese quer über das Pult verteilt sind. bzw. auch auf der Modellbahnanlage verteilt.

    mfg
    Michael
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken stellpult.gif  
    Besuch mal meine HP: www.highcurrent.de

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Oh sorry, freudscher Vertipper!
    LTCxx ist Linear, TLCxx ist Texas Instruments
    TLC5940 heißt das gute Stück. http://focus.ti.com/lit/ds/symlink/tlc5940.pdf
    Code zum Ansteuern gibts auch schon, da darf ich vielleicht auf das LED-Styles Forum verweisen:
    http://www.ledstyles.de/viewtopic.ph...hlight=tlc5940

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Von der Geschwindigkeit her kannst du das auch alles ohne viele Einzelpins machen. ein Tiny2313 plus Schieberegister auf 20MHz kann das sicher noch viel schneller als 117Hz.

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    11.03.2005
    Ort
    Kissing bei Augsburg
    Alter
    27
    Beiträge
    443
    Naja ich hab grad nochmal mit dem Bascom simulator und nem 16mhz quarz mit dem mega48 gerechnet: 3333Hz also 3,3kHz sollte reichen
    @stefan_Z: Wenn ich den nehme kann ich ja auch gleich den MOS 4094 nehmen.

    mfg
    Michael
    Besuch mal meine HP: www.highcurrent.de

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    26.05.2007
    Beiträge
    594
    Ja, klar, der Chip bietet halt noch weitere praktische Funktionen. Alleine Der Konstatstrom der da raus kommt ist ungemein nützlich. Das zentrale einstellen des Stroms auch. Aber mit Schieberegister u.Ä. gehts natürlich auch.

Berechtigungen

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