Pages: [1]   Go Down
Author Topic: Controling a 3.6V 1.2A Unipolar stepper motor  (Read 1533 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi  smiley
I want to control a 3.6V 1.2A stepper motor,
I have an Arduino Uno R3, a breadboard, and all necessary components (including an L9110 H-Bridge)
The problem is that I can't find any solution of providing 1.2A of current to the motor through the Arduino nor the H-Bridge (It supplies a maximum current of 800mA)
How can I get the necessary current without using an external power supply? (I don't have any external power supply which will suit the project)
Thank you in advance!
Logged

0
Online Online
Shannon Member
****
Karma: 207
Posts: 12195
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That's rather low impedance for a unipolar stepper - how many wires?  Which motor?
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The motor has 6 wires, it is a 200 step motor, 103H548-0471 which is similar to 103H548-0440:

http://il.farnell.com/sanyo-denki-sanmotion/103h548-0440/stepper-motor-1-8deg-3-6v/dp/9948260

I would really appreciate your help..
Thanks!
Logged

Quebec
Offline Offline
Jr. Member
**
Karma: 3
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You will need an external supply, the arduino onboard regulator cannot provide 2.4A (max current when both phases are on), nor does the USB port.

If you want to use this motor in unipolar mode you can just drive each phase with a darlington (just like with an uln2003) or fet.
If you want to drive it like a bipolar motor you'll need a driver like a Pololu DRV8825 (or a Gecko G250X, that's more expensive but professional quality)
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
I have a few ULN2003s laying around smiley
I just want to clear things out:
If I want to operate the motor in unipolar mode, can I supply the voltage through the arduino (3.3v or 5v through some resistors and diodes) and supply the current throught the arduino as well, but through a darlington array such as the ULN2003?
If I do that I don't need an external power supply?
Thanks!
Logged

0
Online Online
Shannon Member
****
Karma: 207
Posts: 12195
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

1.2A is too much - you need an external supply.
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK, so what can I use?
I have a 12V 2A power supply laying around, will it suit the project? If so, how do I convert the 12V to 3.6V?
Thanks!
Logged

Quebec
Offline Offline
Jr. Member
**
Karma: 3
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you're using simple transistors in unipolar mode, you must use a supply that'll deliver the exact needed voltage (if using darlingtons, voltage across the transistor could be 1.5V so a 5V supply would work)
If you're using a stepper driver then you can use a 12V or more supply, the driver chops the input voltage to limit the current to a desired value.
Using a driver (like the Pololu DRV8825) is recommended if you want the best performances (speed/torque) but it really depends on what you want to achieve.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you for the answer,
can I use the ULN2003AN to drive the motor, and use the 3.3V from the Arduino and transfer it through a few darlington transistors as a power source?
I also saw somewhere that you can connect 2x ULN2003AN in darlington and double their output current..is that possible? can I use that to power the motor?
Thanks
Logged

Offline Offline
Faraday Member
**
Karma: 65
Posts: 2529
Now, More Than Ever
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

$63 !

Forget all that ULN stuff. 
Get some logic-level MOSFETs (IRLZ44, STP40NF10L.)

For motor supply use 3 NiMH batteries (1.2V ea.)
Logged

"Hello, I must be going..."
"You gotta fight -- for your right -- to party!"
Don't react - Read.
"Who is like unto the beast? who is able to make war with him?"

Quebec
Offline Offline
Jr. Member
**
Karma: 3
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes you can connect darlingtons in parallel but you better get bigger ones instead (unless you have a few unused ones of course).

And you HAVE to use an external supply, the arduino cannot push the current needed for your motor.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hey guys thank you so much!
I found a suitable power supply and the motor runs perfecly! really smooth and powerful  smiley
but I have a problem with the software I saw somewhere, the motor keeps shaking like crazy and jiggling back and forth when running this program:

#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 200

// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);

void setup(){ }

void loop()
{
  stepper.setSpeed(10);
  stepper.step(100);
  stepper.step(-100);

  delay(500);

}

I should say it works perfectly by using another program, I just want to know what is the problem with this program
can you help me solving this?
Thanks!
« Last Edit: June 24, 2013, 08:59:52 am by gfh_gfh1 » Logged

Quebec
Offline Offline
Jr. Member
**
Karma: 3
Posts: 78
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This program is supposed to turn the motor 100 steps in one direction, this should be a half turn if your STEPS define is correct, then another half turn in the opposite direction, wait a bit and do it again.

Have a look at the definition Stepper stepper(STEPS, 8, 9, 10, 11);
if it isn't the same in the other program that works, just use the same settings.
Logged

Pages: [1]   Go Up
Jump to: