586,094 active members*
4,177 visitors online*
Register for free
Login
Results 1 to 16 of 16
  1. #1
    Join Date
    Mar 2004
    Posts
    37

    Post Are all steppers microsteppable?

    The question I have pertains to microstepping. I started playing with stepper motors after my son got into robotics at school. For a great learning experience my son and I decided that we would design and build a small CNC completely from scratch. Electronics, hardware everything. This site fell right in place with us for a lot of the mechanical ideas and the DIY agenda in progress. For us electronics came first. To begin we designed and put together a microstep stepper controller using a PIC micro, dual H-bridge drivers with chopper current feedback control. Step/Dir inputs so it can be used with TurboCNC. We did not use any of the availble integrated circuits that most hobbiest drivers use, such as the LMD18245 or the L297/L298 combo. Our H-bridge circuitry is scaleable to whatever our current and voltage requirements are and we learn from building it. Right now we are using IRF2804 NMOS FETS in the bridge as I have lots of them and they are very robust. They have excellent surge capability as they are meant for automotive applications and low RDS on. They can handle 168 A @ 40volts. Kind of overkill when all I need is 2 A at 30 volts but oh well.

    Anyways now the problem. The only stepper we have obtained so far is an old? Minebea 28BB-H129-51, 4.1 volt 2 ohm 7.5 degree per step stepper. I say old because I cannot find any information on it at all. Its microstepping performance is rather strange. Using a 32 step pure sine wave phase drive waveform the microsteps are not equidistant at all. We find that the microsteps move dramatically at the begginning and then nothing towards the end. ie step 1 moves almost 20%, step 31 almost nothing. To determine if our microstepping circuitry and firmware was working properly we devised a test using a dual variable voltage current limited power supply and a laser pointer. One power supply drove winding A and the other winding B The laser pointer was glued perpindicular to the shaft of the motor. Since we are trying to see extremely small changes in rotation the laser pointer was used to shine on a wall 15m away. Any rotation of the motor would easily be seen as a movement of the point on the wall. At 15m we would see a 0.5m movement of the light as the motor was moved from step 0 to step 31. We applied voltages to the windings in a pure sinewave fashion and found that the motor moved very inconsistantly. With a sinewave drive waveform Step 0 will have winding A full on and winding B off. Step 1 will have winding A at 99% and winding B at 5% and so on. We found that with even the smallest of voltages in winding B the motor would jump from no rotation to 20% rotation. It seems that we are breaking some kind of holding flux. As the step number was incremented we found that the motor was almost completely rotated when step 14 was reached. This means winding A is at 77% and winding B is at 63%. Incrementing the step from 15 to 31 meant no further movement in the motor. At Step 32 Winding A is off and winding B is full on. At Step 33 when winding B drops to 99% and winding A starts to rise again to 4% the motor would again make its big jump in movement.

    There are other methods to drive the windings in something other than a pure sinewave. To keep the holding torque higher the current in winding A is held full on from steps 0 to 15 while the current in winding B is incremented in a sinewave format. From step 16 to 31 the current in winding B is held full on while the current in winding A is reduced in a sinewave format. Using this modified drive waveform the motor responded exactly the same.

    So my questions are
    Are all steppers really meant to be microsteppable?

    Has anyone really checked to see if their microstepping controller is really giving equidistant microsteps? Do they really care?

    Can we expect all steppers to behave like this even though the therory says they should not?

    I notice that some drive controllers apply harmonics to the drive waveform or have the ability to change the phase voltage relationship between winding A and winding B to possibly take care of some the problems we are seeing. Is this true?

    I know this may be a deep discussion but it would nice if anyone had any information with respect to our situation.

    In the meantime I guess I have to find another stepper motor to test with.

    We want to get involved with the opensource project and provide the details of the stepper controller if anyone is interested but first we want to prove that it works well.

    BTW the controller will also beable to control a Servo motor as the circuitry to drive a servo motor is the same as a stepper motor with a quadrature position feedback input. We have already used our controller to control the speed of a DC motor with an analog speed ouput. Stolen from a very old harddisk, anyone remember an RK05?

    Cheers

    Greg

  2. #2
    Join Date
    Apr 2004
    Posts
    678
    I also considered full or half step good enough based on the accuracy I need. And I still do.

    But then I found out that this is not the reason I need microstep. The lower noise and a smoother drive is the reason. On the drives I have, I can turn a switch to set it from full step to 1/20 step, and the higher step ratio I set the smoother the motor moves. Less noise and less mechanical strain. The violence of the dreaded resonance at certain speeds is greatly reduced. At full step it really does a fair effort to rattle everything apart. Question is if it's worth it when cost and simplicity is important. I argue that it is, because it allows you to build the mechanics less rigid and bulky (and expensive).

    I have tried mixing motors and drives to find a combination that also have a movement equal to the theoretical as you mention. It is not possible with my motors and drives. And they cover a wide choice of sizes and brands. I talked to Phytron (one of the manufacturers). Their support person is a very nice guy! He spent considerable time to write me a mail explaining why the behaviour is as I (and also you) observed. As I wrote, I don't really need the resolution of microstepping. It is not there anyway, as the motor acts like a "spring" around the commanded position. But this non-uniform movement also means there is some harshness that would notbe there had it been perfect. It can be made closer to perfect, but it is really a matter of cost and tradeoffs. Most producers put more effort into getting more torque from the size and weight. I agree on this being high priority.

  3. #3
    Join Date
    Mar 2004
    Posts
    37

    Wink

    Thanks for the reply. I agree immensely that microstepping is better for smoothing out the movement as opposed to getting infinite motor resolution that really is not there. Half stepping with my motor has perfect spacing. Anything greater is not. With 32 microsteps the movement is very smooth even with the non equidistant steps. Full stepping with this motor is a major clunk at 7.5 degrees and it bounces around the table top with each step. To help ourselves out we created a non uniform step table that spaces out the microsteps a lot better. The table is not sinusoidal, its more like an S curve.

    As an added test we sacrificed an old 5 1/4 floppy drive and took the little 200 step 70 ohm unipolar motor from it. Guess what it also did not have equidistant steps and an operation completely different from my large motor. Laser pointers sweeping a very large arc really lets you see the movement. 30m this time to get better accuracy.

    The results is that if someone really wants to play and they are creating their own controller like we are they can create a microstep table specific for the step motor they are using. Engineering has taught me that therory says one thing but reality and practicality always says something else.

    If I want better more controlled resolution the next step will be servo motors but for now steppers are good enough.



    Cheers

  4. #4
    Join Date
    Sep 2003
    Posts
    25
    Hi there,

    I've made a few motor controllers and can tell you that when microstepping, the half steps are between the full steps, but going to quarter or eigth steps removes equa-distant nature of the microsteps.

    If you are interested in why this occurs, you should read about detent effects in the motor. One source is http://www.cs.uiowa.edu/~jones/step/micro.html

    Hope it helps!

  5. #5
    Join Date
    Mar 2004
    Posts
    37

    Wink

    Excellent information there Apollo! Thank you very much. I have read the sections on stepper motor physics and microstepping. It is nice to see that what we saw was real and explainable.

    I glanced at the section the author had on control circuits and he has some good control ideas in there that we will try. Any recommendations on watchouts or potential gotcha's you encountered would be greatly appreciated.

    Presently we are using a simple fixed off time chopper control, using the micro as the timing/ control circuit and opamps and comparators to sense the overcurrent condition feed as an input to the micro. The variable current limit is set by the micro using the PWM outputs, allowing us to set the current level for each microstep of the motor for each winding. The PWM is 8 bits givings us theoretically 256 distinct levels. I would say we actually get about 64 different levels. The current level values are read from a table allowing us to tailor the current levels to something other than a pure sinewave to give us the "more" equidistant steps we want. We will experiment a little more before committing the circuit to a PCB.

    Questions we want to answer

    High side drivers PMOS or NMOS - presently NMOS, probably will layout to support either.

    If NMOS do we use a floating high side driver like the IR2110 or do we use the discrete implementation like we are using now. Discrete is quite robust? In the past I have found the IR2110 to be quite weak and easily latched up to destruction. IR2110 are also not cheap considering each motor controller will need 4. There are also Full bridge drivers to look at. All in all lots of fun.


    Cheers

  6. #6
    Join Date
    Sep 2003
    Posts
    25
    It sounds like you are on the right path with your design. On thing you should watch out for: make sure you have precautions in place to protect your circuit from invalid control signals. If you're just using low currents you might not do too much damage, but if you do, starting over again making a new board really slows you up and does a number on the pride, also.

    As for the PMOS vs NMOS, that will really depend on how you are approaching things. PMOS have to be much bigger than NMOS to handle the same current, which is why most driver ICs uses NMOS in their design. However, if you're doing a discrete implementaion, you probably don't care too much about size, you'll use a discrete FET eitherway. It comes down to what you can get for a Vgs, an Rds, and how complicated your drive circuitry will have to be. I see people often using PFETs when driving directly from a microcontroller. Personally, I would steer clear of the IR2110 initially. See if you can't find something simpler, unless you really plan on driving monster steppers.

    It sounds like you are still in the prototype stage. Are you doing it all off of a breadboard? I've started to make PCBs for all of my prototypes now-a-days. Anyhow, I'd be interested to learn more about the route you're thinking of taking. Sounds like you're about to get waist deep in it, lots and lots of fun!

  7. #7
    Join Date
    Mar 2004
    Posts
    37

    Wink

    Thanks for the input. Yes those invalid states can cause great havoc. Test, test and more testing as I say. The last thing I want is to let the smoke out of the chips. As we all know we need to keep the smoke inside so they work properly.

    The design is on a breadboard at this moment. I will commit it to a PCB. The good thing is that I have a PCB routing machine at my disposal and even though it is old it does make adequate prototypes. For "real" boards I always use an outside PCB house. I use a company called Alberta Printed circuits www.apcircuits.net. Since it is in Canada I get next day delivery and for my American friends the dollar value is great. Well it used to be much better for you, brutal on us when we bought in the States.

    The NMOS FETS I use are IRF2804's. My IR rep. is pushing me to try their new PMOS FETS. He keeps telling me they have come a long way in getting them to have low RDS on at high amperage and good surge capabilities. I will tailor the design to allow the use of either. My high side VGS driver at the moment is not floating and referred to ground. I develop a VGS which is always 10 volts higher than the inputted motor voltage. The circuitry is tolerant to a 30 VDC motor voltage, creating a VGS of 40 volts. Believe it or not I use a simple high speed, high current opamp to drive the FET gate. Cheap, drives heavy capacitive loads like FET gates and works very well. The opamp has a 50 volt / us slew rate and turns the FETS on/off quickly. I didn't think I needed to go beyond 10 A for current but then that is a function of the FET selected and the capability of the PCB tracks.

    I am debating if I should use an optically coupled driver such as the HCPL-3140 with a discrete bipolar push/pull and make the drive circuitry floating like is acually done with a IR2110 without the IR2110 downfalls. This way the circuitry would be able to handle voltages up to the rating of the FET used. Is it common to use a motor voltage > 30 volts for a small hobbiest machine? My old 7.5 degree motor driven at 30 volts gives me 720 RPM and still has good torque. Using TurboCNC I am stepping it at 18432 Hz.

    I will post my schematic once I have inputted it into ORCAD and can get a PDF output.

    Cheers

  8. #8
    Join Date
    Sep 2003
    Posts
    25
    I don't think a hobbiest would go to more than 24V since cheap power supplies seem to only go that high. I think most people use steppers with aroun 1.8 degree per step, but I can only comment on what I have used and what my empolyer uses.

    I suppose if you want to be REALLY fancy you could use both an nMOS and a pMOS like a CMOS pass gate, but it's probably overkill.

    I'm wondering if you have a reason, other than academic, to pursue such a high power driver. The motors at the current levels you are going for will be very expensive. I imagine that commercial buyers of such motors tend to get the driver from the motor company, although I am just speculating.

    Adding optical coupling to one's electronics is like the carpenter's dove tail joint. It shows that the designer spared no expense in their design and is a master of their art. Just my opinion though.

  9. #9
    Join Date
    Feb 2004
    Posts
    2337
    Please excuse my ignorance, but doesn't gearing down effectivly do the same as microstepping? But also give you increased torque? Am I right off the track here?
    Being outside the square !!!

  10. #10
    Join Date
    Apr 2004
    Posts
    678
    I prefer as high voltage as possible. One weakness of stepper motors are that their torque fall off with increasing speed. The movements needs more torque with increasing speed. This result in that the need for rapid moves necessitate the choice of a larger motor. This is not desirable because of added cost of motor, need for more current from the drive, and I don't want the extra weight and bulk of the motor on the machine. Enter higher driving voltage. It allows me to keep a smaller motor size and current capability of the drive.

    If you don't need high speed moves, you can gear down and get more torque and accuracy at lower speed, and as a bonus the motors will rotate faster and make less noise.

    You write that you use the micro as the timing and control circuit. Does that mean it is also used as the chop timer? Then you rely heavily on IRQ response time to get the intended current. Turning off the chop current should be left to it's own hardware IMO.

    Benny: No you're mostly on track. But it also give you a low speed. The torque gets multiplied also at higher speeds. But if you have a 1:4 gearing you need to run the motor at 4 times the speed to get the same fast movement. And the torque of the motor falls off to less than 1/4 the torque at 4 times the speed. If you decide you don't need the speed you are fine. Also gearing down does not do anything to the harshness of full and even half step. On the contrary if your gearing is stiff, it multiplies the unwanted harshness force in the same ratio as your gearing. It does however bring down the amplitude of it by the same ratio. Only testing will tell what the net effect is. Your timing belt (or gear) will appreciate your microstepping however.

  11. #11
    Join Date
    Mar 2004
    Posts
    37
    The 10 Amp is purely academic as I really do not see a need for such a high current for steppers either. I agree the higher the voltage the better the step rate and torque for that step rate. To get a higher voltage than 30 VDC I would have to start looking at floating my VGS supply and cost goes up. My gate drive as designed is good to 45 volts. For NMOS the max. motor voltage would be 40 - 10 (for VGS boost) = 30 VDC. A PMOS driver would actually allow me to use a higher motor supply than NMOS, the full 40 VDC, because PMOS does not need a boosted VGS (voltage on the gate to turn the FET on/off).

    The micro controlled chopper circuit does have a latency of 1 - 2 us from overcurrent detect and drivers off. Biasing the current detect level down ensures there is very little current overshoot. The timeout is fixed length and all the descriptions of the IC's I have seen tend to use an off time in the 100 us range. The micro has no problem with these values and I have played with values in the 40 - 140 us range. The fun part about micros is that you can squeeze a lot more out of them if you just take care in what you are doing. In the end I may find that hardware control may be better but I always try to wring whatever I can out of the micro.

    Thanks for the feedback,

    Cheers

  12. #12
    Join Date
    Mar 2004
    Posts
    190
    At all about driver boards and power MOSFETS, when Mariss Fremainis speak about design tips, the others listen . The excerpts below are about a unipolar non chopped design but iI think are interesting :

    "the peak drain voltage on the MOSFETs will be twice the supply voltage. The MOSFETs you have picked will come apart at 27.5V theoretically, probably at 24V if shoot-thru currents due to diode reverse recovery time are taken into account. Use fast recovery rectifiers (<100nS Trr), a current rating equal to the motor current and a rated voltage at least equal to the supply"

    "Don't pick a fragile MOSFET. The "on" resistance may look real sexy on the data sheet but the number that lets you know how rugged the device is the "Single Pulse Avalanche Energy" rating. The more milli-Joules the better"

    The thread:

    http://www.cnczone.com/forums/showth...igh+ampere+lpt

  13. #13
    Join Date
    Apr 2004
    Posts
    678
    I looked at 10A based on measurements with the standard leadscrews. But after fitting ballscrews I find that is not necessary at all. Now the major force at low speeds will be the cutter. Luckily I can try that out by adjusting the current. So for a small DIY mill 5-6A should be enough. Within limits I guess it's just a matter of keeping the board, just putting in devices to match current.

    The IRQ response time is one issue. The other is the possibility of a bug extending it or even preventing it from turning off current. That will give bugs the opportunity to fry power devices and motors.

    Motor -> (flame2) <- Bug.

  14. #14
    Join Date
    Mar 2003
    Posts
    35538
    Originally posted by ynneb
    Please excuse my ignorance, but doesn't gearing down effectivly do the same as microstepping? But also give you increased torque? Am I right off the track here?
    Gearing down will give you increased torque and higher resolution, but it won't give you the smoother running motor or remove the resonance that microstepping does.
    Gerry

    UCCNC 2017 Screenset
    http://www.thecncwoodworker.com/2017.html

    Mach3 2010 Screenset
    http://www.thecncwoodworker.com/2010.html

    JointCAM - CNC Dovetails & Box Joints
    http://www.g-forcecnc.com/jointcam.html

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)

  15. #15
    Join Date
    Mar 2004
    Posts
    37
    Thanks for the link.

    Bugs are always fun that why I like the KIS principle. (Keep It Simple).

    I agree that the FET selection is very important. The FETS I am using now, IRF2804, are meant for automotive applications and as such have a very high EAR rating. They are not fragile in any way shape or form. They are sexy in that they are meant for extremely high current and have very low RDS on. Vmax is 40 volts, IR engineer says 50 volt, this is why my power supply is 24 VDC at this moment. I don't want the dreaded punch thru to kill my FETS. I used them because I have them and design with them in my real life. My International Rectifier rep. has said that these FET's were designed so an external protection diode is not needed. Other FETS will not be as strong and will need the external diode. My PCB layout has a spot for the external diodes if another higher voltage less sexy FET is used.

    So I can summarize so far that 5 A is reasonable, voltages greater than 40 VDC is common and not all stepper motors have a linear microstepping response. Good speed, torque and smoothness is what we are striving for.

    Cheers

    Greg

  16. #16
    Join Date
    Jan 2004
    Posts
    122
    ...make the drive circuitry floating like is acually done with a IR2110 without the IR2110 downfalls. ...etc...
    First I heard someone point out any negatives , seems like the
    chip- of- choice if you believe everyone else. 'Course discrete
    devices seem foreign to most designers nowadays...
    I would prefer a cheaper solution.
    maybe...

Similar Threads

  1. power of using unipolar steppers?
    By dowling177 in forum Stepper Motors / Drives
    Replies: 1
    Last Post: 01-12-2005, 03:10 AM
  2. Just found some steppers!
    By chuckknigh in forum DIY CNC Router Table Machines
    Replies: 5
    Last Post: 08-15-2004, 01:32 AM
  3. Choosing Steppers
    By RXTurbo in forum Uncategorised MetalWorking Machines
    Replies: 3
    Last Post: 06-18-2004, 05:21 AM
  4. steppers and current
    By ullbergm in forum CNC Machine Related Electronics
    Replies: 0
    Last Post: 01-29-2004, 10:24 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •