stepper motor

fred_b

Member
I am using a ULN2803 darlington array and a picaxe 08 to drive a stepper.

I have managed to get it to turn but it seems like there is almost zero torque. Just lightly touching it with my finger will stop it.

The motor was advertised as a 12v 1.8 degree step. The datasheet does not seem to have the exact model number shown on the motor..

Stepper: shinano STP-42D241 , datasheet for the STP42 series: http://www.shinano.com/xampp/docs/SST42D.pdf

I am powering it with a 12 volt, 300mA rated wall wart.

I determined the motor wiring by connecting various wires to the multimeter, set to ohms:

orange/brown: 6
orange/black: 3
brown/black: 3

red/yellow: 6
red/white: 3
white yellow: 3


Code:
stepdemo: 
for b0=1 to 10 'CW rotation
pulsout 0,5000: pause 10 ' Pin 0
pulsout 1,5000: pause 10 ' Pin 1
pulsout 2,5000: pause 10 ' Pin 2
pulsout 4,5000: pause 10 ' Pin 4
next b0
for b1 = 1 to 10 'C-CW rotation
pulsout 4,5000: pause 10 ' Pin 4
pulsout 2,5000: pause 10 ' Pin 2
pulsout 1,5000: pause 10 ' Pin 1
pulsout 0,5000: pause 10 ' Pin 0
next b1
goto stepdemo

Can anyone spot any errors? Maybe this is a 24 v motor and my power supply is just weak. The voltage on the supply actually reads higher than 12, more like 15 volts.

Thank you
 

Attachments

lanternfish

Senior Member
Hi & happy new year.

Looking at the datasheet you probably have a STP-42D2041.

Each winding of the stepper motor will draw 400mA when active. This is 100mA more than the wall wart can supply.

I suggest you get a meatier supply for the stepper motor.

Cheers
 
Last edited:

fred_b

Member
more power added

I found another wall wart and combined them. Both are rated at 300mA.

Did not seem to increase the torque at all.
 

fred_b

Member
I thought maybe the darlington chip may be bad so I swapped it out. I then noticed that it gets very hot with 3 seconds of power up.

So I took one of the wall warts off. The chip still is overheating. Checked all of the wiring.
 
Last edited:

manuka

Senior Member
fred_b: That code in fact arose from my ~2007 insights with some Electronic Goldmine sourced micro-power steppers . These little US$2 darlings have coil resistances of ~120 Ohms, & when run off a few AAs draw correspondingly near trivial currents-as a party trick I even run them directly off 08M pins.

Such simplicity was behind my chasing them up in fact,as I'd long found folks (keen to experience stepper actions) were often turned off by their demanding driving hardware needs. For ~30 years we've heard about the magic of stepper motors, & rescued ones abound, but the frustration experienced trying to drive them can be mighty discouraging! Before user friendly micros (especially PICAXEs) it was a real pain. & certainly not kids stuff. I recall final year tertiary students were once the exalted ones considered experienced enough to learn the knowledge...

It certainly looks as if that stepper of yours is far too power hungry for the driving setup. A 6 wire type should offer unipolar/bipolar versatility of course - have you tried alternative wiring? Just what is your stepper application? Stan.

Extra: One assumes this stepper is in good/new working condition & is not a possibly damaged item?
 
Last edited:

westaust55

Moderator
Hi fred,

The ULN2803 has a drive capacity of 500mA per output.
http://www.datasheetcatalog.org/datasheets/90/366828_DS.pdf

At 400mA drive, that is 80% of the transistor Collector current rating and they will as a consequence get hot.

I am doing some experiments right now with a 3 Volt 3 Ohm 1.8degree/200 step Bi-polar motor using a L293D chip - 600mA rating.
Running at 4.5V and using series resistors to limit the current to 400mA (with a consequent reduction in torque) even at those currents 400mA versus 600mA rating the L293D gets warm (but not hot).
Also experimented with only keeping the stepper motor windings long enough (5msec) to move but not hold and the driver chip does not even get warm.

Also been running with half stepping for 0.9deg/400step revolutions.

It will ultimately depend on your actual torque requirements as to what you may be able to do.
- Series resistors will reduce heating but also reduce torque
- If you have a 6 wire unipolar you can run as a bi-polar motor where the entire coil (not half) is energised - that should increase torque.
- fit a heatsink to the ULN2803 to keep it cooler - may not be easy
- Buy a higher current rated controller/driver chip which will likely still require a heatsink to dissipate.
 
Last edited:

fred_b

Member
have you tried alternative wiring? Just what is your stepper application?
I have only tried unipolar wiring. I don't have an L293D chip which I think I would need to wire it for bipolar.

Eventually I want to build a camera panning head for a timelapse camera.
 

fred_b

Member
Success!

After carefully checking all connections again, I found the problem with the torque.

One of the prongs on the 18 pin darlington had bent over underneath. I didn't see it when I soldered the board. I got the connected and have good torque now.

Can you parallel up the drivers in the ULN2803?
It is still getting hot. I thought about that but I was hoping to use the chip to drive two motors. (planning on a larger picaxe too)

I suppose it would help if I put a delay between pulses to give the chip a 50% duty cycle.
I'll try that too.

Thanks
 

lanternfish

Senior Member
Can you parallel up the drivers in the ULN2803? That should stop it getting so hot.
Yes - sort of. I have been trying to locate an article I once read about this. Sorry no luck so I will have to go from memory.

The idea is to stack two or more 2803 on top of each other. Can also be applied to L298's (I think).
 

westaust55

Moderator
If the available torque is now plentiful, then as an alternative to a higher current rated driver IC, there is an option to add a series resistor to limit the current slightly so the driver as I mentioned previously.

In theory, one does not in general remove the power from a stepper motor so it acts like a brake to hold position against mechanical forces. But if your driven item/load does not have mechanical forces the can rotate the stepper motor when it is not energised then by all means incorporate a duty cycle into the power. As I mentioned earlier, I found that an "on" duration of 5msec was ample to get my stepper motor to advance to the next position - what duration any particular motor requires as a minimum is dependent upon the load torque requirements.
 
Top