FAQFAQ   GalleryGallery   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in   Forum RSS Feed   Hacked Gadgets Main Site 

My HDD clock (+video)

 
Post new topic   Reply to topic    Hacked Gadgets Forum Index -> New Projects Currently Being Developed
View previous topic :: View next topic  
Author Message
NatureTM
Semi Newbie


Joined: 27 Jan 2010
Posts: 9

PostPosted: Wed Jan 27, 2010 11:25 pm    Post subject: My HDD clock (+video) Reply with quote

Hi, I just thought I'd show a little of what I've done so far on my HDD POV clock.

First, though, I should thank Alan Parekh for the inspiration. I had so much fun working on this thing that I've decided to go back to school for a computer engineering degree. I had plans to go back for something computer related, but I'm glad this project gave me more direction. Today was my 3rd day of class actually.

I guess the whole point of me trying to build this was to prove to myself that I could do it. For that reason I didn't borrow anyone else's code other than the servo arduino lib and a bit to attach an interrupt to a clock. In my limited experience I don't know I would have been able to figure that out from the atmega 328 datasheet on my own.

I don't have a schematic but if someone really wanted one I guess I could draw one up. The uC is an arduino pro mini. I picked that because I heard arduinos are good for noobs. Also, I have 4 transistors. 3 drive the RGB LED strip, and one boosts the signal from the IR photodiode, which measures the platter's cycle length and phase.
Hey, I don't know if I just need a haircut and a shave or something, but the folks at RadioShack really watched me like a hawk when I started digging through those component drawers. Are there a lot of theiving nerds?

Anyway, at some point I decided it would be smart to bore out one of the screw holes on the HDD PCB to run some wires through. I guess these things must be layered because, although there was no apparent damage to any of the visible traces, things began smoking when I applied power afterward. I drank. Next, I got to learn about delta-config brushless motors. As it turned out, some RC aircraft motors are similar to that of my HDD. I bought a RC motor ESC and it worked. Phew! Now I had speed control as well. The project also draws only about 150mA now instead of 4A@ spinup and 1-2A thereafter. It's also much quieter when I spin it slowly so maybe I could tolerate it running all the time.

As far as the code, I'm not going to post it yet. I just don't want any suggestions because I really want to see how well I can do it on my own. It's also pretty messy. Some of it was written by a person who had little idea what he was doing Wink All I can say is I'm glad I found out about interrupts! Things were pretty stressful before then. I use two interrupts.
The first interrupt just records the time that the slot reaches the sensor and sets the position to zero. [It actually sets the position to the offset value since the sensor isn't at 12 o'clock and I like to think of 12 as pos 0.] Now I can tell how long a rotation takes and how long it has been since the last completed rotation.

I have the rotation split into 180 divisions. I guess I'll call them roxels (rotational pixels) since making up jargon is fun. I'll call one full rotation of the platter a cycle. Then we know to draw the next roxel every cycle length/180. I then set arduino's timer2 interrupt to overflow every new roxel and advance the roxel counter. I found this to be very efficient compared to other methods I tried. Actually, I was really proud when I figured this out, but I've been dying to know if everyone else is using this method as well.

Right now I'm working on the RGB background like the HDD clock with the amazing casemod and I've got some good ideas. I also want to attach a chronodot I purchased but that will be cake.

I hope you guys were able to follow my explanation as I'm not sure I'll ever really get to documenting it fully. I'm glad I found the scene and got inspired. Here's the link to the youtube vid of my proj.

http://www.youtube.com/watch?v=RD28xQlbyhs
Back to top
View user's profile Send private message

Alan
Site Admin


Joined: 29 Jan 2006
Posts: 1399
Location: Winnipeg, MB

PostPosted: Thu Jan 28, 2010 11:12 am    Post subject: Reply with quote

Great looking clock, sorry to hear about the magic smoke incident but as you say the RC motor is probably quieter. Smile Glad to hear you are going back to school. Let us know how things progress with that!

I am looking forward to seeing the next revisions!
Back to top
View user's profile Send private message Send e-mail
stretch4x4
Newbie


Joined: 24 Feb 2010
Posts: 4

PostPosted: Wed Feb 24, 2010 7:18 pm    Post subject: Reply with quote

That is a great clock natureTM Very Happy I can't wait for some free time to ask you a few questions, really want to make one of these myself but the PIC stuff completely went over my head Razz
Back to top
View user's profile Send private message
NatureTM
Semi Newbie


Joined: 27 Jan 2010
Posts: 9

PostPosted: Fri Mar 05, 2010 7:48 pm    Post subject: Reply with quote

Hey stretch, I'll be happy to help when you're ready. I haven't done much work on it recently -- school is kicking my butt (and I probably could play less video games.) Realistically I probably won't do much until spring break or maybe even summer.

I'll give an update of what more I got done before I got busy with other things:

Chronodot is attached and working for r/w.

Found a way to squeeze more colors out of it. Before I had r/g/b and any combination thereof. I found that I could alternate colors to increase my gamut. (did I use that word right?) What I mean is that I could draw a color in say the 12oclock position. During the next rotation I could draw a different color @12. The result, due to pov, is a combination of the two.
I'm pretty sure I can spin the platter fast enough to get 3 changes and still maintain good pov without too much perceived strobe. Interestingly, if the platter spins too slow and the strobe effect is visible, looking at the clock makes me nauseous. I gotta believe this is the trick behind those police/government sick lights. I saw a pic of one and it appeared to be an array of LED's. I assume they are RGB's that cycle some pattern when they stick it in your face. Definately a fun idea for a future project.

Anyway, having more colors available, I wrote a background function that displays the colors in progression behind the hands and hour markers. I get about 16 colors excluding variation in brightness, so it doesn't really look blended yet, but that's the plan.

Lastly, I had several drinks and decided to rewrite everything. The code is much cleaner (surprisingly,) but It introduced a bug that causes the display to jitter about once every 30 sec or so. I'm having a little trouble tracking it down so I feel a bit deterred. Adding features is much more fun than tracking down an intermittent bug. I think it's due to interrupts occurring over eachother or delaying oneanother. I'll have to figure out how the uc/Arduino handles that.

I hope someone makes a puke light soon, that might be a cool feature I'll add to the clock in time.
Back to top
View user's profile Send private message
stretch4x4
Newbie


Joined: 24 Feb 2010
Posts: 4

PostPosted: Fri Mar 05, 2010 7:59 pm    Post subject: Reply with quote

Your a game man deliberately making a puke light. Yeah uni & computers is keeping me busy to, so I can't see me getting to much soon.

If you get bored I would be interested in an overview of both your setup and code. Last time I looked at the project I couldn't quite figure out how to position & keep time. I could do one or the other but not both. (not helping that i've never done anything with a microcontroller)

Look forward to some discussions.

Cheers
Back to top
View user's profile Send private message
stretch4x4
Newbie


Joined: 24 Feb 2010
Posts: 4

PostPosted: Sun Mar 07, 2010 5:29 am    Post subject: Reply with quote

Just found this:

http://sensi.org/~svo/strobeshnik/

May provide some ideas. Very Happy
Back to top
View user's profile Send private message
NatureTM
Semi Newbie


Joined: 27 Jan 2010
Posts: 9

PostPosted: Tue Mar 30, 2010 2:16 pm    Post subject: Reply with quote

Well, I'm pretty much finished. I ended up being able to produce 24 colors (* 2 using something like a blurring trick, but only at high speeds.) Some pretty nice eye-candy going on here.

Unfortunately, the chronodot does not give a correct ambient room temperature as the chip heats up internally during operation. I'm going to try to run it at 3.3V instead of 5V and see if I can get a better reading.

I added 2 standby modes, one turns the motor and led's off for lowest power, the other keeps the motor spinning at the lowest speed, spinning and lighting up at preset times, say every hour or half hour. I'm really happy with the power consumption across all modes since installing the hobby ESC. The clock as a whole draws 1.116W under slow-motor standby and 4.56W under full speed/color operation. I wonder if my RadioShack multimeter is giving me a line of BS, but maybe not since the ESC is designed for low power battery use.

I started resoldering some stuff to put it in a case and in the process I think I fried my arduino pro mini. After upload, I get some checksum errors and blinking. I'm waiting on a couple more from sparkfun.

I'll have a new vid when I get the parts.

