PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein RGB LED-Globe 192x96 SD-Card, IR, Laufschrift...



Hiedi
11.01.2015, 18:13
Hallo an die Bastler da draußen,
Rotierende LED’s haben mich schon seit längerem in ihren Bann gezogen :). Von den Videos bei YouTube inspiriert baute ich eine erste Version des LED-Globe mit 54 Weißen LED’s. Aufgeklebt auf einem in Form gebrachten Kohlefaserstab. Der Controller war ein Atmel Atmega328p mit 20Mhz. Mit Strom wurde die ganze Sache über zwei Kohlebürsten aus dem Modellbau versorgt. Das Highlight war die Funkübertragung von einem Arduino auf den Globe…

Bild:
https://www.dropbox.com/s/jeq8cnsgsfnxlni/20150111_175950.jpg?dl=0

Von dem Projekt beflügelt, dachte ich, da geht doch mehr!
Und das ist dabei herausgekommen:

RGB LED-Globe V2

techn. Daten:
-Durchmesser 120mm
-96 RGB-LEDs (1,4mmx1,6mm)
-12 TLC5947 LED Treiber (12Bit PWM)
-32Bit Atmel 32UC3B512
-Micro SDCard 8Gb
-Fat32
-Wiedergabe von Bildern
-Wiedergabe von Videos bis zu 20fps
-max 40Hz (2400U/min mehr schafft der Serverlüfter nicht :-))
-Stromversorgung über Luftspule (H-Brücke 64Khz)
-Fernbedienung (induktive Datenübertragung)
-Drehzahlregelung
-Laufschrift mit 8 zusätzlichen LED’s

Bilder:
https://www.dropbox.com/sh/me2a68qdze0rjnd/AAAn6IPHPG7cnJk49bq-tA-Qa?dl=0


http://youtu.be/iosG9f9x9-4

Sorry, die Herzchenbilder sind dem geschuldet, dass ich in den letzten Monaten meine bessere Hälfte sehr vernachlässigt habe.
Und so einiges wieder gut zu machen hatte...

Projektbeschreibung:
Der Weg zum Istzustand war lang und mühsam! Die Voraussetzungen eher bescheiden, da ich keine Erfahrung mit dem Entwerfen bzw. Herstellen von Platinen hatte. Die Letzte hatte ich noch mit meinem Vater per Hand gemalt (Nitrolack und Pinsel) :)…

Nach kurzer Recherche im Netz, nach einem passenden Tool, fiel die Wahl auf KiCad. Nach langer Einarbeitungsphase und Studium der Atmel Datenblätter war die erste Schaltung entworfen. Der Weg zum fertigen Layout hat ebenfalls viel Zeit in Anspruch genommen, da viel in Handarbeit geroutet wurde (runden und nicht 45° Leiterzügen geschuldet). Irgendwann war das Layout fertig und es ging ans Ausdrucken und Ätzen.

Gedruckt wurde mit einem Tintenstrahldrucker auf Overheadfolie, Vorder- und Rückseite zu einer Tasche verklebt und die Platine mit einem UV-Nageltrockner belichtet. Das ganze Entwickelt und mit Natriumsulfat geätzt… Also mit einfachsten Mitteln und Anleitungen siehe Google!
Nach ersten Probeätzungen mit kleiner werdenden Konturen war ich selbst von dem Resultat überrascht und bestärkt weiterzumachen. Leiterzüge von 6mil, die ich benötigte, waren möglich :).

Die über 300 Durchkontaktierungen wurden mit Bungard Kupfernieten, einer kleinen Proxxon Ständerbohrmaschine, einem Körner und viel ruhiger Hand gesetzt. Danach konnte es ans Bestücken gehen. Dazu stand mir eine selbstgebaute Vorwärmplatte und eine Fernost-Heißluftstation zur Verfügung.

