PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED-Board -> Textanzeige



-schumi-
25.08.2011, 14:37
Hallo zusammen,

nachdem ich hier eine Frage zu einem Projekt von mir (und ein paar Kollegen) gestellt habe, wurde ich gefragt ob ich denn nicht auch den Quellcode und den Schaltplan veröffentlichen könnte.

19770

Hier auch noch ein Video, da kann man die Schrift besser erkennen:

http://dl.dropbox.com/u/19005544/ledboard2.webm
(Sollte bei einem halbwegs aktuellen Browser sogar im Browser abspielbar sein)

Funktionen:

Man schickt via UART (1200 Baud) den Text der angezeigt werden soll, z.B.
<ROBOTERNETZ>(Mit den < und >). Der Text läuft dann durch
Der Text wird im EEPROM gespeichert und ist nach einem Aus- & Einschalten immernoch erhalten
Unterstützte Zeichen:
ABCDEFGHIJKLMNOPQRSTUVW 0123456789 .,:!? +-*/() Es könnten aber leicht neue Zeichen hinzugefügt werden
Das EEPROM begrenzt die Zahl der Zeichen auf 170 (Es wird der direkte Zustand jeder LED gespeichert -> später evtl. möglich auch Bilder zu übertragen und anzuzeigen)
Im Anhang hab ich eine ZIP, da drin ist:

Der Quellcode (MCU = Atmega32)
Eine PDF mit Schaltplan. Allerdings sind ein ein paar Fehler drin (Hab grad kein Visio zur Hand zum ausbessern):

Statt einem PIC16F887 ist ein Atmega32-16PU (16Mhz Quarz) verbaut (Entsprechende Pinbelegung ist der ledboard.h zu entnehmen)
Am ULN2803 sind direkt an den Ausgängen noch jeweils ein 10k-R nach +5V (Sonst kommt es zu starken "Verwischeffekten")
Der FTDI-Chip funktioniert noch nicht. Ich weis nicht ob da die externe Beschaltung noch fehlerhaft ist oder ob der schon "geschossen" wurde. (Vielleicht könnte da noch jemand schnell drübergucken)
Das Netzteil das ganz unten auf dem Plan drauf ist ist noch nicht aufgebaut, momentan wird das Board über USB gespeist
Es ist noch ein ISP-Stecker auf der Platine, aber nicht im Plan

Viel Spaß damit :D
-schumi-

PS: Wenn ihr den Quellcode öfters ändert, ist es ganz hilfreich das FuseBit "EESAVE" zu setzen, damit der Inhalt des EEPROMs beim Flashen nicht verloren geht, sonst müsst ihr nach jedem mal programmieren den Text neu via UART zu senden

[EDIT] Glatt den Download vergessen: http://dl.dropbox.com/u/19005544/LED-Board_RN.zip

021aet04
27.08.2011, 10:26
Die Anzeige gefällt mir, hast du aber die Stromaufahme gemessen? Ich vermute das du mehr als 500mA hast (mit den vielen Leds). 500mA ist aber das max des USB. Man sollte sich aber als Gerät mit erhöhtem Stromverbrauch "anmelden". Wie das geht weiß ich aber nicht. Ansonsten sollte man max 100mA den USB entnehmen.

Das steht auch hier http://de.wikipedia.org/wiki/Universal_Serial_Bus#Kurioses unter Punkt "Kurioses"

MfG Hannes

-schumi-
27.08.2011, 11:35
Der Schaltplan hat im übrigen noch mehr Fehler wie mir gestern offenbart wurde (ich hab ihn nicht gemacht). Und zwar hat jeder Transistor jetzt 10k nach GND und einen Vorwiderstand, dessen Größe mir jedoch unbekannt ist....


Die Anzeige gefällt mir, hast du aber die Stromaufahme gemessen?
Das hält sich sehr in Grenzen, denn er läuft sehr schnell spaltenweise durch, d.h. es läuchten max. 7 LEDs untereinander gleichzeitig. Die Stromaufnahme ist so um die 200mA max. wenn ich mich recht erinnere (Kommt natürlich auch auf die LEDs an). Sollte für USB also kein Problem sein.

Leider hab ich das Board jetzt nicht mehr da, kann also nicht das Ganze langsamer stellen und dann mit einem Video zeigen wies genau funktioniert...

Aber er macht es so:
Es gibt ja 7 Zeilen. Die sind alle gemeinsam verschaltet (Alle -Pole der LEDs miteinander verbunden). So kann man Zeilenweise GND mit dem ULN2803 hinschalten.
Dann kann man für jede Spalte die 5V mit den Transistoren hinschalten. D.h. der Controller macht folgendes: Er legt an Spalte 1 +5V an und dann für diese Spalte das Muster an den ULN2803. Dann geht er zu Spalte 2 und legt wieder das entsprechende Muster an dem ULN an (der dann wieder die Entsprechenden GNDs durchschaltet)

Und wenn er das genug schnell macht sieht das aus, als würden alle LEDs gleichzeitig leuchten

