![]() |
![]() |
![]() |
|
|
|||||||
| Robotics Chat Specific to discussions about robots and the making of. |
|
|
Thread Tools | Display Modes |
|
|
(permalink) |
|
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 |
|
|
|
|
|
|
(permalink) | |
|
Quote:
|
||
|
|
|
|
|
(permalink) |
|
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 by mesamune80; 14th July 2006 at 09:34 AM. |
|
|
|
|
|
|
(permalink) | |
|
Quote:
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!. |
||
|
|
|
|
|
(permalink) |
|
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.
|
|
|
|
|
|
|
(permalink) |
|
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. |
|
|
|
|
|
|
(permalink) |
|
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. |
|
|
|
|
|
|
(permalink) |
|
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. |
|
|
|
|
|
|
(permalink) |
|
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? |
|
|
|
|
|
|
(permalink) |
|
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.
|
|
|
|
|
|
|
(permalink) |
|
Resonance. You found it.
|
|
|
|
|
|
|
(permalink) |
|
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.
|
|
|
|
|
|
|
(permalink) |
|
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. |
|
|
|
|
|
|
(permalink) | |
|
Quote:
|
||
|
|
|
|
|
(permalink) |
|
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! |
|
|
|
|