Hello,
I have a bipolar stepper motor with following specs:
Voltage: 12V
Current: 1.5A
Wires: 4
I am providing it 12V directly from a PC power supply. But the motor is not running.
Then I have tried running it from easydriver, but it is only vibrating according to the code and not moving. Here is the code:
[ltr][color=#313334][color=#808080]//////////////////////////////////////////////////////////////////[/color]
[color=#808080]//©2011 bildr[/color]
[color=#808080]//Released under the MIT License - Please reuse change and share[/color]
[color=#808080]//Using the easy stepper with your arduino[/color]
[color=#808080]//use rotate and/or rotateDeg to controll stepper motor[/color]
[color=#808080]//speed is any number from .01 -> 1 with 1 being fastest - [/color]
[color=#808080]//Slower Speed == Stronger movement[/color]
[color=#808080]/////////////////////////////////////////////////////////////////[/color]
[color=#808080]#define DIR_PIN 2[/color]
[color=#808080]#define STEP_PIN 3[/color]
[color=#f63333]void[/color] setup[color=#66cc66]([/color][color=#66cc66])[/color] [color=#66cc66]{[/color]
[color=#000066]pinMode[/color][color=#66cc66]([/color]DIR_PIN, [color=#000000][b]OUTPUT[/b][/color][color=#66cc66])[/color];
[color=#000066]pinMode[/color][color=#66cc66]([/color]STEP_PIN, [color=#000000][b]OUTPUT[/b][/color][color=#66cc66])[/color];
[color=#66cc66]}[/color]
[color=#f63333]void[/color] loop[color=#66cc66]([/color][color=#66cc66])[/color][color=#66cc66]{[/color]
[color=#808080]//rotate a specific number of degrees [/color]
rotateDeg[color=#66cc66]([/color]360, 1[color=#66cc66])[/color];
[color=#000066]delay[/color][color=#66cc66]([/color]1000[color=#66cc66])[/color];
rotateDeg[color=#66cc66]([/color]-360, .1[color=#66cc66])[/color]; [color=#808080]//reverse[/color]
[color=#000066]delay[/color][color=#66cc66]([/color]1000[color=#66cc66])[/color];
[color=#808080]//rotate a specific number of microsteps (8 microsteps per step)[/color]
[color=#808080]//a 200 step stepper would take 1600 micro steps for one full revolution[/color]
rotate[color=#66cc66]([/color]1600, .5[color=#66cc66])[/color];
[color=#000066]delay[/color][color=#66cc66]([/color]1000[color=#66cc66])[/color];
rotate[color=#66cc66]([/color]-1600, .25[color=#66cc66])[/color]; [color=#808080]//reverse[/color]
[color=#000066]delay[/color][color=#66cc66]([/color]1000[color=#66cc66])[/color];
[color=#66cc66]}[/color]
[color=#f63333]void[/color] rotate[color=#66cc66]([/color][color=#f63333]int[/color] steps, [color=#f63333]float[/color] speed[color=#66cc66])[/color][color=#66cc66]{[/color]
[color=#808080]//rotate a specific number of microsteps (8 microsteps per step) - (negitive for reverse movement)[/color]
[color=#808080]//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger[/color]
[color=#f63333]int[/color] dir = [color=#66cc66]([/color]steps > 0[color=#66cc66])[/color]? [color=#000000][b]HIGH[/b][/color]:[color=#000000][b]LOW[/b][/color];
steps = [color=#000066]abs[/color][color=#66cc66]([/color]steps[color=#66cc66])[/color];
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]DIR_PIN,dir[color=#66cc66])[/color];
[color=#f63333]float[/color] usDelay = [color=#66cc66]([/color]1/speed[color=#66cc66])[/color] * [color=#ff33ff]70[/color];
[color=#a1a100]for[/color][color=#66cc66]([/color][color=#f63333]int[/color] i=[color=#ff33ff]0[/color]; i < steps; i++[color=#66cc66])[/color][color=#66cc66]{[/color]
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]STEP_PIN, [color=#000000][b]HIGH[/b][/color][color=#66cc66])[/color];
[color=#000066]delayMicroseconds[/color][color=#66cc66]([/color]usDelay[color=#66cc66])[/color];
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]STEP_PIN, [color=#000000][b]LOW[/b][/color][color=#66cc66])[/color];
[color=#000066]delayMicroseconds[/color][color=#66cc66]([/color]usDelay[color=#66cc66])[/color];
[color=#66cc66]}[/color]
[color=#66cc66]}[/color]
[color=#f63333]void[/color] rotateDeg[color=#66cc66]([/color][color=#f63333]float[/color] deg, [color=#f63333]float[/color] speed[color=#66cc66])[/color][color=#66cc66]{[/color]
[color=#808080]//rotate a specific number of degrees (negitive for reverse movement)[/color]
[color=#808080]//speed is any number from .01 -> 1 with 1 being fastest - Slower is stronger[/color]
[color=#f63333]int[/color] dir = [color=#66cc66]([/color]deg > 0[color=#66cc66])[/color]? [color=#000000][b]HIGH[/b][/color]:[color=#000000][b]LOW[/b][/color];
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]DIR_PIN,dir[color=#66cc66])[/color];
[color=#f63333]int[/color] steps = [color=#000066]abs[/color][color=#66cc66]([/color]deg[color=#66cc66])[/color]*[color=#66cc66]([/color]1/0.225[color=#66cc66])[/color];
[color=#f63333]float[/color] usDelay = [color=#66cc66]([/color]1/speed[color=#66cc66])[/color] * [color=#ff33ff]70[/color];
[color=#a1a100]for[/color][color=#66cc66]([/color][color=#f63333]int[/color] i=[color=#ff33ff]0[/color]; i < steps; i++[color=#66cc66])[/color][color=#66cc66]{[/color]
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]STEP_PIN, [color=#000000][b]HIGH[/b][/color][color=#66cc66])[/color];
[color=#000066]delayMicroseconds[/color][color=#66cc66]([/color]usDelay[color=#66cc66])[/color];
[color=#000066]digitalWrite[/color][color=#66cc66]([/color]STEP_PIN, [color=#000000][b]LOW[/b][/color][color=#66cc66])[/color];
[color=#000066]delayMicroseconds[/color][color=#66cc66]([/color]usDelay[color=#66cc66])[/color];
[color=#66cc66]}[/color]
[color=#66cc66]}[/color][/color][/ltr]
Regards