I'm working on a collaborative art project with my wife SuperArtGirl.
It involves me needing to come up with lights and propeller control for a little airplane art.
Luckily I still have some salvaged *cough* hoarded *cough* hard drive motors from the olden days of spinning storage.
So the thought goes kinda like this: "how hard can it be? just turn on the motor and voila! done!"
But these motors are a little bit more sophisticated than that - you can't just hook up a + and - wire and have it run. It has 4 pins, one of which is common, plus 3 phases for the motor.
You then have to energize the phases in sequence, with exactly the right amount of time apart, to make it spin.
And you can't just set it to a fast kind of pace to start with, as it needs time to ramp up the speed. So you have to start with a bigger time delay (more time each phase is energized), and then as the motor speeds up you can decrease the delay little by little until you hit maximum speed, after which the motor kinda stalls if you try to go faster.
I'm guessing the maximum speed, as well as the startup speed, heavily depends on the input voltage.
However; I found it's possible to power it directly off the Arduino output pins if you go gently with the startup sequence.
It gets more oompf to startup better and run faster by using transistors though - which I'm guessing is also better for longer life of the Arduino. Plus you can switch to a higher voltage power source later if desired.
Here is a little movie of one of my earlier attempts:
It's a bit rough at startup, and then at the end my timing tries to make it faster than it can handle
I later found a Wiki article that described the use of slightly overlapping phases to provide a smoother start.
On the other hand, those old airplanes are pretty rough at startup too, aren't they?
I'll try to cleanup and github my code soon, and then I'll attach it here too.
Stay safe and have fun out there!
-Nico
Top Comments