I also talked to someone about releasing the source. They told me if I wrote the code myself from the bottom up than it might have some value. I've used OSS my whole life so I would feel a bit guilty about that, but it would be really cool to sell a couple on ebay and actually buy myself some nice tools and parts for my next project. I'm just starting school for this stuff so I'm kindof broke and I think it would be great to be able to make my own pcb's, and have a nice soldering iron/multimeter etc... I got the idea from Alan and he was great about documenting his work so I'm wondering if what I'm thinking is immoral. I'd love to hear an opinion.
Back to top
View user's profile Send private message
stretch4x4
Newbie


Joined: 24 Feb 2010
Posts: 4

PostPosted: Tue Mar 30, 2010 9:04 pm    Post subject: Reply with quote

I know the feeling about wanting a source of money for any work you do!
Can't wait to see a vid, also can't wait till mid break where I might get a chance to think about mine!
Back to top
View user's profile Send private message
Alan
Site Admin


Joined: 29 Jan 2006
Posts: 1399
Location: Winnipeg, MB

PostPosted: Wed Mar 31, 2010 12:21 pm    Post subject: Reply with quote

NatureTM wrote:
I also talked to someone about releasing the source. They told me if I wrote the code myself from the bottom up than it might have some value. I've used OSS my whole life so I would feel a bit guilty about that, but it would be really cool to sell a couple on ebay and actually buy myself some nice tools and parts for my next project. I'm just starting school for this stuff so I'm kindof broke and I think it would be great to be able to make my own pcb's, and have a nice soldering iron/multimeter etc... I got the idea from Alan and he was great about documenting his work so I'm wondering if what I'm thinking is immoral. I'd love to hear an opinion.


Nothing wrong with making some money from your projects. I don't think there is anything wrong with keeping your code private. 99% of code that is in devices all around you will never be released. I know how you feel though since there is a big push right now for open source everything but that is just one way to think about things.

A kit version is also on my list of kits I want to build, I have been saying that for a long time though...

Can't wait to see the video. Smile
Back to top
View user's profile Send private message Send e-mail
NatureTM
Semi Newbie


Joined: 27 Jan 2010
Posts: 9

PostPosted: Wed Mar 31, 2010 1:49 pm    Post subject: Reply with quote

Thanks guys.

I was just thinking about putting a magnet and hall effect sensor on the clock to eliminate the need for an ugly IR diode, but I worried about balance and vibration. I wonder if a hall effect sensor alone could detect the slot without the need for a magnet. Could I magnetize the platter?
Back to top
View user's profile Send private message
Alan
Site Admin


Joined: 29 Jan 2006
Posts: 1399
Location: Winnipeg, MB

PostPosted: Wed Mar 31, 2010 2:06 pm    Post subject: Reply with quote

NatureTM wrote:
Thanks guys.

I was just thinking about putting a magnet and hall effect sensor on the clock to eliminate the need for an ugly IR diode, but I worried about balance and vibration. I wonder if a hall effect sensor alone could detect the slot without the need for a magnet. Could I magnetize the platter?


I think that will work. Definitely with a small magnet but it might even be able to sense the slot.
Back to top
View user's profile Send private message Send e-mail
NatureTM
Semi Newbie


Joined: 27 Jan 2010
Posts: 9

PostPosted: Sun Apr 04, 2010 6:35 pm    Post subject: Reply with quote

Here's the video.

http://www.youtube.com/watch?v=oEaZCLntjqc
Back to top
View user's profile Send private message
Abysmal
Newbie


Joined: 23 May 2010
Posts: 1
Location: Toronto Canada

PostPosted: Wed May 26, 2010 1:04 pm    Post subject: Reply with quote

Any new updates on this project??
_________________
I've even made mods to myself..
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Cobra_Phil
Newbie


Joined: 13 Sep 2011
Posts: 1

PostPosted: Tue Sep 13, 2011 11:08 am    Post subject: Reply with quote

Here is a project on Kickstarter. It's a POV hard drive clock using a Microchip controller.
http://www.kickstarter.com/projects/680714141/hard-drive-ticktock-pov-clock
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Hacked Gadgets Forum Index -> New Projects Currently Being Developed All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2005 phpBB Group