Der Motor selbst stammt aus einem alten Fujitsu Server (die haben für die Größe jede Menge Power). Die orig. Welle wurde ausgetauscht und eine Messingbuchse angeflanscht. In dieser ist dann die Welle, welche die Platine aufnimmt, eingeklebt. Die Teile stammen alle aus ausgeschlachteten CD-Rom’s, Festplatten, Servern…Der Fuß besteht aus einem Sammelsurium alter Prozessorlüfter, welche nach vielem Probieren irgendwie zusammen gepasst haben.
Die Drehzahl-Regelung übernimmt der Atmega 328p auf der Front-Platine. Ausgelegt als P-Regler, der das Tachosignal des Lüftermotors auswertet, und diesen über eine 10Bit PWM ansteuert.

Mit Strom wird der Globus induktiv über zwei ineinander laufenden Wicklungen versorgt. Geschaltet wird die Primärwicklung mit einer H-Brücke, welche von zwei Dual-Mosfet Treibern angesteuert wird (hab ich in einer alten Xbox360 gefunden).
Sekundärseitig wird die Spannung mittels 3A Step-Down Wandlers (MP2307) auf 5Volt stabilisiert. Bei der hohen Frequenz von 64Khz musste ich HF-Litze für die Wicklungen verwenden. Diese besteht aus 40 verdrillten 0,15mm Kupferdrähten.

Die Signale der Fernbedienung werden ebenfalls vom Atmega 328p auf der Frontplatine ausgewertet. Um nicht noch ein Protokoll für die Datenübertragung zu entwickeln und kostbare Prozessorzeit zu verbrauchen, habe ich den USART missbraucht. Dabei werden die 8Bit des Fernbedienungsbefehls auf Tx gesendet und direkt ausgewertet. Abhängig vom Pegel wird das Tastverhältnis der H-Brücke geändert. Primärseitig lässt sich das Signal mittels Timer im Capture-Mode auswerten und die Pegel des USART’s reproduzieren. Diese auf den Atmel 32UC3b512 (Rx-Eingang des USART) geleitet und man hat die Fernbedienungsbefehle interruptgesteuert auf der rotierenden Scheibe zur Verfügung. Geht sicher eleganter, aber es funktioniert…

Nun zur Software:
Der Atmel 32UC3b512 war komplettes Neuland für mich. Die Komplexität und der Mangel an hardwarenahem Beispielcode musste ich schmerzlich erfahren. Also Wochen damit verbracht das ASF (Atmel Software Framework) zu studieren und Interrupt-Prioritäten, Interrupt-Gruppen, Powermanagement, Timer… zu verstehen. Wenn man so wie ich bisher nur mit 8Bit Atmegas zu tun hatte ist das eine komplett neue Welt :(.
Aber jammern bringt einen nicht weiter und irgendwann leuchteten die ersten LED’s.

Um die Datenmenge schnellgenug für die LED-Treiber zur Verfügung zu stellen, wird jeder der 12 Treiber einzeln seriell angesteuert. Dafür wird der jeweils anzuzeigende Teil des Bildes, welches im RAM liegt und vorher von der SD-Card geladen wurde, in das Portregister geladen um mit einem Takt alle 12 Treiber zu füllen. Soweit die Theorie, doch mit C# Mitteln war das deutlich zu langsam. Die Lösung, welche eine Verdoppelung der Geschwindigkeit brachte, war Inline-Assembler.
Die Laufschrift, die in einem kleineren Radius als das Hauptbild läuft, wird von einem 8Bit Schieberegister generiert. Hauptbild und Laufschrift teilen sich einen frei laufenden 16Bit Timer und werden über jeweils einen Compare-Interrupt angezeigt. Grundlage dafür ist ein weiterer Timer welcher die Rundenzeit mittels Reflektions-Lichtschranke ermittelt.

Die anzuzeigenden Bilder, welche Im RAW-Format (24Bit RGB) auf der SD-Card gespeichert sind, werden auf zwei Arten gelesen. Wenn es sich um ein Einzelbild handelt kommt die langsame blockweise Lesemethode zum Einsatz. Alternativ wird der DMA-Mode verwendet um Videos (Folge von Einzelbildern) schnell genug im RAM zu aktualisieren. Methode eins hat den positiven Nebeneffekt eines schönen Übergangs beim Umschalten der Bilder.

Gruß
Fritz

radbruch
11.01.2015, 18:32
WOW!

Wirklich wunderschön, fast schon hypnotisierend. Danke für das tolle Video.

Das kann man wohl schwer toppen. Hard- und Software sind super. Das würde ich auch gerne können. Weiter so und noch ein paar mehr Videos bitte.

Gruß

mic

PICture
11.01.2015, 19:39
Hi Fritz!

Ich als x-Profibastler kann deine tolle Arbeit wirklich als top beurteilen und nur weiterso bzw. noch besser wünschen. :D

Hiedi
15.01.2015, 19:35
Danke für die positiven Kommentare! Es bestärkt einen noch weiter zu machen, denn an Ideen mangelt es nicht :-).

