Anne Barela's posts on electronics, including vintage, modern, and Internet of Things projects.
Sunday, August 12, 2012
28YBJ-48 Stepper Motor with Gear Reduction
I have browsed eBay to look for inexpensive items to hook up to my Arduinos. Having seen Adafruit carry a gear-reduced stepper (http://www.adafruit.com/products/858 $4.95 for the 5 volt unit), when I saw on eBay an identical motor with a ULN2003 driver board going for less than $4. I bought my first set for $3.79, a second a month later for $2.60 (both included shipping). They come in 12 volt and 5 volt versions. It is reported to have good torque for its size, but relatively slow motion (due to the internal gear reduction). These motors/drivers are apparently mass-produced (in China) for A/C units, fans, duct controls etc. which is why they are very inexpensive. They are nice in that they have two milled edges to connect to other things.
Looking for documentation, I found the following the most helpful if you are looking for interface information:
To save grief, you should note 1) Power the motor board from a separate power supply - the Arduino power is not enough (learned this after disappointment and reading). 2) The control board IN1, IN2, IN3, and IN4 sould connect to 4 digital pins on the Arduino (sequential is good but not required), then in your initialization, you will put them in slightly different order - for using Arduino pins 8, 9, 10, and 11 you declare as Stepper small_stepper(STEPS, 8, 10, 9, 11); (sequence 1-3-2-4) for proper sequencing.
If your motor vibrates but does not move, check your sequencing.
With the internal reduction gears, only telling it to do one (or a handful) of steps will not rotate it far, making you think it is not connected - fear not, set more steps. I like these packages - the driver is preassembled and it works with the Arduino stepper library. Each takes 4 pins so controlling several can eat up outputs. If you need to contaol many, perhaps an Arduino Mega would be a good choice but in theory you could connect 5 to a standard Arduino Uno (not connecting much else).