mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik max. 50 LEDs ansteuern


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


suche einen Expander zur Ansteuerung von maximal 50 einzelnen LEDs.
Habe bei Maxim den MAX6957 gefunden - toller Schaltkreis - nur keiner
kann ihn liefern. Der Schaltkreis sollte auf jeden Fall ein
SPI-Interface haben, da eine höchstmögliche Aktualisierungsrate
angestrebt wird.


Alex

Autor: Sascha Fiebiger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Alex,

probiere es doch mal mit dem Max 7219, ist ein Display Driver mit dem
Du 64 einzelne LED steuern kannst und er hat eine SPI Schnittstelle.
Datenblatt habe ich mit angehängt. Den Baustein gibt es bei Reichelt
für
6,25 Euro.

Bis dann

Sascha Fiebiger

Autor: Zafer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab was ähnliches vor, ich würde gerne in meiner Garageeinfahrt
eine Flugschleise bauen! Hab mir leds besorgt und diese an kabel
gelötet.Da ich im Frühjahr meinen hof Pflastere, möchte die Leds gleich
in die Plfastersteine einlassen.
Die Idee war alle 64 (8*8 abstand 40cm) leds gleichzeitig konstant als
beleuchtung anzuschliesen.
Ich hab aber in einigen Treads gelesen das es aber viel lustiger währe
dies inverbindung mit einem Microcontroller zu tun. Dann könnte ich ja
wie im Flughafen eine Flugschleise programieren und/oder einige andere
Musster oder alle gleichzeitig leuchten lassen.
Mit welchem Controller oder besser wie könnte ich das lösen ??
Kennt ihr jemanden der sowas ähnliches gemacht ode habt ihr Links für
mich wo ich Schaltpläne finde?

Gruss Zafer

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, sieht recht brauchbar aus - das Ganze scheint dann also über
Multiplexing zu laufen.

Danke für den Tipp,

Alex

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz viel dazu steht schon bei
http://www.mikrocontroller.net/forum/read-1-36336.html

Die Lösung mit 74HC595 , evtl. zusätzlich ULN2803 ist preisweiter.

@Zafer:
Die "HOF-Verdrahtung" wird schwierig.
Entweder ganz viele lange Leitungen in die Garage oder jeweils Teile
der Elektroniken mit einplastern ... Wasserdicht !
Ob man das dauerhaft störungsfrei hinkriegt ist fraglich.
Viel Schutzbeschaltung (VDR etc.), langsame Taktrate.

Vielleicht wäre hier gute alte Relais (Potentialtrennung!) gar besser.
Oder gleich das  LOGO! (Siemens) bzw.   Easy   (Glöckner Möller).
Wer Häuser, Garagen, Autos und Pflastersteine kaufen kann, sollte hier
nicht sparen wollen.

Klaus

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bastle grad an nem board mit 15x8 LEDs angesteuert wird das ganze
auch multiplex (spart echt imens kabel) über 3x HC595, und nen ATMEGA.

Das ganze wird dann einfach erstmal ne routine bekommen um aus dem sram
des controllers images zu lesen, und auszugeben. Character generator und
bmp umwandlungstool sind in arbeit.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch ich bastle an sowas: 525 LEDs in 2 Farben + 6 RGB LEDs = 1068 LEDs.
Die 525*2 LEDs bilden eine Matrix mit 15x35 Pixeln und wird 157x68mm
groß sein. Angesteuert wird alles mit 5x TLC5920 in 15 Zeilen
multiplext. Die LEDs werden mit 80mA an Konstantstromquellen betrieben.
Die 6 RGB LEDs können jeweils in 16 Helligkeitsstufen pro Farbe
angesteuert werden. Die komplette Matrix kann in ihrer Gesamthelligkeit
den Lichtverhältnissen angepasst werden. Die Matrix kann die Pixel in
rot,grün,gelb anzeigen.

Wenn alles fertig ist habe ich vor das Projekt ins Netz zu
stellen,sprich Eagle Layouts und Sourcen.

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry ich verbaue die TLC5921DAP nicht die TLC5920'er.

Gruß Hagen

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
4,50€ für ein 16bit schieberegister mit led treiber finde ich relativ
teuer.

Autor: SuperUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hagen
Was wird so eine Matrix kosten? Kann man mehrere zusammenschalten?

Autor: Hagen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok, ein bischen mehr Infos:

Als LEDs habe ich bei eBay 15x HDSP-B56Z ersteigert, ca. 20Euro für
alles. Das sind 5x7 Dot-Matrix Displays die in rot/grün leuchten
können, 3mm Pixeldurchmesser. Ich ordne sie um 90 Grad rotiert in 5
Spalten und 3 Zeilen an, ergibt also ein 35x15 Pixel Display mit den
Ausmaßen 157x68mm.

Angesteuert werden sie mit 8x Doppel-P-Channel MOSFETs IRF7314 als
Zeilentreiber gegen V+. Die Spalten=Rows der Dot-Displays werden durch
5x TLC5921DAP mit Konstantstrom 50-80mA pro LED angesteuert. Dabei
werden 15 Zeilen a 35x2 LEDs mit einer Frequenz von 1488Hz
gemultiplext. Die ON-Phase wird per PWM in 256 Schritten gesteuert.

