I bought 4 motors stated above and they are well under powered for what I need. I found Jangeox's blog and I have cut two motors as described.
I have used two H-bridges,
2 power supplies,
2 motors and
2 Arduino boards with three different sets of code.
I have swapped all wires in every possible combination from board to H-bridge and bridge to motor. The best I can do is the motor vibrates and turns VERY slowly and weak.
Please help me.
Motor readings in ohms
blue to yellow, 44
blue to red open
yellow to red open
pink to orange 44
pink to red 22
orange to red 22
28BYJ-48 stepper motors are usually controlled using a ULN2003 driver,
If they don't have enough torque when powered like that I reckon you need a different stepper motor (and a suitable driver), not a h-bridge for the 28BYJ-48
How are you powering the steppers - what voltage and where is it coming from? (Not from the Arduino 5v pin, I hope)
eightball009:
I bought 4 motors stated above and they are well under powered for what I need. I found Jangeox's blog and I have cut two motors as described.
I have used two H-bridges,
2 power supplies,
2 motors and
2 Arduino boards with three different sets of code.
I have swapped all wires in every possible combination from board to H-bridge and bridge to motor. The best I can do is the motor vibrates and turns VERY slowly and weak.
Please help me.
Motor readings in ohms
blue to yellow, 44
blue to red open
yellow to red open
pink to orange 44
pink to red 22
orange to red 22
use blue+yellow as A winding
use pink+orange as B winding
Your 5 wire motor seems to have already been adapted for bipolar use - the red wire isn't connected
to both centre-taps.
Since the motor is designed for 5V unipolar use, as a bipolar motor it needs more like 10V - I bet you're trying to
use 5V?
I have the trace between the coils cut and the red wire is not connected so the high coil will not ground out at the 3 other low pins.
I was originally using a a battery pack at 7.4 VDC and wasn't getting anywhere. I have one motor connected and I got the best results from the 5vdc rail off the board but something was getting hot so I found a 12vdc wall power supply and started using that and will use it till I can get something to work and then I will go back to the battery pack.
It feels like the motor is vibrating like it is trying to move opposite directions every other command.
Robin2, the reason I am going this route is I have a tight budget and trying not to spend to much.
You can use a higher voltage (and hence more current) with a ULN2003 - though I have not checked what its limits are.
However, whether you use a h-bridge or a ULN2003 there is the same upper limit to the current (and hence the torque) that the motor can take without overheating and letting the smoke out.
I could see some possible value in using a specialized stepper driver such as an A4988 as it has the ability to limit the current from a high voltage supply so as to protect the motor. But that, presumably, would violate your budget constraint.
Using a higher voltage should give you more torque at higher speeds.
Right now I will be happy with a motor that turns, this project doesn't have to work for much more than about 20 minutes, if that long.
My battery pack is the same as what is on the Elegoo robot car V2, 7.4vdc 4400mA/H and the wall power is 12vdc 2amp 24W that I will use if I need
These are two of the codes I was using.
Please, I will be happy with a motor that turns no matter what kind of power consumption. As long as there is enough power to run two at once I don't care about power, as long as the magic smoke stays on the inside.
/*
Stepper Motor Control - one step at a time
This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 - 11 of the Arduino.
The motor will step one step at a time, very slowly. You can use this to
test that you've got the four wires of your stepper wired to the correct
pins. If wired correctly, all steps should be in the same direction.
Use this also to count the number of steps per revolution of your motor,
if you don't know it. Then plug that number into the oneRevolution
example to see if you got it right.
Created 30 Nov. 2009
by Tom Igoe
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one step:
myStepper.step(1);
Serial.print("steps:");
Serial.println(stepCount);
stepCount++;
delay(100);
}
#include <Stepper.h>
const int steps = 500;
Stepper motor (steps, 3,4,5,6);
void setup() {
Serial.begin(9600);// put your setup code here, to run once:
}
void loop() {
motor.step (steps);
delay(1000);
motor.step(-steps);
delay(1000);// put your main code here, to run repeatedly:
}