
A Globe is technically much more difficult than a matrix. Nevertheless we built a first version (v1) with 40 RGB LEDs arranged at the outside of a rotating ring with a diameter of about 25 cm. One turn of the globe is divided into 200 sectors interupted by a infrared light barrier. Hence, one frame consists of 40x200 pixels - each with 8 color states.
The LEDs are controlled by one ATmega328 with 15 8bit shift registors (74HC595) sitting on two PCBs in the center of the globe. The power is supplied via slip rings. The two PCBs and the mechanical part are again self-made.
The firmware and the board layout can be found in the download section. Despite we are not really proud about the mechanical design we have to say that it looks pretty awesome! If we show it to friends, they seem to be really impressed and are kind of magnetized. They saw nothing similar before and they are right, there are not much diy rgb globes on the market.
By the time we decided to build at second version (v2) with improved but still hand-made mechanics. Luckily the electronic parts could be reused from the first prototype and hence the board layout didn't change. Eyecandy!
Our first attempt turned out to be only a prototype. It was 100% functional but we definitely needed to improve the mechanics. Here some images of the construction and first tests of the first Globe:
The very first video recorded with a mobile phone of the second version. The mechanics, electronics and software are finished but we still need to come up with some images to display. And of course we need to provide you with more information about this project.
We finally managed to make a final video of our RGB-LED-GLOBE! The Cam we used seems not capable to capture the device in its full beauty. Unfortunately, rotation speed and frame rate of the cam seem to interfere so that you see an overlay in the video which is not present in real. Furthermore, the colors are not reproduced as in real by my cam. However, since we made the video not exclusively to show you the device working, but also to give a short documentation of its creation we can live with a reduced quality.
The source code is written pretty simple, the infrared sensor is fed to a digital input which fires up an pin change interrupt on rising edge. The interrupt itself just toggles a flag called "LS" in the code. The main job is done outside the ISR in main code. First we compare how many sectors were displayed within the last frame (turn). If it was to much or to less, the sector time is corrected in the corresponding direction. Next step is to feed the 15 shiftregisters and wait for the sector time to be passed. Then the game starts from the beginning for the next sector ...
The circuit of the globe is that simple that we did not draw any schematics and started direct routing. So the only thing we can publish in this place is the layouts of both of the boards. For code and layout check the download section.
Wiring is done pretty simple just use the following scheme. However, even if the scheme looks simple the wiring via copper wire is a hell of job and requires a lot of patience and a lot of beer!
Since we get so many questions concerning the power supply of our globe. Here it is. Pretty simple: Just two self made cylinders made of stainless steel. The lower one has an inner diameter fitting to the rotation axis. The upper one has a bigger diameter and in between there is a third cylinder made of teflon. The power transfer is done via simple slip contacts. We had to try several materials until we found a practical solution. Finally we came out using some kind of spring steel. The big cylinder which holds both of the slip contacts is also made of teflon.