MCU ist ein ATMega32. Auf dem Board befindet sich eine RS232, ein LM335
Temperatur Sensor, ein LDR als Lichtmesser und 4 Kapazitive Schalter und
ein Piezo den ich über 2 der Tx Ausgänge des RS232 treibe.

Das gesamte Board wird dann 16x9 cm groß sein. Der untere ca. 23mm hohe
Teil wird in 5 gleichgroße Bereiche geteilt. In diesem befinden sich
dann 4 kapazitive Schalter die von hinten durch RGB LEDs beleuchtet
werden. Alles zusammen liegt hinter einer 16x9 cm Glasscheibe die von
hinten mit Teildurchsichtiger Spiegelfolie beklebt ist. Der Betrachter
kann also nicht durch die Glasscheibe durchschauen weil es spiegelt,
aber die LEDs können von hinten durchleuchten. Wegens der Glasscheibe
sind auch die kapazitiven Sensortasten notwendig. Die Sensortasten
werden mit selbstklebendem Kupferfolienband (ebay) ebenfalls auf diese
Spiegelfolie draufgeklebt. In der Mitte einer solchen Sensortaste ist
natürlich ein Symbol herausgeschnitten damit die RGB LEDs von hinten
dieses beleuchten können.

Betrieben wird das alles mit einem stabilisiertem 5V Netzteil das 3.7A
liefern kann. Normalerweise lässt man ja nicht das ganze Display in
Gelb (Rot und Grün) leuchten, denn nur dann entstünde ein Strombedarf
von 3.5A wenn die LEDs einzeln mit je 50mA angesteuert werden.

Es wird zwei Header geben, einen für den JTAG und am anderen kann ein
zweiter LM335 Temperatur Sensor, ein DCF77 Empfänger, das Netzteil, ein
Bufferakku und die RS232 angeschlossen werden.

Werden soll es wie jedes Jahr ein Wecker für meine Liebste. Vor 2
Jahren hat es ja aus Zeitgründen nicht so geklappt wie es sollte.

So, daraus ergeben sich die Antworten:

man könnte es erweitern, d.h. das Layout so umbauen das man nur noch
die HDSP-B56Z Displays, die TLC5921, die 2 Dekoder 74HC138D, die 8
MOSFETs drauf liese. Der ATMega32, alles Analoge, der JTAG Header, die
6 RGB LEDs, der Multiplexer 74HC4051 fliegen runter. Am verbleibenden
Header würden dann MISO,MOSI,SCLK,BLANK,XLAT,V+,GND und 4x ROW
anliegen. Dann könnte man sehr wohl mehrere solcher Displays
kaskadieren.

Preis: man kann versuchen alles preisgünstig zu machen, oder man ergibt
sich der Tatsache das wenn man für eine professionelle Platine eh 60
Euro zahlen muß der Rest der Bauteile ja wohl nicht billiger sein kann.
Es ist und bleibt Hobby und das heist für mich immer Spaß und Ablenkung
ohne permanent auf jeden Cent zu schielen.

Die TLC5921 zb. sind Samples von TI. Man bekommt gerade 5 Stück und ich
meine (bevor hier wieder Sinnlos-Diskussionen auftauchen) das exakt so
ein Projekt das ist warum TI überhaupt Samples rausgibt. Sollte ich
nämlich meine kompletten Resultate frei veröffentlichen so wäre das ja
wohl die beste Werbung für TI "die TLCs sind so einfach zu verbauen
das sogar Anfänger damit ein Display hinbekommen !!"

Die bisherigen Kosten belaufen sich auf:

die TLC5921 sind Samples und kostenfrei.
20 Euro für 15 HDSP-B56Z Dot-Matrix Displays.
8 Euro für das selbstklebende Kupferband.
ca. 50 Euro für die Platine.
den ATMega32 und Kleinteile wie 74HC138, 4051, RGB LEDs, Widerstände
etc. LM335, Sipex SP236A, MAX8880 habe ich eh noch rumfliegen.
Beim Glaser, der mir die 16x9cm Glasplatte zuschneiden und die Kanten
abschrägen soll, weis ich noch nicht was der haben will. Wenn man
vernünftig redet dann wird das wahrscheinlich für ne Schachtel Kippen
über die Bühne gehen.

Ich schätze also 100 Euro ohne Arbeitszeit etc. pp. wobei das meiste
wohl die Platine wegfrisst. Dies ist als 2 Layer mit einigen Vias
geplant.

Softwaretechnisch:

