To do that I use Darlington Array ULN2064b 50V/1.5A.
when I drive the first motor, the ULN is very hot, that's why I decided to add heatsink and fan and the result is OK.
But when i try to drive the second one with another ULN this one burn! and I don't know why.
Those motors are designed for 1amp and 1.2amps and the coil resistance is 6.7 and 3.3 ohms respectively. With a 24v supply the current will be 24/6.7 and 24/3.3 = 3.6 and 7.3 amps. That will damage the motor, never mind the driver.
If it was a bipolar motor I would suggest using, for example, a Pololu DRV8825 driver which allows you to limit the current to protect the motor. However I don't know if there is an equivalent for a Unipolar motor.
I am assuming your motors only have 5 wires (rather than 6).
Could you please tell me why the use of a 24VDC will damage the motor whereas on the datasheet of the motor this is noted that this is a 24Vdc motor?
Concerning the DRV8825, the motors I use have 6 wires, is that possible to transform them to bipolar by not using the common point of each coil?
If yes, I don't know if the DRV8825 will be enought because it is done for 2.5A/coil?
I presume 24v is mentioned because it will make the motor perform well. But things must be arranged to keep the current below the limit for the motor - the specialized stepper drivers can do that. Without a current limit the full 24v will appear across the coil resistance when the motor is stationary.
I don't know where you got the figure for 2.5amps per coil. Your Original Post and the datasheet (IIRC) say 1.0 and 1,2 amps.
It should be possible to run the motors as 4-wire bipolar motors. It would be wise to measure the resistance of the coils. It is possible that the datasheet figures are for each half-coil. In any case I would set the current limit on your DRV8825s to 1.0 amps and 1.2 amps for the relevant motors.
One guy told me that the DRV8825 is not ok with my motor because the DRV8825 is capable of driving up 2.5 A of current at 24V and my motor is 1A/phase 6.7ohms/phase!
I don't know if he's right, but if yes, I really don't understand driver because I thought that If it's able to limit the current you can supply it with 24V
ELECTO:
because the DRV8825 is capable of driving up 2.5 A of current at 24V
That means it would be suitable for a motor that needs 2.5 amps. It does NOT mean that it would cause a problem for a motor that only needs (say) 0.25 amps.
Having the capability for a high current is never a problem.
As @jremington said, the Pololu web site has very good information about their stepper drivers.
But yesterday, I tried to drive the first motor, still with a new ULN2064, but this time with 6.7V (1A x 6,7Ohms) just to move the motor slowly and validate the theory.
Unfortunately, nothing happened, I thought that my motor was dammaged due to my previous tests, but when I measured the coil resistance they where OK (not infinite).
Lets have a look to my sequence code:
while (1)
{ PORTC = 0b00000011;
Delay_ms(500);
PORTC = 0b00000110;
Delay_ms(500);
PORTC = 0b00001100;
Delay_ms(500);
PORTC = 0b00001001;
Delay_ms(500);
}
I attached a schemas of what I made.
Yes I did.
As I said at the beginning of my post, I tried to drrive the motor using the same schema but with 24Vdc supply voltage (I was really wrong!), but the motor turn perfectly and after several tests the ULN2064 burn.
So I did another test at 6.7V (based on the datasheet of the motor, 1A/phase and 6.7Ohms/phase) with a new ULN2064, but nothing happened.
Have you checked the voltages at the Arduino pins, double checked your circuit (continuity
testing with a multimeter is sometimes useful), and checked all your high current wiring
is solid (a dodgy connection might work for logic but fail at several amps). Bear in mind
these currents are larger than a breadboard is designed for.
Incidentally most steppers are either high impedance or low impedance, 6 ohms is somewhere
in the middle, rather difficult to use for unipolar low speed applications or high speed bipolar
applications.
If you want high speeds, go for low winding resistance (1 or 2 ohm sort of area), if you want a slow
motor get a unipolar 12V motor (5, 6 or 8 wire, not 4), which will be about 50 ohms sort of range.
I increase the delay between the steps in order to do some measurment (from 500ms to 2sec), when I power the circuit, I measure 6.7V between pin2 of the ULN2064 and GND, which is normal, and when I press the button to start moving the motor, I measure 0V still between pin2 of ULN2064 and GND, that seems normal to me.
But when I check on pin 7, 9 and 16 of ULN I also measure OV which is not correct.
Normally, I should have 0V on pin 2 and 7 and after 2 sec I should have 6.7V on pin 2 and 7 and 0V on pin 7 and pin 9 and so on, Iam I wrong?
I received the DRV8825, the wiring seems simple, but I will ask maybe a stupid question but I don't want to burn it.
my motor is unipolar with 1A/phase and 6.7ohm/phase, I saw on polulu forum that the DRV8825 is compatible and I just have to not connect the common wires.
So the winding resistance is now 13,4ohm/phase, but my current motor limit is it still 1 A?
If yes, I don't understand how to set on the drv8825 1A limit?