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� -- Klaus
Stepping motor torque ripple
Started by ●December 26, 2021
Reply by ●December 26, 20212021-12-26
søndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund:> 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... >isn't it such low current that a linear drive would work?
Reply by ●December 26, 20212021-12-26
26.12.21 23:43, Lasse Langwadt Christensen wrote:>s�ndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: >> 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... >> > >isn't it such low current that a linear drive would work? >The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs) But I like you idea of challenging how it is done ? One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the current -- Klaus
Reply by ●December 26, 20212021-12-26
26.12.21 23:55, Klaus Kragelund wrote:>26.12.21 23:43, Lasse Langwadt Christensen wrote: >>s?ndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: >>> 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... >>> >> >>isn't it such low current that a linear drive would work? >> > >The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs) > >But I like you idea of challenging how it is done ? > >One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the current > >Some ideas are centered around doing feed forward instead of current chopping. So like a VF control with a sinusoidal voltage vector so the current is without distortion around zero current. It will not be perfect, since it does then not regulate on the current Perhaps a combination, with feed forward and current feedback to trim the wave shape -- Klaus
Reply by ●December 26, 20212021-12-26
søndag den 26. december 2021 kl. 23.55.09 UTC+1 skrev Klaus Kragelund:> 26.12.21 23:43, Lasse Langwadt Christensen wrote: > >søndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: > >> 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... > >> > > > >isn't it such low current that a linear drive would work? > > > The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs)only one coil will be fully on at a time, and at such high inductance the DC resistance must be quite high too> But I like you idea of challenging how it is done ? > > One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the currentit is basically a buck already, the inductor is just inside the motor
Reply by ●December 26, 20212021-12-26
mandag den 27. december 2021 kl. 00.01.15 UTC+1 skrev Klaus Kragelund:> 26.12.21 23:55, Klaus Kragelund wrote: > >26.12.21 23:43, Lasse Langwadt Christensen wrote: > >>s?ndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: > >>> 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... > >>> > >> > >>isn't it such low current that a linear drive would work? > >> > > > >The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs) > > > >But I like you idea of challenging how it is done ? > > > >One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the current > > > > > Some ideas are centered around doing feed forward instead of current chopping. So like a VF control with a sinusoidal voltage vector so the current is without distortion around zero current. It will not be perfect, since it does then not regulate on the current > > Perhaps a combination, with feed forward and current feedback to trim the wave shapeafaict the Powerstep01 driver, in voltage mode, basically does pwm sinewaves with feedforward of speed, supply voltage, etc.
Reply by ●December 26, 20212021-12-26
27.12.21 00:18, Lasse Langwadt Christensen wrote:>s�ndag den 26. december 2021 kl. 23.55.09 UTC+1 skrev Klaus Kragelund: >> 26.12.21 23:43, Lasse Langwadt Christensen wrote: >> >s�ndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: >> >> 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... >> >> >> > >> >isn't it such low current that a linear drive would work? >> > >> The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs) > >only one coil will be fully on at a time, and at such high inductance the DC resistance must be quite high too > >> But I like you idea of challenging how it is done ? >> >> One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the current > >it is basically a buck already, the inductor is just inside the motor > >Yes. But for an envelope buck it can be filtered more, so torque ripple is reduced -- Klaus
Reply by ●December 26, 20212021-12-26
27.12.21 00:20, Lasse Langwadt Christensen wrote:>mandag den 27. december 2021 kl. 00.01.15 UTC+1 skrev Klaus Kragelund: >> 26.12.21 23:55, Klaus Kragelund wrote: >> >26.12.21 23:43, Lasse Langwadt Christensen wrote: >> >>s?ndag den 26. december 2021 kl. 23.38.54 UTC+1 skrev Klaus Kragelund: >> >>> 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... >> >>> >> >> >> >>isn't it such low current that a linear drive would work? >> >> >> > >> >The application is 20V/90mA, so 3.6W total. That will dissipate too much heat (industrial temperature specs) >> > >> >But I like you idea of challenging how it is done ? >> > >> >One could do an envelope converter fed to each half bridge (buck). But then it is very slow ramp up of the current >> > >> > >> Some ideas are centered around doing feed forward instead of current chopping. So like a VF control with a sinusoidal voltage vector so the current is without distortion around zero current. It will not be perfect, since it does then not regulate on the current >> >> Perhaps a combination, with feed forward and current feedback to trim the wave shape > >afaict the Powerstep01 driver, in voltage mode, basically does pwm sinewaves with feedforward of speed, supply voltage, etc. > > >Sounds like I am reinvent the wheel ? -- Klaus
Reply by ●December 26, 20212021-12-26
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 > > >KlausI 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. -- I yam what I yam - Popeye
Reply by ●December 26, 20212021-12-26
On 12/26/2021 3:38 PM, Klaus Kragelund wrote:> I am working on a stepping motor driverIs there a reason you are using a stepper motor and not another type of motor? Usually, the stepper is chosen for precise (open-loop) control of shaft rotational position -- usually requiring that position to be held when the stepping stops. (as long as current remains applied). Microstepping shows poor performance, in this regard, when you try to "hold" at anything other than a half/full step. [Note that you can also drive a stepper as if a BLDC by monitoring feedback from the other coils. But, this is prone to losing sync if you miss a feedback event (the motor, usually operating at accelerated speed, then drops a step and stalls)]