Der interne Display-RAM ist als 10 Bytes * 15 Zeilen = 150 Bytes
aufgebaut. Die ersten 9 Bytes enthalten 35*2 Pixelbits abwechselnd
Rot/Grün. Die letzten 2 Bits in diesen 9 Bytes sind eine virtuelle
Leer-Pixel-Spalte == Spalte Nr. 36 die nicht mehr angezeigt wird. Aber
ein Scrolling Horizontal wird dadurch einfacher. Das 10. Byte pro zeile
enthält für 2 RGB LEDs jeweils 3 Farbbits. Die komplette RGB Information
ist aber uf 4 Zeilen verteilt. Ergo ergibt sich pro RGB LED und pro
Farbe eine Helligkeitsauflösung von 16 Stufen.
Die TLC5921 werden mit 8MHz SPI Takt gefüttert.
Das Display wird später dann in zwei Zeilen a 8 Pixel aufgeteilt.
zwischen diesen Zeilen noch einer Leerzeile, ergibt also 15 Pixel in
der Vertikalen. Tja, als Einschlafhilfe hatte ich Conways "Game Of
Live" angedacht ;)


Da ich nun schon mal so ausführlich darüber berichte hätte ich auch
noch ein par Fragen an euch.

Ich grübele nun schon tagelang an der cleversten Beschaltung des
MAX8880 im Zusammenhang mit der Pufferbatterie herum. Ich weis nich wie
ich das machen soll. Mit einer Schottky im V+ Pfad gehts nichts, da der
Spannungsabfall auch mit 0.3 Volt imer noch zu groß ist. Vielleicht
schaut sich einer meinen Schaltplan mal an, Sheet #6.

Gruß Hagen

Autor: SuperUser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kein deinen Anhang leider nicht öffnen. Hatte gedacht dass das eagle
Format ist...

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen LTC4055 nehmen? Ist ein Powerpath-Controller und lädt Dir
gleichzeitig deinen Stützakku auf.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist auch Eagle Version 4.11, was kommt denn für eine Fehlermeldung
?

Gruß Hagen

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Axel danke, das Teil ist interssant, aber für das projekt kommt er wohl
nicht in Frage.

Ich hatte ja schon hier im Forum und im WEB nach dieser Problematik
gesucht. Leider ist die Empfehlung immer gleich:

a) V+ größer VBat und VBat wird per Schottky an V+ angeschlossen.
b) V+ per Schottky an den Regler, VBat per P-Channel MOSFET an Regler
nach der Shhottky, das Gate mit Widerstand an V+ und ein Pullldown nach
GND.

a) scheidet aus da ich nicht sicherstellen möchte das VBat < 5 Volt
sein muß.

b) ist ein Problem der Spannungsabfall von 0.5 bis 1 Volt über die
Schottky. Desweiteren wird wenn VBat > V+ ist über die interne Diode
des MOSFETs ein Strom fließen in die Batterie.

Die Sache ist so defizil aus dem Grund das ich die Spannungsversorgung
V+ für die LEDs und Spaltentreiber P-MOSFETs noch vor dem Regler
abzweige. Somit muß der Regler nur den Strom liefern für den AVR und
den Kleinkram. Die großen LED Ströme gehen also schon vor dem Regler
ab. V+ wird also ca. nur 0.2 bis 0.3 Volt größer als die 5 Volt nach
dem Regler. Ich möchte keine größere Differenz haben damit ich keine
Probleme mit den Pegeln zum 74HC138D etc.pp. zu bekommen.

Meine jetzige Lösung ist ebenfalls nicht die Glücklichste: Ich schalte
VBat mit einem P-MOSFET nach dem Regler auf Vcc. VBat ist dabei über
eine BAT54 geschützt und darf nun nicht mehr größer 5V sein.

Wenn alle Stricke reißen dann muß ich eben auf die Pufferbatterie
erstmal verzichten. Das wäre nicht all zu tragisch, klingelt der Wecker
eben nicht bei Stromausfall ;)

Gruß Hagen

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss ich mir morgen durchlesen, sorry.
Oder Du malst es auf :-))

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Axel,

das ist schwierig zu erklären.

Also das Board wird extern mit einem starkem Netzteil betrieben das
auch 3A liefern kann. Diese sind aber nur nötig für das LED Display
samt Treiberchips. Diese Spannung beträgt ca. 5.5 Volt maximum.
Mit einem Lowdropout Regler, dem MAX8880, wird eine stab. 5V Spannung
erzeugt. Mit dieser soll der AVR und der analoge Teil betrieben werden.
Fällt nun die Netzspannung aus so sind automatisch das LED Display und
deren Treiber ohne Strom, und dunkel. Der AVR soll aber in diesem
Moment aus einer Batterie weiter betrieben werden. Zudem soll der AVR
das auch erkennen und in den Powerdown Modus wechseln.

Die Spannungdifferenz zwischen der Netzteilspannung und den
stabilisierten +5 Volt für den Rest des Boards darf aber eben nicht zu
groß werden. Da ansonsten die Pegel für die Displaytreiber nicht mehr
stimmen.

Jetzt könnte das Argument kommen das ich einen fetten Stepdown Regler
auf das Board klatschen soll der die 3A liefern kann. Aber warum soll
ich mir das antuen wenn ich schon ein stabilisiertes 5.5V Netzteil
rumliegen habe ?

Gruß Hagen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.