Für die Interessierten hab ich noch etwas Beschreibung hinzugefügt...

Gruß
Fritz

Andree-HB
15.01.2015, 19:52
...Respekt - echt ein tolles Teil !!!

Geistesblitz
15.01.2015, 21:33
Muss auch sagen, das Ding macht richtig was her und ist auch sehr sauber ausgeführt. Alle Achtung. Da steckt sicher auch ziemlich viel Arbeit hinter, oder?

HeXPloreR
16.01.2015, 16:02
Hallo Fritz,

Ich finde es einfach nur "richtig toll gemacht" =D> (<< Beifall Smiley!! - ??)

Wie genau hast Du das TX Signal auf RX geleitet? Einfach per Schleiferkontakt? Oder IR? Was bedeutet in dem Zusammenhang die H-Brücke - ich kann mir das grade nicht richtig vorstellen. Wäre toll wenn Du dazu genauer was sagen könntest.

...ich werde mir mal deinen LED-Treiber den Du benutzt hast ansehen ;)

Viele Gruße
Jörg

Hiedi
16.01.2015, 20:43
Hallo Jörg,
Die IR-DATEN werden ganz konventionell von der Steuerungsplatine (feststehend) ausgewertet. Der empfangene 8Bit Wert muss nun irgendwie kontaktlos zu dem sich rotierenden Teil übertragen werden. Das naheliegendste ist die logischen Pegel durch unterschiedliche Frequenzen/ Tastverhältnisse der Trägerfrequenz, in dem Fall die Taktfrequenz der H-Brücke, darzustellen. Und da kommt der usart ins Spiel, da für die Übertragung noch ein passendes Protokoll notwendig ist. Die Steuerplatine sendet 8Bit mit dem usart und scannt den Ausgang gleichzeitig ab. Je nach Pegel wird die frequenz der H-Brücke geändert.

Nun zum rotierenden Teil:
Die aufmodulierten Pegel des Übertragungs-Protokolls werden durch Messung der Frequenz an der Primärwicklung zurückgewonnen. Und auf den Rx Eingang des usart (UC3B512) geleitet. Dieser kann die Daten decodieren und der gesendete 8 Bit Wert steht dem drehenden Teil zur weiteren Verarbeitung zur Verfügung.

Schwer zu beschreiben, ich hoffe du weißt was ich meine...

gruß
fritz

Geistesblitz
16.01.2015, 21:32
Sehr interessant. Ich kann mir vorstellen, dass eine Datenübertragung auch optisch gut möglich wäre, indem man die Signale durch eine IR-LED ausgibt und über einen Fototransistor, der von allen Seiten beleuchtet werden kann, empfängt. Ich weiß aber nicht, ob da der Aufbau der Transistoren Probleme machen könnte und dann in gewissen Stellungen das Licht nicht an die wichtige Stelle kommt. Außerdem müssten bei mehreren Signalen Fremdsignale gut abgeschottet werden.

HeXPloreR
16.01.2015, 21:44
Danke Fritz für die Erläuterung,

ich habe es natürlich nicht verstanden mit der H-Brücke :-k
Dennoch... wenn es funktioniert ...ist die Lösung ganz sicher keinesfalls schlecht.

