1. 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.
    Dismiss Notice

Speed up a stepper motor

Discussion in 'Robotics & Mechatronics' started by mesamune80, Jul 14, 2006.

  1. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    As shown above i am facing a problem with the stepper motor with 1.8deg/rev .i am driving it using UCN5804
    and PIC16F877 i send a pulse with 1us high and 1us low but the motor still not turn to my desired speed.i am using 4MHZ for the crystal.Any other alternative way for me to speed up my motor?Thanks
     
  2. Nigel Goodwin

    Nigel Goodwin Super Moderator Most Helpful Member

    Joined:
    Nov 17, 2003
    Messages:
    39,231
    Likes:
    641
    Location:
    Derbyshire, UK
    ONLINE
    Stepper motors are slow - to increase their speed you can feed them off a much higher voltage and use current limiting resistors (or PWM) to limit the current.
     
  3. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    For your information my motor is a 12V Nemma 17 0.16A ,but when i set to the shrortest delay which is 24us the motor perform a very less RPM.Can i just feed a 24V and put 2 current limmitng resistor 150 ohm each to speed up my motor?thanks.
     
    Last edited: Jul 14, 2006
  4. dave

    Dave New Member

    Joined:
    Jan 12, 1997
    Messages:
    -
    Likes:
    0


     
  5. Nigel Goodwin

    Nigel Goodwin Super Moderator Most Helpful Member

    Joined:
    Nov 17, 2003
    Messages:
    39,231
    Likes:
    641
    Location:
    Derbyshire, UK
    ONLINE

    Assuming 0.16A is per winding?, I would suggest 75 ohm resistors which would limit the current to 0.16A.

    Bear in mind it's pointless trying to step the motor faster than it can go, it just slows down and loses power - you need to carefully test for it's fastest speed and not exceed it!.
     
  6. Papabravo

    Papabravo Well-Known Member

    Joined:
    Mar 9, 2006
    Messages:
    2,889
    Likes:
    25
    Location:
    Michigan, USA (GMT-5)
    Stepper motors can start moving only at relatively low speeds. To get them to move faster you need to ramp the velocity up to the desired speed. Just as you must ramp the velocity up you should also ramp it down. This would be a trapezoidal velocity profile. Speeds of several thousand steps per second are possible. From the starting speed to the highest possible speed where the torque goes nearly to zero there will be at least two resonances. One is mehanical and the other is electrical. If you try to run at or near these speeds the motor will stop moving as its torque goes to zero. In your velocity profiling you need to avoid these two speeds.
     
  7. philba

    philba New Member

    Joined:
    Mar 12, 2006
    Messages:
    1,886
    Likes:
    8
    Location:
    Seattle
    a couple of points not mentioned before.
    - a 500 khz pulse rate seems awfully high. are you sure you are sending it that fast (1 uS low/ 1 uS high)??? assuming full steps (4 pulses per step) you should be seeing 500K/800 or 625 rev/sec. I'm sure you aren't seeing that. I'd start at something like 10khz and ramp it up.
    - that is not a very strong motor, I wouldn't expect much from it, even with 24V.
     
  8. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    Thanks for you guys provide me some guidance,as i refer to the pic basic pro manual a 4MHZ crystal can provide a minimum delay about 24us.just want to know if i seek for 800 rev/sec is it 2us delay i need to use to achieve this?
    As mention form some of you guys,ramp up the velocity of the motor is it meaning to say ,pump in higher voltage than the motor itself?any good idea or specific way to ramp up and down the velocity of this motor?Thanks.
     
  9. Papabravo

    Papabravo Well-Known Member

    Joined:
    Mar 9, 2006
    Messages:
    2,889
    Likes:
    25
    Location:
    Michigan, USA (GMT-5)
    No! No! No!
    If you want to get to 800 steps per second you start at some low velocity and increase the velocity in a linear fashion up to 800 steps per second. If you do it correctly the motor and the load will experience a constant acceleration. The same for deceleration. This technique is independent of any possible hardware design that you have. You cannot solve this problem with hardware. What ever is generating the steps or pulses must be able to do this. There is no way to start and stop a stepper motor at high speeds especially with an inertial load and even a small amount of friction.
     
  10. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    ok,now i understandthe ramping could be done without ny hardware changes,only the software part require some modification.
    in my code i am using a loop to generate pulse like this:
    loop:
    high portc.1
    waitus 50
    low portc.1
    waitus 50
    goto loop

    from the above code i pump a 50% duty cycle pulse with a delay of 50us to a stepper motor driver UCN5804,as a result the motor turn in a very low rpm.talking about ramping can i slowly increase the duty cycle of my pulse to acheive a increasing in velocity and the same goes with the decresing velocity?
     
  11. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    Hi guys,today i manage to make the motor turn the fastest speed that i never see it before this ,i try to use 800us delay but when i try to shorten the delay let's say 700us the motor not turning at all.is it suppose the motor will turn faster?Could anybody tell me what's the problem behind this?not enough current for the driver?or not enough voltage for the motor to turn faster?Thanks.
     
  12. Papabravo

    Papabravo Well-Known Member

    Joined:
    Mar 9, 2006
    Messages:
    2,889
    Likes:
    25
    Location:
    Michigan, USA (GMT-5)
    Resonance. You found it.
     
  13. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    Thanks for papabravo,to acknowledge me about this resonance ,but is there any other way i can use to turn the motor although its resonance is reached?like may be use a higher voltage and use a current limiting circuit to limit the current?so that never exeed the motor current rating.Thanks.
     
  14. Papabravo

    Papabravo Well-Known Member

    Joined:
    Mar 9, 2006
    Messages:
    2,889
    Likes:
    25
    Location:
    Michigan, USA (GMT-5)
    In the ramping algorithm you need to transition from a velocity below the resonance to a velocity above the resonance. For example it the resonance is at 250 steps/second, then the velocity ramp should go from 200 steps/second to 300 steps/second. You will always be using discrete velocities so you need to choose them wisely.

    If this is the mechanical resonance then you need to be aware that if you change the inertial load or the friction in the system then the resonance frequency will change.
     
  15. phalanx

    phalanx Member

    Joined:
    Oct 22, 2003
    Messages:
    405
    Likes:
    7
    Location:
    New Hampshire, USA
    The best way to reduce resonance is to implement microstepping. I don't know off hand if your driver chip can handle it so if not, you should check out some of the motor controller ICs made by Allegro Microsystems. I have used their A3984 in the past to control a translation stage with 100 nanometer (0.0000001 meter) resolution. Besides the 3984, they make a large assortment of driver ICs with different features and current handling capabilities for both unipolar and bipolar steppers.
     
  16. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    from the data sheet of my stepper driver IC which is UCN5804B stated that the minimum step input pulse width is 500ns ,but if i use below 700us then let's say 600us then the motor wont turn.is this the limitation of the motor itself or the driver?
    for instance i worte the basic program this way:

    loop:
    high portc.1
    waitus 600
    low portc.1
    waitus 600
    goto loop

    as a result the motor wont turn but i can feel some noise comming within the motor.can u guys give me some guide?the accuracy of the motor is not important for my design,only the speed of the motor is being concerned.Thanks hv a nice day!
     
  17. Nigel Goodwin

    Nigel Goodwin Super Moderator Most Helpful Member

    Joined:
    Nov 17, 2003
    Messages:
    39,231
    Likes:
    641
    Location:
    Derbyshire, UK
    ONLINE
    I would say it's the motor, steppers aren't fast devices, but increasing the supply voltage helps a lot (try 48V instead of 24V, with suitable resistors of course).
     
  18. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    Thanks.Ok,i'll try it out.so in this case i will use a 300 ohm (5 to 10W) resistor for my Rx and Ry coil .I'll let u all know the result of this later.thanks guys!
     
  19. Nigel Goodwin

    Nigel Goodwin Super Moderator Most Helpful Member

    Joined:
    Nov 17, 2003
    Messages:
    39,231
    Likes:
    641
    Location:
    Derbyshire, UK
    ONLINE
    How fast are you trying to get anyway?.
     
  20. mesamune80

    mesamune80 New Member

    Joined:
    Oct 14, 2004
    Messages:
    117
    Likes:
    0
    Location:
    Malaysia
    the faster the better actually but our minimum requirement would be 1600 step/rev or 1140 rev/minute.for u all information currently i am using a microstepping driver to drive the motor but now i need to use a IC(UCN8048B) to subsitute the driver because it cost me so much. can i reach this speed if i use this driver?Thanks
     
  21. Nigel Goodwin

    Nigel Goodwin Super Moderator Most Helpful Member

    Joined:
    Nov 17, 2003
    Messages:
    39,231
    Likes:
    641
    Location:
    Derbyshire, UK
    ONLINE
    1140 revs per minute sounds a lot higher than I would have thought?, steppers are only slow speed so I'm doubtful.
     

Share This Page