I started recording things on Google Sites but editing a website, something I did for years, now seems so laborious. So I have migrated to Blogger to allow for ease of use (yours but mostly mine).
I hope to post numerous items about how technology is changing our lives this century. I'm glad you've found us.
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:
- YourDuino - http://arduino-info.wikispaces.com/SmallSteppers (spot on for handling this motor & driver including Arduino sketch)
- Utopia Mechanicus - http://www.utopiamechanicus.com/article/arduino-stepper-motor-setup-troubleshooting/ (note comments also)
- Arduino.cc - http://arduino.cc/en/Reference/Stepper (Stepper library used in nearly all sketches for this stepper)
- arduino.cc - http://arduino.cc/playground/Main/InterfacingWithHardware#Physical_Mechanical (more advanced stepper libraries)
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.
It looks like the max speed setting may be 200 or so small_stepper.setSpeed(200); (I have not seen an example higher, see http://arduino.cc/forum/index.php?topic=82009.0 for discussion)
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).
Projects using this stepper and controller:
- Bajdi.com - http://www.bajdi.com/joystick-and-2-28ybj-48-stepper-motors/ (basic usage)
- Bajdi.com - http://www.bajdi.com/wireless-control-of-2-stepper-motors/ (wireless control of two motors via a NRF24L01 RF link)
- Youtube - http://www.youtube.com/watch?v=uqk4I1q0JK4
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.
It looks like the max speed setting may be 200 or so small_stepper.setSpeed(200); (I have not seen an example higher, see http://arduino.cc/forum/index.php?topic=82009.0 for discussion)
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).
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).
Projects using this stepper and controller:
- Bajdi.com - http://www.bajdi.com/joystick-and-2-28ybj-48-stepper-motors/ (basic usage)
- Bajdi.com - http://www.bajdi.com/wireless-control-of-2-stepper-motors/ (wireless control of two motors via a NRF24L01 RF link)
- Youtube - http://www.youtube.com/watch?v=uqk4I1q0JK4
Subscribe to:
Posts (Atom)