Ich denke auch als Alternative wäre eine direkt gegenüberliegende IR-Diode/Empfänger Version im Zentrum der Welle konstruktiv machbar. Also eine 1:1 Weiterleitung des feststehenden Fernbedienungsempfänger-IR-Diode.

Viele Grüße
Jörg

Peter(TOO)
16.01.2015, 23:19
Hallo Jörg,

ich habe es natürlich nicht verstanden mit der H-Brücke :-k
Dennoch... wenn es funktioniert ...ist die Lösung ganz sicher keinesfalls schlecht.

Er hat eine Trafo gebaut, bei welchem die eine Sekundär-Spule rotiert.

Nun wird der Trafo mit 64kHz betrieben.

Die Wechselspannung erzeugt er mit einer H-Brücke.
Bis hierhin ist noch nichts speziell.
Normalerweise würde man den Trafo mit einer normalen Wechselspannung betreiben, also beide Halbwellen haben die selbe Zeitdauer, also ein PWM-Signal mit 50% Tastverhältnis.

Er moduliert jetzt aber jetzt noch das Tastverhältnis der PWM mit den Daten. Also, z.B. 40% Tastverhältnis entsprechen einer "0" und 60% einer "1".
Das entspricht dann einer PSK-Modulation (Phasenmodulation).

Theoretisch könnte man so mit 64kB/s übertragen, er verwendet aber direkt das Signal vom UART. Je nach Baudrate, werden also einige Perioden mit 40% gesendet und dann einige mit 60% Tastverhältnis.

Der Nachteil dieser Modulation ist, dass das Signal einen Gleichspannungsanteil aufweist. Ein vorhandener Eisenkern, dann damit in die Sättigung kommen.

MfG Peter(TOO)

radbruch
17.01.2015, 08:37
Das entspricht dann einer PSK-ModulationIst das nicht schlicht eine Pulsweitenmodulation (PWM) (http://de.wikipedia.org/wiki/Pulsweitenmodulation)?

Hiedi
17.01.2015, 09:17
Hallo Peter,
schön und verständlich erklärt!

Doch bei dem erwähnten Nachteil bin ich nicht sicher...
Mit meinem gefärlichen Halbwissen über Datenübertragung würde ich sagen, dass das Thema Sättigung in meinem Fall keine Rolle spielt.

Das Problem habe ich, wenn ich z.B. das UART-Signal direkt auf einen Übertrager schicke. Da nicht Gleichspannungsfrei kommen die Langen logischen Pegel "1" am Ausgang nicht an. Der Kern kommt in die Sättigung da für die Übertragung ständige Pegelwechsel nötig sind (siehe Alternative z.B. Manchastercode).

Durch die Modulation habe ich das Problem nicht. Dem Trafo ist es egal, ob er dauerhaft eine "1" (z.B 50% Tastverhältnis) oder "0" (z.B 40% Tastverhältnis) überträgt. Alternativ ginge es auch mit der Frequenz (logisch "1" 64Khz und logisch "0" z.B. 60Khz).

Korrigiert mich, wenn dem nicht so ist!

Gruß
Fritz

HeXPloreR
17.01.2015, 10:11
Moin Moin,

okay ich danke euch, damit habe ich soweit den Zusammenhang verstanden. So schlimm ist es ja garnicht ;)

Welche RGB-LED's hast Du genau benutzt? Kannst Du davon auf dem Globe eine Nahaufnahme zeigen?

Ich muss es einfach nochmal sagen: "Wirklich gut gelungen =D>"

Viele Grüße
Jörg

Hiedi
17.01.2015, 11:35
Hallo,

LED's:
http://www.shop-014.de/michawi-p3158h91s351-100-RGB-SMD-LEDs-060.html

und noch eine Nahaufnahme:
29639 29640

- - - Aktualisiert - - -


Danke Fritz für die Erläuterung,

Ich denke auch als Alternative wäre eine direkt gegenüberliegende IR-Diode/Empfänger Version im Zentrum der Welle konstruktiv machbar. Also eine 1:1 Weiterleitung des feststehenden Fernbedienungsempfänger-IR-Diode.

