Hallo, Ich habe mir vorgenommen ein neues Project in meiner Ausbildung zu starten. Undzwar eine Laufschrift mit 10 mal 5x7 Dotmatrix Elementen und einem Atmel AT90S8515, das alles möchte ich dann so gestalten, das ich den Text den ich auf der Matrix ausgeben will mit einer normalen PS/2 Tastatur eingebe und mit der Enter Taste bestätige. Bis jetzt bin ich soweit das ich die Hardware nach dem Prinzip der Schaltung die ich angehängt habe aufgebaut habe. Allerdings mit einzelnen Veränderungen wie die PS/2 Buchse den µController und 2 weiteren Matrix Elemente. Meine eigentlich Frage ist jedoch wie ich die Software dafür realisieren kann (In Bascom). Also ich weis das ich das ganze Multiplexen muss und die Schieberegister so steuern muss das sie immer eine Splate weiterschalten und in der gleichenzeit eben die Reihenbeschalte das es ein Buchstabe ergibt. Nun aber zu meiner Frage unzwar wie stelle ich es an die Buchstaben die ich mit Tastatur eingebe dann auf der Matrix ausgebe? Vielen Dank schon im vorraus Daniel
Für den ULN komme ich auf eine Strombelastung von ~1,2A, bist du sicher, daß der das abkann ? Wichtig ist, daß Du für die Schieberegister das SPI nimmst, sonst wird Deine CPU-Zeit knapp. Trotzdem denke ich, müßtest Du das in C oder Assembler programmieren, damit es flimmerfrei ist. Du brauchst einen Bildspeicher von 49 Byte, den Du zeilenweise organisierst, d.h. im Interrupt werden dann immer 7 Byte ausgegeben. Dann brauchst Du noch eine Zeichentabelle, die ASCII in 5*7 Code umwandelt, d.h. mit 5 Byte je Zeichencode. Die Anzeigen mußt Du mit Abstand plazieren, damit die 10 Buchstaben nicht aneinander kleben oder Du kannst nur 8 Zeichen darstellen. Dafür kannt Du die 8 Zeichen aber punktweise laufen lassen (Laufschrift). Die Laufschrift mußt Du auch gut optimieren, damit das ganze nicht ruckelt. Alles in allem hast Du Dir viel vorgenommen, als Fortgeschrittenen-Projekt aber durchaus in 3 Monaten konzentrierter Arbeit zu schaffen. Erfahrungen mit Text-LCD und 7Segment-LED-Multiplex setze ich dafür voraus. Peter
Hallo, das mit dem ULN kapier ich noch nicht ganz!! Ich benutze diese Matrix Elemente HDSP-5401 Link: http://www.secomtel.com/UpFilesPDF/PDF/Agilent/PDF_DOCS/OPTOELEC/03_DISPL/3_200_06.PDF Warum wird der ULN dann mit ~1,2A belastet? Und sollte ich es erst garnicht versuchen mit Bascom zu machen und gleich in C oder kann ich es mal versuchen? Weil meine vorherigen Projekte habe ich alle in Bascom geschreiben.
Damit das ganze effizient wird, muß man sehr viel mit Pointern arbeiten (Pointer auf Textspeicher, auf Zeichentabelle, auf Bildspeicher). Und soweit ich weiß, hats Basic nicht so mit Pointern. Die Multiplexfrequenz sollte mindestens 100Hz betragen, d.h. bei 7 Zeilen mindesten 700Hz Interruptzeit. Und bei Laufschrift sind 200..500Hz noch besser, sonst wirkt es ruckelig (das Flimmern verstärkt sich durch die Bewegung). Peter
Warum den mal 50?? Wenn ich die doch multiplex dann läuft das doch soschnell durch das immer nur eine LED leuchtet
So wie die Schaltung ist, machst Du Zeilenmultiplex, d.h. pro Zeile sind bis zu 50 LEDs anzusteuern. Wenn Du aber immer nur eine LED ansteuern willst, dann hast Du ein Tastverhältnis von 1/350, d.h. Du siehst fast nichts. Eine LED-Matrix ist keine Bildröhre ! Peter
Und wenn ich Reihenmultiplex mache das dann immer pro register die dazugehörigen zeilenpunkte leuchten
Kann mir keine Sagen ob ich auch Reihenmultiplex machen kann
Da dann die LEDs einer Spalte nur ein fünfzigstel der Zeit leuchten würden, müssten sie mit der 50fachen Leistung angesteuert werden, um genauso hell zu leuchten. Ich glaub ja nicht, dass die LEDs einen Stromimpuls von ~ 1A lange aushalten...
Ne ich meinete es so das Schieberegister setzt die erste reihe auf low dann setz ich die dazugehörigen anoden auf high dann sind ja immer maximal 7 an weil es ja sieben reihen hat oder geht das nichts. Anders gesagt es is ja ein 5x7 element. Ich gehe die fünf immer mit dem schieberegister weiter und die 7 reihen steuer ich an dann sind ja keine 50 über den ULN an sondern nur 7
Ich habe so ein Projekt in meiner Ausbildung schon realisiert, allerdings mit 256 * 8 LED's (10mm). Wir haben die Anzeige in 4 Module unterteilt. Jedes Modul 32 * 8 LED's und einen Mega16. Die Module haben über ein eigenes Protokoll kommuniziert und waren über 8 Datenleitungen und Steuerleitungen mit einer weiteren Platine (Steuereinheit mit Mega32 ) verbunden. Ich hätte folgende Verbesserungsvorschläge: - erst mal nen größeren Controller (keinen AT90S2313), dann hast du auch Platz für nen Zeichensatz, vielleicht nen Mega8 oder Mega16 - Spalten multiplexen und das Multiplexen aufteilen, d.h. in 2 mal 5 Anzeigemodule, dann kannst du die LED's mit 1/25 pulsen. Du brauchst allerdings dann auch 2 mal 7 IO Ports für die Zeilen. - den ULN2003 direkt an einem PORT, kostet zwar 7 IO PIN's, ist aber wesentlich bequemer/schneller - beim Spalten multiplexen die Vorwiderstände für die LED's hinter dem ULN2003, sonst leuchten die LED's unterschiedlich hell bzw. abhängig davon wie viele LED's in einer Spalte an sind Gruß, Dominik
Vielen Dank!1 Ich denke mal das ich das dann auch so in der Art machen werde :-)
Noch ne Frage brauche ich dann auch 2 mal den ULN oder?
Ja, das ist doch nen PNP Array oder? für die Spalten würde ich keine Transistor Arrays nehmen. Hier brauchst du Transistoren, die im max. Fall ja den 25 fachen Strom (natürlich 1/25 Pulsverhältnis) für 8 LED's aushalten müssen. Für die Selektierung der Spalten haben wir bei der 256 * 8 Laufschrift für jedes Modul zwei 4Bit hexadezimal Decoder (4 Eingänge -> 16 Ausgänge) gewählt. Aber mit nem Dezimalzähler (4017) oder Schieberegistern ist es nicht viel anders.
Die Schaltung ist schon vollkommen richtig, bloß der ULN ist zu schwach. Nimm einfach statt dessen 7 Power MOSFET und gut is. Und statt des HC259 einfach einen HC164, das macht die Software einfacher. Das Tastverhältnis von 1/7 auf 1/25 zu verringern bringt nur noch mehr Probleme. Dann bräuchtest Du nämlich auch hinter den HC595 noch 50 Treibertransistoren. Peter
Ok dankeschön dann wäre da nur noch die Frage mit den eingelesenen Daten von der Tastatur wie ich das anstelle das es das dann ausgibt
Also wenn das Tastverhältnis 1:50 ist so werd ich es denk ich mal machen immer eine spalte unddann die reihen durch. Dann brauch ich ja den 50fachen strom das heißt wenn eine LED 2mA braucht dann sind das 100mA wenn eine anwäre bei allen 7 700mA aber die 74HC595 können nur 500mA dann müsst ich da ja andere nehmen oder versteh ich da was falsch
Werf mal einen Blick in das Datenblatt von Maxim MAX7219CNG. Zu beziehen bei reichelt. Das Ic´chen ist mein Favorit beim ansteuern von LED Matrixen,- mit 4 von den Teilen hab ich mir auch mal meine LED Uhr gebaut. greetz,- Black
Hab ich schon das Prob ist nur das ich keine Ahnung hab wie ich den ansteuern muss und wie das dann mit dem geht das es ne Laufschrift wird
der 7219 hat eine 8*8 matrix. Anbindung an den Controller über den SPI Bus... MOSI,MISO & SCLK sollte klar sein. Mit einem Signal an LOAD übernimmt der 7219 die über SPI übertragenen Daten in das entsprechende Register.... ist gar nicht so schwer....
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.