Hello,
I'm pondering the use of a servo or stepper motor with a hand attached to point to a status on a display that resembles an old clock (but with one hand only). Which motor should I use?
I know with servos I can set the angle of the hand. Will the hand sag or move if I cut power to the motor? The reason I ask is that this display will be up and running long periods at a time. I don't want to waste power when the hand may only move once every 15 minutes. I don't imagine the hand would be very heavy, probably your typical clock metal hand with some fancy design.
With stepper motors, I understand that they move in angled steps. How do I know what the overall angle of the hand is? Do I have to count steps to get/set the hand angle? If the power gets turned off on the Arduino, then turned back on, how would I not lose track of the current angle? Would there be any power issues here? (I wouldn't think so as a floppy drive uses these.)
Thanks for tolerating my newbness. I appreciate any feedback. :o
Howdy chrome123,
I'm actually planning on having the hand point to weather conditions loaded from a web service, using this link as a general reference for the art project: http://www.weather.gov/data/current_obs/weather.php
It would be a bit more generalized than the reference link above.
I think an inexpensive standard RC servo would work well in your application. The gearing in the servo should prevent it from sagging if the hand isn't too heavy.
Learning more about servos, I didn't realize many have a limited angle range. It seems that the RC variety (at least the type I was reading about) are "active", using current to try to hold their position, preventing them from being moved. I'll have to dig around to see if I can find a more "passive" (or whatever the official term is) servo. Or maybe I can force it to be passive through Arduino somehow. Another thing to look for is a good servo for 360 degrees of freedom, although there is use for limited angled ones as well. Thanks for the feedback mem.
chrome123, do you know if an endswitch is hardware or software based? I'm still looking into this. I like these servos for the simple fact I may be able to get some for free from old floppy drives. Although I haven't looked too far into additional hardware requirements yet.
One idea as far as servers go, would be to make a turned over coffee table display, removing the sag factor (which may not be a problem anyway)... although I don't know if that quite fits what I want just yet.
An end switch is usually a hardware switch, really sensitive (not a tact switch). You can find some on printers, for the carriage stop. Or eventually, you can use an optical switch, salvaged from a mouse (wheel encoders).
If you want to turn the arduino off but yet keep track of the angle, you can write a variable to the EEPROM. It won't be erased when you shut down the arduino.
RC Servos use a potentiometer to provide position feedback and these restrict the angle to much less than 360 degrees. The mod to remove this restriction disables the pot feedback so it continuously rotates at a speed proportional to the pulse width, not what you want.
Although the holding power of a servo is considerably reduced when power is removed, I think you will find there is enough friction in a cheap standard servo to do what you want. You should be able to find something like this http://www.gpdealera.com/cgi-bin/wgainf100p.pgm?I=FUTM0031 for $10 or so and its well worth trying if you can get away with 180 degrees or so of rotation
It's a little more costly, but seems useful for 360 degrees. I guess it also requires more power. So far I have no experience in managing current or providing an extra power source that won't interfere with the Arduino somehow. One thing I like about the servos is they require less wires.
To write to eeprom, there's a library in the original package (I guess)
Just #include <EEPROM.h>
then
EEPROM.write(address, value);
or
EEPROM.read(adress);
melka,
Awesome. I know I'll use that a ton on many projects.
chrome123,
Ouch. I can see that as a problem. Maybe there could be a reset button that clears everything and starts over when making manual adjustments. Thanks for the link. I can see how this could be helpful.
Thanks for that great info. What are your thoughts on the servo in this link?: Products | Acroname
It's a little more costly, but seems useful for 360 degrees. I guess it also requires more power. So far I have no experience in managing current or providing an extra power source that won't interfere with the Arduino somehow. One thing I like about the servos is they require less wires.
That looks like just the job for what you want. If it draws more current than your arduino can supply, you can always add a small external power source.