K
Klaus Vestergaard Kragelund
Guest
On 27/12/2021 00.44, jlarkin@highlandsniptechnology.com wrote:
I was doing the chopping control, peak current setting of the current in
the coils, a loop in the microcontroller that would control this peak
current with a DAC
Thinking about it, seems like it is all to no good. Just using the PWM
sine/cosine lookup table, with no feedback seems to work fine, provided
the speed of the motor is significantly below the max specified speed.
In that case BEMF has little effect, and really the winding resistance
sets the current according to applied voltage
Doing the open loop control would remove need for precise current
sensing and DACs (all though they could just be PWM outputs). Also
reduces the CPU resources needed for the control of the motor
I will keep the comparator to check for shorted halfbridge, at least for now
Cheers
Klaus
On Sun, 26 Dec 2021 23:38:44 +0100, Klaus Kragelund
klauskvik@hotmail.com> wrote:
Hi
I am working on a stepping motor driver
To reduce cost I will be making a discrete driver stage driven from a microcontroller that has all the control features that would normally be included in a micrstepping driver like the A4988
https://www.allegromicro.com/en/products/motor-drivers/brush-dc-motor-drivers/a4988
For easy calculation let\'s say the power stage is driven from 10V and the stepping motor has an inductance of 10mH and the peak current is 100mA
In fast decay mode the rising and falling didt is thus 1A/ms
For micro stepping the current in the 2 phases are set to place the armature in between a full step. So for a position 50% between two steps the currents in the windings are the same to have a resulting vector at that point
If the on time is 5us, the ripple current is 5mApp. So, the current ripple is 5% of the nominal peak current. For lower excitation, at 10mA peak drive, the ripple is 50%
So the magnetic field will cause quite a bit of torque ripple.
Will this have any impact on the drive of the motor, or is the inertia so big that it is insignificant?
Also, at other positions than 50%, the ripple with not cancel out between the phases and generate even more torque ripple
I don\'t see any mention of this, so it is probably insignificant...
Regards
Klaus
I did a microstepper once, for tuning superconductive microwave
cavities in an accelerator. It used a uP and a pair of integrated
h-bridge drivers.
It was basically a DDS synthesizer, a phase accumulator (representing
angular position) mapping into a sin-cos lookup table, which fetched
the duty cycle values to go into the pair of full h-bridges which
drove the motor coils. If the switching frequency is reasonably high,
there won\'t be noticable ripple torque.
My basically constant-voltage drive caused torque to drop off at high
step rates, which wasn\'t a problem in that application.
Most motors are imperfect in that you won\'t get smooth angular
position as a function of sin-cos coil currents; they basically have
distortion. That can be fudged in the trig lookup table if you really
need to.
So, now I am getting closer to having first prototype ready
I was doing the chopping control, peak current setting of the current in
the coils, a loop in the microcontroller that would control this peak
current with a DAC
Thinking about it, seems like it is all to no good. Just using the PWM
sine/cosine lookup table, with no feedback seems to work fine, provided
the speed of the motor is significantly below the max specified speed.
In that case BEMF has little effect, and really the winding resistance
sets the current according to applied voltage
Doing the open loop control would remove need for precise current
sensing and DACs (all though they could just be PWM outputs). Also
reduces the CPU resources needed for the control of the motor
I will keep the comparator to check for shorted halfbridge, at least for now
Cheers
Klaus