I'm sorry for my English. I have a question about stepper motors. I used a unipolar stepper motor (200 steps/rev) to control an electro-mechanical brake. It must move as follow:
1) 50-60 steps clockwise as fast as possible
2) hold position for about 20 ms
3) return (CCW) at initial point as fast as possible
4) hold position for about 200 ms and then go to 1)
Note: the load is very light.
Using a PIC, a ULN2803 and a 12V zener on the Vdd it completes 1) or 3) in less of 100 ms.
Now, I have to improve (if possible) the performances. So I ask you:
1) What type of motors are more suitable for this application? unipolar or bipolar?
2) Should I use a chip (ex. L297/298) to driver the motor? Most of them have a PWM driver, I think it could be more efficient than a simple Darlington driver.
3) I used a "pseudo-exponential" ramp to accelerate/decelerate the motor. What curve do I have to follow to reach the best acceleration/deceleration?
"Marco Trapanese" wrote in message news:LOiwh.13110$ snipped-for-privacy@twister2.libero.it...
The key problem with all steppers, is that the coils are very inductive. A motor with a 'rating' of 12v, implies that it can support having 12v applied continuously to the coils without overheating. The problem is that the rate at which the current rises through the inductor, when the motor is stepped, depends initially on the inductance, and the 'drive voltage' feeding the circuit. Ideally then, to get a fast rise in current, what is needed is to momentarily increase the voltage driving the coil, far beyond it's 'rated' value. A few moments latter (once the current actually starts to flow), the resistances present, enter the equation. Hence, there are two basic drive choices for speed. the first it to permanently have the 'overvoltage' present, and limit the current to the rated value, with a large resistor. The second is to electronically limit the current with a PWM drive. The former has the advantage of simplicity, but the downside of huge amounts of wasted power in the limit resistors. The latter saves the power, but at the cost of complexity. Bipolar motors are generally more powerful for a given size. Generally, an 'overvoltage' of about 5* the motor rating is a good starting point. So something like a 2.4v bipolar motor, with PWM drive, will give much more torque at speed. Now, on the acceleration curve, you are going to have to answer this yourself. The problem here is that the torque needed to get to a faster speed, depends on the inertia of what you are driving (and of the drive itself), together with the drag terms present. Normally, you will almost certainly need to 'flatten' the top of your acceleration curve, as the drag becomes more significant. Consider the Analog devices A3977, with a bipolar motor, if this is big enough to drive your unit. Supports single stepping, and microstepping, with PWM drive, and gives a simple 'step/direction' connection to your PIC.
Amplifying Roger's comments, a typical stepper will run out of torque in the 100 steps/second sort of range using straight voltage drive but can be used to many hundreds of s/s with constant-current drive.
One easy way to jazz things up is to put resistance in series with the windings and increase supply voltage accordingly. This sppeds things up but wastes power. Bridge-drive PWM allows efficient high-voltage drive, but diode-clamped PWM doesn't.
Linear or s-curve ramping should be fine, no big deal as long as the acceleration is controlled.
They both begin with 'A' don't they!. :) I have been using a whole host of Analog Devices parts recently, and just typed their name, instead of Allegro. Sorry.
If you are only interested in the 2 positions (in and out), you may want to consider a solenoid instead of a stepper. You may need to allow some time for the solenoid coil to energize and de-energize, but this should be fairly easy in software. The drive circuit would be much simpler.
Unfortunately it isn't possible. The position is calculated by a PI controller and varies between about 50 and 60 steps so I have to position the stepper where I need.
PWM limits the motor current to a safe value, AND allows you to increase the power supply voltage, which is desirable. A higher supply voltage forces current into the motor faster, yielding faster stepping. d(i)/d(t) = E / L(motor) and all that.
If you use a higher-voltage supply, say 60 volts for a 12-volt motor, and use pwm with current feedback, the control loop can use all the available voltage to slam current into and out of the coils. But if you just use simple open-collector pwm with diode clamps, you can't get the current out of the coils fast.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.