scanning LED clock

Go To Last Post
22 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i got interested in doing a project for one of these. and been searching around on google.

I see alot of designs based around the pic, and generic code for the pic, but im not seeing anything on atmel. the pic and atmel assembler is very different, so i couldnt even begin to port over the pic code to atmel.

any ideas? thanks.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Do you mean a propellor clock? If so there is one with some good links at http://www.microsyl.com/

Ralph Hilton

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

yea thats what im looking for. but not what im looking for.

Im trying to build a properller/scanning clock. but his code is in C++ and I only do basic and ASM. :-\

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

the one that waggles back and forth is a fantazein

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In principle it's not very different from a static matrix display.

You just "pretend" that you have a full X-Y LED matrix. Actually you only have a single Y column, but as it scans, it becomes every possible Y column one after the other. So starting from some datum point X=0, you present column 0; then at the next angular increment, present column 1; and so on. If the rate of change is constant, the angular increment is a constant time increment. For a propeller clock you can think in terms of r-theta instead of X-Y, or else if your LED array is at the end of a relatively long arm, you can consider it as a long thin X-Y strip bent into a circle.

Have you designed the hardware yet?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

eh, looks like some german word or something.

Im not going to make one like that, im going to make a full 360 scanner.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I havent designed anything yet. im still in theory mode.

Well if i break up the time into lines, and store the line data in a refresh buffer, the thing is, how would i sync the spinning of the motor to the line multiplexing? becuase wouldnt it loose sync and jumble on top of one another if it aint right?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

well also if the speed isnt right, the clock would just swirl in circles around the motor, instead of staying locked in one position. i would have to sync it somehow, and how, I have no clue.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Most use a optical or magnetic sensor to establish a reference point. Let the sensor trigger an interrupt, send out a line of data for the visible portion of the arc and wait for the next int. If you use a constant speed motor like a brushless dc motor from cd, dvd, or vcr, you won't have a problem with jitter. The other part of the problem is getting power to the rotating portion of the clock. A google search finds 13000 hits for "propeller clock". "propeller display" finds a few more.

Rick

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i know i have been googling till my eyes fall out. hehehe.

im still trying to figure out how to get power to the clock unless i use a battery mounted on the prop. :)

another idea is to use an iron core transformer cut in half like some of the newer shavers use.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

As your clock rotates you can trigger off a single pulse from an opto sensor, hall/magnetic, or whatever. This can "trigger" a timer to spit out your light pulses. Even better is to measure the time between consecutive rotation triggers to adapt your timing for variations in the motor speed. This can stabilize your motor speed to give a rock solid display.

As far as power coupling, a split/rotating transformer should do the trick. Some small motors are available that have wires going up the motor shaft for this purpose. Not sure where you can get 'em.

A small DC motor can be used as a generator, so if you rig up an extra it could provide power. Thoery:Set up your rotating disk/pcb so it uses a belt drive with the disk supported & spun by a hollow axle(or open center bearing). Mount the 2nd small motor to your disk with its shaft (or extended shaft) poking throught the mentioned axle and attached to the nonrotating frame/base. Now the motor can provide DC to your disk.

Note you could properly mount some coils on your disk and have them properly move past magnets on your frame--essentially making your own generator

Notice you can show more than just the time---your name or any other message you like.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

im going to do it a bit different. im gonna need some bushings and brushes. instead of having the processor onboard the spinner, im going to have just the LEDs. and have 8 LEDs, meaning 9 conenctions, 9 bushings, 9 brushes on the shaft for connection.

Im going this route because im going to have the display emulate a clock, AND emulate a 6 character 5x7 display for the computer, connecting to a parallel port for data transfer. it would be horrible to feed a parallel cable through a motor shaft. :-\

any ideas? for bushings and brushes for electrical contact?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you charlieplex the LED's you will only need 4 connections, and with that you would be able to control 12 LED's. Though it might be hard as you could only drive a fraction of them at a time. Alternatively, with 3 lines you could use SPI to a simple shift register, and then just shift in your patterns. Mechanically 9 bushings or wiper rings is going to be a challenge.