Some people asked: "What is the program you used to generate the data and the 3d simulation I saw in the video?" Well, the program in the video was written with LabView some time ago. By the time we rewrote the program in java and added some more features. Now it became its own software project - GlobeSimulator.
Comments
maxiz at hotmail.it
I've understand clearly ho to build it..
And that it will take a lot of time to connect all leds.
Which i don't understand is..
How can i program the images that it must show then?
i know that i've to use globe simulator to create the code, but then where I should put this code? Togheter with firmware? How? And the firmware can be burned with a normal ATMega programmer right?
and it will not recognize the ir input ....is the input on the digital pin 3 or analog pin 3?
Ich schreib`s mal lieber auf Deutsch, da mein Englisch nicht gerade das beste ist!
Ich bin auch ein Elektronik begeisterter Bastler. Hab aber leider nicht so die Erfahrung mit yC und da ist so eine Anleitung echt hilfreich!
Ich will mir auch so einen bauen und ein paar Fragen sind noch offen, aber da komm ich schon irgendwann selber drauf.
Ich finde euer Projekt echt top und will mal danke sagen, dass ihr das alles online stellt und euch Zeit nehmt die Fragen der Leute zu beantworten!!
Das ist nicht selbstverständl ich, da hab ich in diversen Foren schon anderes erlebt!
Grüsse Joe
And im not sure what a "condenser" is, hoping you meant capacitor.
http://www.youtube.com/watch?v=L9BaXpfreVg
Still debating on weather to place a parts list and schematics online. This is not the kind of thing you can just slap together without lots of time spent planning it out.
It took almost a year of planning for me and another student to plan and build it.
co0l3r
http://youtu.be/O8B22OjIKR0
I plan to drive my pcb's with a 9v battery and a 7805 regulator.
and can we get a detailed schematic instead of just pcb layouts since I plan to make my own pcb's ( i'm adding some more things :) )
Suppose I used an Arduino Uno Microprocessor instead of the ATMega 328, could I still use the Glediator Software for the Globe?
Can you please send me a partlist.
Thanks
driesost
Thank you in advance
My e-mail is jasmin_kreho
There is actual depth to my 3D LED works in progress and they don't use computer codes.
I really feel this computer code stuff is just a phase that the wealthy have forced on the poor.
THe idea that flatscreens are used to view charts and graphs to analyze economics is scary.
Lot's of people like these projects very much like i do, so don't judge other people's work without giving proof of doing it better yourself.
They don't have to share it with us but they do, and i say keep up the good work thank you.
Ein Bild vom KO wäre natürlich das Edelste :-D
Danke euch schon jetzt hunderttausend mal...
Hoffentlich gehe ich euch nicht zu fest auf die Nerven...
(entschuldigt die zwei Post, war immer zu lang)
Ich bin nun schon ein ganzes Stück weiter mit dem Teil...erste Gehversuche sind angesagt!
Nun habe ich allerdings noch ein riesiges Problem.
SPI funktioniert ganz und gar nicht wie es sollte...
Verkabelt und angeschlossen ist soweit alles richtig. Nun hab ich aber das Problem, das wenn ich einschalte immer die selben 7 LEDs rot leuchten und sonst gar nichts passiert. Ich vermute stark, dass es mit dem Signal der Lichtschranke liegt. Ich Debugge zur Zeit noch auf dem Tisch ohne Drehung, was heissen soll, dass ich einen Geni fürs LS brauche...
Your code is calling for the avr/prgspace.h library. Is there a download for that?
Thanks
Cheers!
Anyway was looking at the code and wondering why you used SendRecSPI, since your only sending, doesn't that slow down the Arduino?
Still working on my frame, working on a motor mount atm and working code in my head. Trying to figure out if its possible to use nRF24's transceivers on the globe and a Touchscreen Arduino handheld to change images and maybe freehand some designs.
They really dropped the ball at my school when it came to teaching C
didn't really got you question. However, all the best for your project! If you have further questions just let us know!
Cheers!
Ich beschäftige mich gerade mit dem nachbau eures Projekts. Auf der Firmware bin ich auf den define vom Latchpin (nehme an, dass das der Eingang für die Fotodiode ist?!) gestossen. der ist als nummer 10 definiert...das wiederum ist am uC aber der Eingang für den externen Quarz...
Ich blick nicht durch, könnt ihr mir bitte Helfen?
Danke euch!
Grüsse Jürgen
der latchPin in der Firmware ist definiert als Pin 10 vom ATmega328 in der Arduino IDE (vgl. http://arduino.cc/en/Hacking/PinMapping168). Dieser ist mit PIN 12 des Schieberegister s verbunden, dem sog. LatchPin (vgl. z.B. http://www.arduino.cc/en/Tutorial/ShiftOut).
Hilft das erstmal weiter?
Gruesse, Thomas
vor kurzen bin ich auf euer Projekt gestossen und bin zurzeit mit den Vorbereitungen für einen Nachbau beschäftigt.
Mir ist nur ein kleines Problem aufgefallen:
Wenn ich mit einem durchschnittlic hen Strom von 20mA pro LED (also pro Farbe) rechne, gibt das einen Strom von 160mA pro Schieberegister . Dies übersteigt allerdings den möglichen Strom um mehr als das Doppelte pro Register....
Wie habt ihr das gemacht? ich sehe auf eurer Schaltung keine zusätzlichen Treiber oder sonst was?
könntet ihr mit bitte ein wenige auf die Sprünge helfen?
Danke schon mal
mfg Karl
PS.: Das Ding ist der Hammer, ich freu mich drauf bis meiner Läuft...
wir haben die Vorwiderstände einfach etwas höher gewählt! Den genauen Wert habe ich jetzt nicht im Kopf und da ich gerade auf Urlaub bin kann ich auch nicht nachmessen. Ich denke so um die 10-15 mA hatten wir eingestellt.
Aber die 595er sind sehr robust auch weit über das Datenblatt hinaus!
LG und Prost!
René
Danke für Deine Antwort! Werde das auch machen (330Ohm / 220Ohm ^^)
Bereits tun sich aber noch andere Fragen auf: Ich hab mir mal euer Java Programm zur Simulation und Bilderzeugung angeschaut und verstehe das Ganze leider noch nicht ganz...
Auch hab ich im Video gesehen, dass der Prototyp auf LabView respektive CVI basiert (stimmt doch, oder?). Könntes Du mir nicht dieses CVI zur verfügung stellen? oder den Quellcode des .jar schicken (ich weiss, gigantische Forderung...)
Wäre wirklich toll, ich möchts wirklich verstehen und nicht einfach nachbauen auf gut Glück...
Danke Dir vielmals, hoffentlich versau ich Dir Deinen Urlaub nicht!
Lg und Prost zurück!
Karl
ja wir hatten nach der Fertigstellung des Globe schnell gemerkt, das es doch recht umständlich ist die Bilder im Quellcode zu "zeichnen" und uns daher einen kleinen Helper in LabView geschrieben.
Als wir dann alles fertig hatten habe wir das Ganze der Portierbarkeit wegen auf Java umgesetzt.
Wenn Du magst kannst Du gerne das ursprünglicher VI haben, es macht im Grunde das Gleiche wie die aktuelle JAVA-Version, evtl. fehlen ein zwei features, aber Bilder bekommst damit allemal auf den Globe und zum lernen ist es m.M.n. sogar einfacher über LV.
Schreib einfach ne kurze mail an info
LG,
René
Klappt fast alles tiptop, mir fehlt nur noch ein subVI:
rescale_size.vi
das funktioniert nicht bei mir...könntest Du mir das nochmals zukommen lassen?
Danke Dir!
LG Karl
digitalWrite(PI N_SCK, LOW);
digitalWrite(PI N_MOSI, LOW);
digitalWrite(de bug_pin, LOW);
but regarding to your changes in the code I have to admit that this project may go beyond your (current) skills!
Sorry for that but we have no time to teach people!
Cheers!
Thanks again I think I'm getting the program and the logic of this project.
Sorry again sir's.
Its purpose is for timing, if your connecting to either ground or Vcc its just seeing it in that state all the time and if its looking for a high and you give it a high it will just use that, even if its a constant high. I am also trying to learn the code they used, I have nearly completed my globe frame, there code is simple yet complex for me. My last project was over 1500 lines, where theirs is just under 200, yet I have to stare at it for hours to understand whats going on lol.
I think your best bet would be to go to the Arduino.cc forums and post pics and ask questions, you will get a larger number of people willing to help you.
P.S. To Rene
We went back to using 595's for our initial build, we are going with a 64 led setup, once we have that running we will try out a separate ring with WS2801 if we have time. I have the frame build just doing adjustments.
Cheers!
Thank you for entertaining my questions and asap replies..
Thank you again..
Cheers!
Welche LED´s (Abstrahlwinkel , Leuchtintensitä t, Artikelbezeichn ung)hast du für dein Projekt verwendet?
Welchen Motor hast du verwendet?
mfg
http://www.led-dealer.de/5R40RGB2DW66M-LED-5mm-4-Pin-RGB-5000mcd-gemeinsamer-Minuspol-diffus
Der Motor ist ein ganz billiger für 15 EUR beim blauen "C".
LG
Cheers!
Does the +5V and GND has connection after the 595's was put in the PCB?
We used 74LS595 instead of 74HC595 what will be the effect on the project?
We tested the project but it doesn't project the programmed in the ATMega328. Help please ASAP.
However, you have to adjust the source code when using common anode. Just invert all the bytes shifted out to the registers.
Cheers!
can u please let me know the motor details and the source code in .asm format..
i've to work on this project so it would be a lot of help from u guys...:-)
rahul.theaviater
Well done! Amazing project. I do not really understand, how you upload program to Atmel328 ? How you connect it to PC? Can you please shortly describe procedure?
Thank you in advance.
To this guy we just connect a simple USB-UART-Conver ter (for example an empty UNO board) and that's it.
Cheers!
One question more, do you have some kind shift between LED1 and LED2? Are they in same level or LED2 is between LED1 and LED3?
yes, we shifted every 2nd LED. Hard to see on the image/sketch. The purpose was to reduce flickering while staying at the same 'resolution' (40 x 200) and rotation speed. It works quite well. However, it's difficult to get them (front and back side LEDs on the ring) in sync.
Going to use the ws2801 LED strings on my current build, just going to cut the strings at each section and attach to the ring. Also my current ring is made out of a 5 Gallon Bucket cut into 1 1/2 inch strips. Its fairly rigid once you add a solid bar to it. Its 11.2 inches wide also and will be using about 50-55 LED's, the only real drawback to the ws2801 is to clock the register you have to wait 500us, so max refreshes per second is about 2000. After calculating in rotations per second we decided to shoot for about 100 vertical lines instead of the 200 you guys went with.
I have also relaid out the old 595 layout so that it can be fabricated on a normal perforated board.
http://s274.photobucket.com/albums/jj271/Donziboy2/RGB%20GLOBE/
nice wok for the Boards, this will help for sure everyone who has no ability to etch PCBs!
But there's one point I did not get: It the globe made of WS2801 working or not? As you mentioned already there should be some serious issues with timing since latching of these guy takes too long!
So want is the current status?
Cheers!
As soon as they come in I'm going to see just how close to 2000 refreshes per second I can push 2 meters of the strands which is 64 LEDs/ICs. May even go for 3m since I ordered extra's :)
I was going to play with my new RC motor last night but I got the wrong pinion gear for it so I have to go back to the shop and get the right one.
Just asking, have you managed to do it with WS2801 strip, and how does it looks..
Best, Bostjan
can you please email me the necessary files, proteus files, codes and everything at biplav_np
everything you need can be found within the text above, the sketches within the text, the comments below and last not least in our download section.
Cheers!
And how did you programmed the ATMega328? is your ATMega is a stand alone that don't need andruino?
and last how did you change the image projecting by the globe while its running/rotating?
It will really help me if you reply. thanks for all the knowledge that you guys shared. thumbs up
The Atmega was programmed outside the circuit wihtin an Arduino board.
We store 4-5 images in the flash of µC and they are randomly displayed when the globe rotates. So there is no online update or communication while rotating.
Cheers!
"The circuit of the globe is that simple that we did not draw any schematics and started direct routing. ..."
but I don't think that anybody will deliver full schematics for you and such a project. The only way is to go through hell and learn some basics by yourself!
But I can tell you one thing: It's worth going that way when regarding the final product!
Cheers!
manidesspota
Cheers.
Quoting Comp-Engr:
I just want to know,
> what are the function of the photo-diode and the IR in that project?
> How can you display a new image while the sphere is rotating or running?
Can you send me the details and how the wiring is done?
This project was accepted for our thesis project.
thank you in advance.
the photo diode in conjunction with the IR LED is just to synchronize frames. For principle of POV please use simple google search. It's beyond the scope of this page to give detailed information about the basic processes of POV and electronics.
If you will have found the information you will see that everything necessary to rebuild our project is written in the text above and all files can be found in the download section.
Cheers!
my email o.fuentealba
Thanks. I enclosed my email
there are several examples how to connect an Arduino to 595s in the web. A simple google search will give tons of results!
The order of the 595s and the colors of the LEDs can be found in the sketch above!
Cheers!
Where do you connect the common of the LEDs?, to 5V? or to GND?
Thanks
Cheers!
but... in the moment that i connect to gnd, the light doesn't turn on :(
Is there any specific reason why you used Teflon to hold the power connectors? Is it to do with the low resistance or was it just something that was close to hand?
Many thanks, Alex
Cheers!
Last question(s) - I promise!
Are the LEDs CA or CC (most RGB LEDs I've seen are CA)?
The sensor - is it a photocell (resistor) or a photo-diode (diode or transistor). Do you have a part number?
I have something in return - I've made a schematic diagram (in EAGLE), which I'd like to send to you. Where can I upload it to?
Regards
Richard
We used a photocell-resit or, but a diode will be fine as well. We just had this guy as spare part.
You can send us files to info
Cheers!
One more question: How are the LEDs connected - like this?
1QA=1R,
1QB=1G,
1QC=1B,
1QD=2R,
1QE=2G,
1QF=2B,
1QG=3R,
1QH=3G,
2QA=3B,
2QB=4R,
:
15QH=40B
Regards
Richard
Cheers.
Now I see the LED configuration - I didn't look close enough at the diagram above!!
The synchronization issue makes sense with two rows. Something to think about...
Thanks for the reply.
Best Regards
Richard
Fantastic work on the globe. I'm tempted to make my own...
I have a question regarding the positioning of the LEDs. Your first version had all 40 LEDs on one half of the ring, while the second version has 20 on each half. Why did you change the configuration and which is easier to control (or does it not make a difference, just timing)?
Best Regards
Richard
However, the first version (LEDs on one side) needs just a bit more rotation speed but the effort you have to spend into the firmware is much less! The reason is the EXACT synchronization between both LED rows needed to be guaranteed in the second solution!
If we would have to rebuild the globe we would go back to the one-side-soluti on just for easier synchronization / programming.
Hope that helps.
Cheers.
I want to know how to keep fed the plate.
the last thing missing to complete our project
sorry for my bad English
thanks a lot: B
sorry, I don't understand your question. Can you please rephrase it.
Thomas
Thank you!
I also plan to make it a little bigger, with the wheel of a bicycle. It would be very difficult to add more LED?
Sorry for my bad English
Greetings from Spain.
Cheers!
http://i274.photobucket.com/albums/jj271/Donziboy2/GlobeScheme.png
http://i274.photobucket.com/albums/jj271/Donziboy2/GlobeBoard.png
Ive already started drawing part B of the circuit, I'm limited to small pcb's since I'm using a lite edition of EAGLE.
Ive got a few Q's. Some already on youtube.
What kind of copper wire did you use for the LED's
Is it possible to increase the number of LED's?
How many Shift Registers can the Atmega328 handle?
Whats your spacing on the LED's and the size of the ring?
Is it possible to add say a RAMTRON FRAM to this and load large animations or will the 328 get mad and release magic smoke?
What Frequency crystal are you using on your 328?
Sorry for all the Q's.
15 14 13 12 11
|
6 7 8 9 10
This will cross the led wire runs X
For sure you can increase the number of LEDs. Be aware that you will need to change the firmware of the 328!
The maximum number of 595? I don't know! In principle it's unlimited, but in real you should take care on the "strength" of your clock signal as well as the latch signal!
The spacing of our LEDs is about 4° and at the top and the bottom we left 10° free.
You can hook up any Ram or SD card to the 328. You just have to care that data processing from RAM to 595s is done fast enough
We used standard 16MHz oscillator.
Cheers!
I have some 24AWG Essex coated magnet wire laying around I might use that.
Using some extrapolation I'm guessing you used an 8" ring for your design.
Killed some time and laid it out using InkScape.
http://i274.photobucket.com/albums/jj271/Donziboy2/GlobeLEDlayout.png
The yellowish board in the middle is my board size. Probably going to go with a 6" ring to reduce the spaces between LED's when its running.
Cheers!
Trying to figure out motor, and refresh rates and what not.
Probably gonna be 2 months before I start my build. And I want to make sure I have as much info before I run into the gremlins :)
Cheers!
Fan motor or something stronger?
Cheers!
Its starting to take shape, at least in my head and the guy i'm working with.
Was just looking at the LED ring what is that anyway? It looks like its one piece of uncut aluminum? And i'm guessing from pics it about 8 inches?
The outer diameter is 225mm and the thickness is 3mm, so the inner diameter becomes 219mm.
Have a nice weekend!
This project did something similar and has a close up picture of the slip rings it used. They brushes DC motor carbon brushes from the hardware store, the holders were just soldered copper and the rings were made from brass pipe.
https://engineering.purdue.edu/ece477/Webs/F09-Grp07/nb/Shaun/Motor%20Pics/Slip%20Ring%20009.jpg
And two Amps over the slip rings will work for sure! Just take care that the slip rings are always in contact during rotation and put some big capacitors to your board, thats it!
Cheers!
Cheers!
http://www.solderlab.de/index.php/faq
I have three questions I think other maybe have too
1-How to connect RGB led to the shifters?
2-How connect the ISR?
3-What is the freqence rotation for a still image?
Thank you in advance for your reply
you are right, these questions are interesting for others too! We will do a drawing and put it to this place soon!
To your 3rd question: The image is ALWAYS still, independent on rotation speed. That's what the ISR is good for!
Thank you very much for your reactivity, congratulations for this project again.
Sorry but now I have another question ,I think it's important before making the mechanical part
even and odd LED are on the same line or they are shifted
like this ?
1------------------
-------------------2
3------------------
or like this?
1------------------2
3------------------4
Thomas
I hav 2 questions.
1)What kind of electromotor rotate globe, where can buy it on internet?
2)how much money taked all project?
could you answer me, please! daumants.lusa
my email: nguoihungtheky999
RSS feed for comments to this post