Viele Grüße
Jörg

Das habe ich am Anfang auch in Betracht gezogen... war jedoch nicht realisierbar. Würde höchstens mit einer Holwelle funktionieren (Fototransistor unter dem Motor).

Gruß
Fritz

- - - Aktualisiert - - -


Ist das nicht schlicht eine Pulsweitenmodulation (PWM) (http://de.wikipedia.org/wiki/Pulsweitenmodulation)?

Radbruch hat recht, das hat nichts mit PSK zu tun. Bei PSK werden die Pegel "0" und "1" durch Verschiebung der Phasenlage codiert.
In meinem Fall wird nur das Tastverhältnis geändert, also Pulsweitenmodulation mit zwei Zuständen.

HeXPloreR
17.01.2015, 12:51
Danke schön \\:D/

Ich habe mir erlaubt einen Kommentar bei YouTube zu hinterlassen mit dem Link auf diesen Beitrag hier.

Peter(TOO)
18.01.2015, 04:28
Hallo,

Ist das nicht schlicht eine Pulsweitenmodulation (PWM) (http://de.wikipedia.org/wiki/Pulsweitenmodulation)?

Tja, die Bezeichnungen sind je nach Fachrichtung unterschiedlich.
Nachrichtentechnik:
- PSK entstammt der guten alten Analogtechnik, bezeichnend ist, dass die Frequenz konstant ist.
- PCM (Puls Code Modulation) wäre es in der digitalen Nachrichtentechnik.

-PWM stamm aus dem Bereich Leistungselektronik. Wobei bei PWM die Frequenz nicht Konstant sein muss. Zudem geht es um die Leistung und nicht um die Informationsübertragung.

Die Signale sehen aber im Prinzip alle gleich aus ;-)

MfG Peter(TOO)

- - - Aktualisiert - - -

Hallo Fritz,

Doch bei dem erwähnten Nachteil bin ich nicht sicher...
Mit meinem gefärlichen Halbwissen über Datenübertragung würde ich sagen, dass das Thema Sättigung in meinem Fall keine Rolle spielt.
Sollte es in diesem Bereich auch nicht. Mit dem DC-Anteil verzerrt der Übertrager etwas, aber bei einem Rechteck merkt das keiner ;-)
Bei der Leistungsübertragung leidet der Wirkungsgrad ein bisschen.
Zudem weiss ich gar nicht ob dein Übertrager einen Eisenkern hat, bei einer Luftspule spielt es überhaupt keine Rolle.?

Wir haben solche Übertrager aus Topfkernen gemacht, da hat man einen schönen geschlossenen Fluss der Feldlinien.


Durch die Modulation habe ich das Problem nicht. Dem Trafo ist es egal, ob er dauerhaft eine "1" (z.B 50% Tastverhältnis) oder "0" (z.B 40% Tastverhältnis) überträgt. Alternativ ginge es auch mit der Frequenz (logisch "1" 64Khz und logisch "0" z.B. 60Khz).
Das wäre dann FSK (Frequency Shift Keying).

MfG Peter(TOO)

coki
31.10.2015, 18:36
Hallo,

LED's:
http://www.shop-014.de/michawi-p3158h91s351-100-RGB-SMD- (http://www.shop-014.de/michawi-p3158h91s351-100-RGB-SMD-LEDs-060.html)LED-WALL (http://www.wipamedia.com/produkte/led-videowalls/)

und noch eine Nahaufnahme:
29639 29640

- - - Aktualisiert - - -



Das habe ich am Anfang auch in Betracht gezogen... war jedoch nicht realisierbar. Würde höchstens mit einer Holwelle funktionieren (Fototransistor unter dem Motor).

Gruß
Fritz

- - - Aktualisiert - - -



Radbruch hat recht, das hat nichts mit PSK zu tun. Bei PSK werden die Pegel "0" und "1" durch Verschiebung der Phasenlage codiert.
In meinem Fall wird nur das Tastverhältnis geändert, also Pulsweitenmodulation mit zwei Zuständen.

Hallo,

