Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Stepper motor driver

Status
Not open for further replies.

rayyolanda

New Member
Hi All, I have some small stepper motors which I want to put into a small CNC project. The motors are Japan Servo Co. KH42KM2R053 1.2 Amp 3.1/2.3 Ohm 1.8 Deg step.
Can you give me some recommendations for driving these motors? I was thinking of using a PIC and tc4423 or 4469 with FETs. I really want to Microstep these motors. As I said this is a small setup but I want to have good accuracy. I don't want to discuss the mechanics just the electronics and maybe the driving software/controller interface.
I have looked at various chips and just want some advice.
I hope someone can help.
Thanks
 

Attachments

  • KH42K stepper motor.pdf
    73 KB · Views: 315
You might be better off using a driver with the microstepping already integrated. Can't remember parts, away from home, but they do tend to be surface mount, but would definitely do your current range.

you might want to look at **broken link removed**
 
Last edited:
Thanks moffy. That board looks great, just 2 things....lol.....I am not really an avr guy and those LMD chips are a bit expensive. I have been looking at the Linistepper. Looks good also.
Thanks...Ray
 
What about the allegro AL3977, dual full bridge with microstepping 2.5A and $8.30 from digikey. Have a look at the allegro range, you'll save in board complexity using an integrated device.
 
The AL3977 is very interesting. You are right, it will reduce complexity and therefore cost is similar, I will give this some serious thought. Can you tell be the advantage of running the motor as Bipolar instead of Unipolar?
 
Not really sure. Probably just reduces the voltage across the driver outputs by 1/2. Also a simpler motor winding, but that doesn't help if the motor is already unipolar/bipolar. Perhaps someone else can enlighten us. Had a look at the linistepper circuit diagram, can't immediately see how it does the microstepping, no apparent feedback of current. Guess I'm missing something.
 
Looks like the linistepper uses a resistor ladder arrangement to vary the bias on the drive transistors...remember this is a linear drive. Also I think the code does a software PWM to get more current step levels. I think dsPic is good at this....? There is no feedback that i can see, the current resistors just set the motor current baseline. I wonder how this affects torque?
 
Thanks. I'm so used to PWM steppers that my brain was out of gear! Actually I think my clutch has failed. Means it must disipate a lot of power.
 
ok...just did a little research on motors. Bottom line is....Bipolar has better torque but requires a H Switch (8 mosfets/transistors) to drive it as it only has 2 coils. Unipolar is easier to drive because it has 4 coils so with 4 transistors / mosfets you can control it.
 
Some good information on stepper drives and motors; https://www.electro-tech-online.com/custompdfs/2011/04/step101.pdf

For the driver/controller interface, all of the common software(Mach3, EMC2) output only a step and direction for each axis. It's a 5V or 0V signal. The step signal controls how fast and far the axis will move. And the direction determines, you guessed it, the direction/ rotation of the motor.

Unipolar will step slightly faster than bipolar. Bipolar has slightly more torque than unipolar. In the end it only matters what kind of motor you already have. But most people use the bipolar, even though they are a little more complicated if designing your own drivers. With the availability of ready made driver IC's why make your own drivers? Just one more complication to an already complex system. :)
 
Found an excellent articel: **broken link removed** . It details microstepping, the current waveforms, the need for mixed mode/fast decay, as well as the precision of the microsteps vs motor. Well worth the read.
 
Two great articles guys...wish I could find some good C code with current sense etc. Buy ready made is always an option.... nice to try to do something without just paying someone else, and cost is a consideration.
 
I understand about the cost issue. Still think though that an analogue closed loop for the current control is better than "C code with current sense", unless I misundertand your point.
 
Thanks moffy.
From what I read several of the "off the shelf" chips just use a lookup table for current change on the coils. The linistepper does this as well and uses a dac arrangement to bias the coil transistors together with some software PWM for 18 step. Microstepping seems to be a funny animal as well. At 16 steps torque is only 10% compared to a full step. So everything is a trade off. I wonder if a 1:16 gearing at full step would give better performance? Of course microstepping will give more smooth motion and possibly less resonance.

I would like to investigate a fast PIC with a Voltage comparator to sense current and using PWM to vary the duty cycle and therefore the current in the coils. This is really a very interesting subject.
 
I would like to investigate a fast PIC with a Voltage comparator to sense current and using PWM to vary the duty cycle and therefore the current in the coils. This is really a very interesting subject.

Something like that maybe OK for a single standalone motor. Just to make it move as an experiment. But if you are going to use it for something like CNC, you have to factor in, 'will it be compatible ' with the other software needed to move the machine correctly?

The Linistepper, is a mostly proprietary driver. You might be able to hack the code, but he didn't design the driver and code without a lot of trial and error. And if you search some of the surplus electronic places and Ebay the chips aren't that expensive.
 
What is the application? That's the most important data to determine the best method of diving the motor. :)

Microstepping will give you some accuracy increases over full step, but it's not the best way to get a higher positioning resolution if that is of prime importance.

Really we need to know details of your load, and speeds, and what positioning resolution will be acceptable.
 
I agree, it is a very interesting subject.
1. If you use gearing, you have to worry about backlash.
2. Microstepping, as Mr RB states will not necessarily give much greater accuracy, it depends very much on the motor e.g. the stp97-5.pdf. What it does provide is smoother motion, and a way to get around motor resonance problems, and associated torque issues.
3. Microstepping doesn't reduce the torque to 10%, that's only in 1 of the windings, the other should be around 90%. The Allegro chips maintain close to constant torque through all the steps.
4. Ran across the A3955, it's in a 16pin DIP (but only 1 full bridge), so is easier for prototyping purposes.
5. Recon the A3984 looks good. Put a heatsink on it though.
 
Thanks. Mr RB the app is basic CNC but it is all low weight so I don't think I will overload these small motors(47oz unipolar or 57oz bipolar). Full step will probably be good enough but of course microstepping will give the benefits you indicated. Speed is also not a bit issue so Bipolar with microstepping may be best.

Moffy...thanks again. I wanted this to be a simple project so direct drive, Bipolar, microstep with Allegro or similar sounds good. Just need to work out if these motors (1.2Amp, 2.3Ohm Bipolar and 4mH) are good with A3984 1.5Amp or A3979 2Amp or something else.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top