Having said that, if you go with SPI, you could bit-bang SPI out the PC's parallel port and use only 3 lines + power on the shaft to talk to the micro which is on the rotating assembly. (Note you could use the serial port here too, allowing for a single line (in addition to power & ground) if uni-directional communications are all that is required)

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

Last Edited: Wed. Dec 27, 2006 - 02:16 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Forget about all of those unreliable brushes---you will surely regret it. don't even think about oit any further. To pass data to your rotating board, use an IR LED link (picked up by a phototransistor on the rotating board). You will be much happier with this method.

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

avrcandies wrote:
Forget about all of those unreliable brushes---you will surely regret it. don't even think about oit any further. To pass data to your rotating board, use an IR LED link (picked up by a phototransistor on the rotating board). You will be much happier with this method.

But what about power?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi MB:

Here is a link showing how to set up motor & rotating transformer to supply power (click on mechanical). You might be able to convert this pic project to atmel as well.

http://home.tiscali.be/henkenkat...

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

here is a bit more info for your arsenal

http://www.seattlerobotics.org/e...

A long list of clock sites (at bottom of this link)

http://www3.sympatico.ca/surfin....

here is a HUGE page full of clocks & laser clocks
http://www.luberth.com/analog.htm

When in the dark remember-the future looks brighter than ever.   I look forward to being able to predict the future!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thanks for the plethora of information. im going to work on this when i get some more time. IR link is kind of slow isnt it? but it isnt going to be that bad, because im going to have it a message sign that gets the data from the PC. :)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Slow is relative. IR is fast enough for this.

Just a warning, the air core transformer thing is very fiddley, and winding the magnet wire is really boring. Also, grid dip both coils with a scope and a signal generator so they have matched resonant frequencies, then make sure to drive the primary at that frequency. Get one of the timers set up to output a square wave, and double-check the frequency on a scope. If this sounds lame, use ball bearings and a nice sized cap on the output side to keep the voltage steady. Best of luck.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi, after a long time from my last post I've realize my projet (clock) with 90S8515/mega8515.
I write the code for a hand clock (I don't know if is the right world...I'm italian) with 240 LEDs (4 concentric circles.. first LED = Second, Second and Third LEDs = hours, last LED = Minutes).
Now I'm working to see if i can implement a IR recieve to control the "form" of pointer...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Fabio -

Put up some pictures :)

glitch -

I don't think charlieplexing will work for a propeller clock - there's just not enough time. For example, you would want the propeller spinning at 20Hz to get a reasonably flicker-free display. Say we're displaying 12 LEDs on the spinning arm, and display each minute position - 360 positions.

20Hz is 1200rpm (0.05 seconds per rev), displaying 360 segments is only 138uS per segment. Inside that 138uS you have to charlieplex all 12 of your LEDs - that uses 4 pins. So you have to multiplex across the 4 pins, which leaves you only 34uS per pin to display. You would turn on one group of LEDs on pin0, then the next group on pin1 and so on. You would have to do this at least a couple of times I think, I don't really know. When the arm moves into the next segment position, you start to display the next segment.

Hrm - maybe it would work. At 16MHz you get an instruction cycletime of 0.0625uS. That's enough for 550 instructions per pin inside that 34uS.

Dean 94TT
"Life is just one damn thing after another" Elbert Hubbard (1856 - 1915)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ok, I think is needed some explanation...

Scanning proppeler clock, for me, have 1 problem... it has a mechanical part with some noise.
I need a quite clock.

I've made 4 sectors of 15 minutes. 4 leds for minute but 2 at the center of the pointer, are in parallel. In this way I used 3 pins for the 4 katodes of the LEDs (remember that 2 LEDs are in parallel), and another 1 pin for the common Anode. Every sectors is piloted scanning only the anode PINs (15)...
So... 4 (sectors) * 3(4) (katodes in common for every sector) * 15 (Anodes in common for every minute of every sectors) = 240 LEDS... In other way (4*3)+15= 27 Pins to pilot the LEDs
I hope you understand... :D

Now, the sw part... I'm much more practical and I used the calculator only to calibrate the real time with the prescaler... for the scanning time I only made the sw in the way that I had estimated valid and after I have tested it in the Bred Board...
The result is in this 3gp video...
http://www.fabioventurini.it/htp...