Hallo liebe Forum-Mitglieder, Ich habe folgendes Projekt vor . Aus einen RC-CAR Zeitmessprogramm bekomme ich über eine serielle Schnittstelle einen Datenstream ,in diesen Stream sind in Klarschrift die Daten enthalten die ich über einen µC verarbeiten und auf einer großen Anzeigetafel darstellen möchte. Das wären das 10 Zeilen mit jeweils 6 Digits, (7 Segmente plus Punkt).nach max ca 1-2 sek. soll aktualisiert werden. LEDstripe pro segment 100 mA Folgendes habe ich mir vorgestellt Atmega 32 74HC595 (8-bit serial-in, serial or parallel-out shift register with output latches; 3-state) Als treiber ULN 2803 Bei jeder änderung würde ich dann die (60*8)= 480bits durchschieben. macht das Sinn?? Gruß Stephan
Ja, mit Schieberegistern ist das kein Problem. Man könnte das auch als Matrix verschalten und zeilenweise multiplexen (1:10 also), aber statisch wie beschrieben bringt weniger Schwierigkeiten, wenn der platz für die Verdrahtung da ist. Und 480 Bits zu schieben dauert mit den üblichen Mikros bei üblichen Taktfrequenzen nur einen kleinen Sekundenbruchteil.
Die Herausforderung wird eher auf Seite der Stromversorgung liegen. Wenn ich das richtig verstanden habe, sind dann im Extremfall 480 Segmente mit je 100mA = 48 A fällig. Das ist schon ein wenig Strom :-)
Vielleicht kann man mit deutlich weniger Strom arbeiten, wenn das ganze nicht gerade eine Großanzeigetafel im Sonnenlicht werden soll. Andernfalls... die heutigen PC-Netzteile sind stark genug für so etwas, aber die Verteilung des Stromes bitte schön kräftig auslegen.
Wenn es wirklich 100mA pro Segment sind, dann schau dir mal den TPIC6595 von TI als Alternative zum 74HC595 und ULN2803 an. Hast Du mal einen Link zum Datenblatt der 7-Segment-Anzeigen?
Hi, Danke für die schnelle antwort wie sieht das mit der länge der Daten/Clockdaten aus vermutlich wird der Bus 10m lang. kann ich das Bitgezappel vereinfachen? Ich denke mal laut ! Ich müßte aus dem Stream einen Datensatzstring generieren. Danach die zuordnung zu den Digits z.b digit 15 soll eine 7 darstellen feststellen was der 7 enspricht (welche digits sollen leuchten) dann alle digits_bit zusammen in die den 595 schieben. lieg ich da richtig / oder gehts einfacher ?
Markus Kuhn-Sprenger schrieb: > Die Herausforderung wird eher auf Seite der Stromversorgung liegen. > > Wenn ich das richtig verstanden habe, sind dann im Extremfall 480 > Segmente mit je 100mA = 48 A fällig. Das ist schon ein wenig Strom :-) ich könnte bei den Led Stripes auf 24 V gehen ;dann hätt ich nur noch 50mA betrifft aber eh nur die Stromversorgung und die Querschnitte .Ein Netzteil wird sich sicher finden. 48A bei 12V währen gerade mal 576 Watt ,man kann mal nachdenken ob man den Leistungsteil in mehrere Netzteile verteilt.
TPIC6595 wo krieg ich das Teil ,und was kostet der denn . Hab bei den üblichen verdächtigen nix gefunden
Stephan G. schrieb: > lieg ich da richtig / oder gehts einfacher ? Das ist doch schon einfach :-) Bei 10m solltest Du den Ausgabeprozessor besser auf der Anzeigenelektronik vorsehen; die Daten kann er per UART ggf. auch von einem PC bekommen. Laß die Finger vom TPIC6595, wenn Du ihn jetzt schon nicht bekommst. Schiebergister (HC595 oder HC4094) nebst ULN2803 bekommst Du an jeder Ecke. Der Vorteil der ULN2803 ist zudem, dass GND der Schieberegister von GND der LED-Treiber getrennt werden kann und die Lastwechsel der LEDs nicht auf die Ansteuerlogik durchschlagen (müssen). Saubere Leiterbahnanordnung ist natürlich das A und O.
Noch etwas: die ser. Daten kann man bequem über SPI per Interrupt ausgeben. Am besten macht man das zyklisch ca. 20 x pro Sekunde. Selbst wenn eine Störung auftritt, wird sie kaum sichtbar werden. Ferner kann man so auch gleich ein Blinken beliebiger Stellen einfügen, was als Attibut nützlich sein kann.
Chris schrieb: > Wenn es wirklich 100mA pro Segment sind, dann schau dir mal den TPIC6595 > von TI als Alternative zum 74HC595 und ULN2803 an. > Hast Du mal einen Link zum Datenblatt der 7-Segment-Anzeigen? Die Segment anzeigen werden einzelne Anzeigen ca. 20 cm hoch bestehend aus SMD Led die üblicherweise im Beleuchtungbereich verwendet werden 12x SMD 3528 pro Segment =960mW bei der Spannung könnte ich wählen zwischen 12V oder 24V
Sebastian schrieb: > Vielleicht kann man mit deutlich weniger Strom arbeiten, wenn das ganze > nicht gerade eine Großanzeigetafel im Sonnenlicht werden soll. > Andernfalls... die heutigen PC-Netzteile sind stark genug für so etwas, > aber die Verteilung des Stromes bitte schön kräftig auslegen. und genau das soll es werden nach ersten Tests stellten wir fest das 6 SMD 3528 pro Segment nicht reichen werden so das wir 12 Led brauchen
m.n. schrieb: > Noch etwas: die ser. Daten kann man bequem über SPI per Interrupt > ausgeben. Am besten macht man das zyklisch ca. 20 x pro Sekunde. Selbst > wenn eine Störung auftritt, wird sie kaum sichtbar werden. > Ferner kann man so auch gleich ein Blinken beliebiger Stellen einfügen, > was als Attibut nützlich sein kann. wo kann ich denn Codeschnipselzum thema SPI finden ich prog. in C Beim mega 32 also PD0 und PD1 für die daten Vom PC mosi =Ser pb5 sck =sck pb7 ss pb4 ist das korrekt ?
Stephan G. schrieb: > wo kann ich denn Codeschnipselzum thema SPI Im Datenblatt! Das SS-Signal mußt Du nicht verwenden; jeder andere OUT-Pin kann als strobe-Signal nach abgeschlossener Ausgabe verwendet werden. OE der Schieberegister sollte nach dem Einschalten erst dann aktiviert werden, wenn zunächst lauter 0x00 in die Register geschrieben wurde. Das verhindert ein Aufblitzen beim Einschalten der Anzeige.
wäre atmega32 ausreichend oder sollte ich etwas anderes aus der Familie nehmen .Sonst würde das dateblatt des Mega 32 heute abend Bettlektüre werden.
Kleiner Tip noch: Bau dir das Ding am Anfang erstmal mit einer Zeile á 6 Digits (mit kleinen 7-Segment-Anzeigen) auf. Wenn diese Anzeige korrekt angesteuert wird ist es nur noch ein kleiner Schritt zur großen Anzeige mit 10 Zeilen. Den TPIC6595 findest Du z.B. bei Digikey oder Mouser. Da die Anzeige jedoch tatsächlich recht groß zu werden scheint, würde ich nun ebenfalls zu deiner ersten Wahl raten (die deutlich günstiger ausfallen dürfte). Platzprobleme wird es da ja wahrscheinlich nicht geben :-) Zur Spannung der LEDs: Sinnvoll ist es natürlich die 12 LEDs in Reihe zu schalten und die Betriebsspannung knapp über der Vorwärtsspannung der 12 LEDs zu wählen. Dann noch einen passend Dimensionierten Vorwiderstand davor und fertig. Stephan G. schrieb: > wäre atmega32 ausreichend oder sollte ich etwas anderes aus der Familie > nehmen . Der ist ja schon fast Overkill :-)
Ein digit hab ich schon über den 595 angesteuert das funktioniert.der nächste schritt währen eine Zeile.Mir ist eure Meinung wichtig da ich mich noch nicht für die Hardware enschieden hatte.Das ist wohl abgeschlossen. Es wird wohl bei meiner Auswahl bleiben.Da es auch bei den kosten niedrig bleiben sollte.Ich werde pro Zeile ( 6 Digits) Eine Platine setzten mit jeweils 6 74 HC 595 und dazu den Treiber .Den bus und Spannungsversorgung. Von dem Drahtverhau ist ist die variante 1x 595 und 1x Treiber sinnvoller. jeweils pro digit. Dann sind die Drahtlängen immer gleich und mann könnte besser konfektionieren. Bei den LED habe ich vom verschalten keinen Spielraum nur die Spannung kann ich beeinflussen bei 12V haben die jeweils 3 in Reihe +Vorwiderstand von 150 Ohm
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.