ich hätte hier eine reine Verständnisfrage.. warum hat das nichts mit PSK zu tun? Das mit den Pegeln verstehe ich soweit.. kann man es auch mithilfe anderer Merkmale erkennen?

Gruß
Peter Co.

frankirat
08.09.2016, 21:13
Ich suche sowas für Scifi Conventions und Infostand der Piraten.

Leider bin weder ausdauernd noch besonders geschickt um sowas selber zu bauen.

Ich hätte da aber noch ein paar Ideen.

1. das ganze in eine Kunststoffkugel einbauen um zu verhindern, daß jemand einfach mal so rein langt und sich die Finger bricht, dann wäre es sogar verkaufsfähig.

2. Eine 3D variante in Zylindrischer form, sozusagen als Holodisplay in rund.

Zu letzterem wären mehrere ebenen nötig und damit auch mehr steuerung aber grundsätzlich machbar, wäre cool, wenn man 3d gesichter oder figuren anzeigen kann. Ich habe gelesen, daß die leds angeordnet wie eine archimedische schraube funktionieren soll, bei leds geht aber aucheinfach als streifen. das mit der archimedischen schraube ist wohl eher zur anzeige von bildern die von unten oder oben auf die oberfläche projeziert werden.

Zu dem Globus noch ne frage, kann das jemand mal im auftrag bauen, und mir vorher sagen was das kostet?

Hiedi
15.11.2016, 10:16
Hallo frankirat,
mein Led-Globe ist ein reiner Prototyp. Mir fehlt leider die Zeit um ihn weiter zu entwickeln, auch wenn ich noch jede Menge Ideen hätte.

Such mal auf eBay nach "iball pov". Vielleicht entspricht das Teil deinen Vorstellungen. Ich denke viel günstiger wird dir das auch keiner bauen können/wollen. Zumindest nicht bei der Stückzahl.

Gruß Fritz

frankirat
30.11.2016, 14:15
Warum daraus nicht ein Unternehmen machen, zumindest bei getdigital.de könnte das ein verkaufsschlager werden.

Allerdings müßte man noch zusehen, daß man nicht rein fassen kann.

oberallgeier
30.11.2016, 17:16
Warum daraus nicht ein Unternehmen machen, zumindest bei getdigital.de könnte das ein verkaufsschlager werden ..Hast Du damit Erfahrung ?

frankirat
01.12.2016, 06:22
Nein, nicht wirklich.

Peter(TOO)
01.12.2016, 06:55
Hallo Fritz,

Das habe ich am Anfang auch in Betracht gezogen... war jedoch nicht realisierbar. Würde höchstens mit einer Holwelle funktionieren (Fototransistor unter dem Motor).
Man kann mehrere IR-LEDs in einem Kreis um die Welle anordnen und das Signal parallel einspeisen.

Möglich wäre auch ein Lichtleiter, ein Plexiglasring in welchen die IR-LED eingebaut wird und die Abstrahlfläche angerauht ist. Einfach einen Ring aus einem Plexiglasrohr absägen und eine Schnittkante polieren.

Abgetastet wird dann mit einem einzelnen rotierenden IR-Empfänger.

MfG Peter(TOO)

Tacko
12.02.2018, 12:49
Hallo Fritz

Ich hoffe du liest hier noch mit.

Deinen Globe habe ich bei Youtube gesehen, ist eine echt super Sache.=D&gt;

Und auf dieses Forum verwiesen wird, habe ich mich jetzt extra hier angemeldet. Auch weil ich dachte, es könnten die Files zum Nachbauen hier eingestellt sein, aber Leider musste ich feststellen, dass dem nicht so ist.:-(

Ich denke, dass ich nicht der einzige bin, der diesen Globe gerne nachbauen möchte. Ist ja schliesslich auch ein toller Hingucker.
Ich weiss, dass du viel Arbeit da reingesteckt hast, aber wäre es nicht möglich, die Files hier für die Allgemeinheit einzustellen? Also Schaltplan, Layouts und Sourcen?

Wäre echt toll, wenn du das machen würdest.:pray::pray:

Gruss
Alex