Viele Grüße
-schumi-

Kampi
27.08.2011, 12:35
USchöne Laufschrift.
Gefällt mir super gut. Und das mit dem "anmelden". Das tut der FT232 ja schon. Ich meine mit der Software für den FT232 kann man einstellen wieviel Strom auf dem USB-Port freigegeben werden soll. Ansonsten passiert das "anmelden" über die Endpunkte in den USB-Geräten. Dort stehen dann typische Sachen wie Namen, Stromaufnahme, usw. drin und die zieht sich der Computer dann daraus.
Die Software für den FT232 bekommt man auf der FTDI-Homepage und dort kann man dann auch z.B. die 5 frei belegbaren Pins des FT232 programmieren, sodass dort z.B. ein Takt ausgegeben wird.

Das Prinzip was du da beschrieben hast nennt sich Multiplexing von LEDs :)
Die LEDs werden einfach so schnell hintereinander geschaltet das sich dadurch Muster ergeben.
Und dein FT232 scheint richtig angeschlossen zu sein. Kann gut möglich sein das er kaputt ist. Ich erkenne da zumindest keinen Schaltfehler.....

Edit: Hier mal was lesenswertes über das Thema USB:
http://www.sprut.de/electronic/interfaces/usb/usb.htm#strom

Und noch ein Edit: Die .h und .c Files funktionieren bei mir irgendwie nicht richtig. Da steht nur eine Zeile Text drin. Kann das jemand bestätigen?

021aet04
27.08.2011, 13:26
@Kampi
Ich habe mir die Dateien angeschaut. Habe überall mehr als 1Zeile. Habe es im Editor angesehen. Das AVR Studio zu starten dauert zu lange.
Dafür funktioniert der Link nicht, das dürfte aber ein Problem mit der HP oder meinem Browser sein, da www.sprut.de alleine auch nicht funktioniert.

MfG Hannes

-schumi-
27.08.2011, 23:35
Schöne Laufschrift.
Vielen Dank :-D


Das Prinzip was du da beschrieben hast nennt sich Multiplexing von LEDs
Ja, den Begriff kenne ich, aber ich war mir nicht sicher ob er auch exakt das beschreibt was der Controller da macht ;-)


Und dein FT232 scheint richtig angeschlossen zu sein. Kann gut möglich sein das er kaputt ist. Ich erkenne da zumindest keinen Schaltfehler.....
Oh mann, dann hat den die Kartoffel doch tatsächlich geschossen... (Beim ausprobieren falschrum angesteckt... Jemand sollte mal Strippen erfinden, bei denen der Pluspol eine andere Form als der Minuspol hat^^)


Und noch ein Edit: Die .h und .c Files funktionieren bei mir irgendwie nicht richtig. Da steht nur eine Zeile Text drin.
Lass mich raten: Dafür sind die Zeilen ewig lang und du verwendest Windows.... Dann liegt dass an den Zeilenenden, da verwendet Linux nämlich andere als Windows. Jeder halbwegs gute Editor sollte das aber erkennen können (welchen verwendest du denn?)


Dafür funktioniert der Link nicht, das dürfte aber ein Problem mit der HP oder meinem Browser
Bei mir funktionierts ;-)


Viele Grüße
-schumi-

PS: Sobald ich an den aktualisierten Schaltplan zur Verfügung habe (Hab die Email nicht gekriegt weil das sch**** web.de-Postfach voll war) werd ich das Downloadpaket aktualisieren

Kampi
27.08.2011, 23:45
Ja ich verwende Windows und den Standard Editor. Ich schau nächste Woche aber mal Zuhause an meinem PC :)
Ja der FT232 hat schon so seine Macken :) ich verwende für den immer eine fertige Platine. Beim Elektor Verlag kann man jetzt fertige FT232 Platinen für 15€ kaufen die super klein sind und zum aufstecken gedacht sind ;) spart den ganzen SMD Rummel falls man faul ist :D

-schumi-
27.08.2011, 23:53
Ja, ein Kollege hatte den auf ein Adapterboard aufgebaut. Allerdings hat das kleine Platienchen irgendwie einen Kurzen zwischen zwei Pins -> 3.3Vout waren mit GND verbunden -> Jetz Bein des ICs einfach nach oben gehoben^^ Vielleicht hats ihn schon zu dem Zeitpunkt zerlegt...


Beim Elektor Verlag kann man jetzt fertige FT232 Platinen für 15€ kaufen die super klein sind und zum aufstecken gedacht sind
Ja, sowas wird bei dem LED-Board jetzt wohl auch draufkommen, auch wenn 15€ ganz schön happig sind....

Kampi
28.08.2011, 00:09
Also 15€ finde ich für eine voll bestückte Platine nicht sooooooo teuer. Selbst bei FTDI direkt kostet ein USB-RS232 Wandler mind. genau so viel

021aet04
28.08.2011, 11:57
Jetzt hat die Seite die oben gepostet wurde (sprut.de) funktioniert. Gestern dürfte es ein Problem mit der Seite gegeben haben.

MfG Hannes