Electronics-Related.com
Forums

Stepping motor torque ripple

Started by Klaus Kragelund December 26, 2021
On 12/26/2021 5:08 PM, Don Y wrote:
> [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)]
<https://patents.google.com/patent/US4282471A/en>
On Monday, December 27, 2021 at 10:45:11 AM UTC+11, jla...@highlandsniptechnology.com wrote:
> On Sun, 26 Dec 2021 23:38:44 +0100, Klaus Kragelund > <klau...@hotmail.com> wrote:
<snip>
> 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.
There was a paper in the (UK) Journal of Scientific Instruments in the 1970's that went into that in some detail - the correction table went into a PROM. If I remember rightly (and I probably don't) it was eight-bit accurate after correction, but the look-up table was ten bit words. -- Bill Sloman, Sydney
mandag den 27. december 2021 kl. 00.26.26 UTC+1 skrev Klaus Kragelund:
> 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 ?
maybe :) how cheap do you think you can make it? considering the low price of stepdriver boards for 3D printers and the like the must be <$1 drivers and that includes all the protection niceties What is the DC resistance, rated voltage of the stepper motor and how fast do you need to run it?
27.12.21 00:44, jlarkin@highlandsniptechnology.com wrote:
>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. > > >
That is the same as I was talking about with VF control. It the same used for Field Oriented Control of PMSM motors -- Klaus
mandag den 27. december 2021 kl. 04.04.07 UTC+1 skrev bill....@ieee.org:
> On Monday, December 27, 2021 at 10:45:11 AM UTC+11, jla...@highlandsniptechnology.com wrote: > > On Sun, 26 Dec 2021 23:38:44 +0100, Klaus Kragelund > > <klau...@hotmail.com> wrote: > <snip> > > 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. > There was a paper in the (UK) Journal of Scientific Instruments in the 1970's that went into that in some detail - the correction table went into a PROM. If I remember rightly (and I probably don't) it was eight-bit accurate after correction, but the look-up table was ten bit words. >
this one (section 19.2) https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet_Rev1.13.pdf does a table for a quadrant with some trickery to make the table small
27.12.21 01:08, Don Y  wrote:
>On 12/26/2021 3:38 PM, Klaus Kragelund wrote: >> I am working on a stepping motor driver > >Is there a reason you are using a stepper motor and not another >type of motor?
Yes. Client application need detent torque, and a stepper has lots of that Also as I am told, to fit legacy products
>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.
Yes, micrstepping reduced the torque by at least 30%. And wastes energy to be sure of no missing steps
> >[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)]
-- Klaus
On Mon, 27 Dec 2021 05:24:58 -0800 (PST), Lasse Langwadt Christensen
<langwadt@fonz.dk> wrote:

>mandag den 27. december 2021 kl. 04.04.07 UTC+1 skrev bill....@ieee.org: >> On Monday, December 27, 2021 at 10:45:11 AM UTC+11, jla...@highlandsniptechnology.com wrote: >> > On Sun, 26 Dec 2021 23:38:44 +0100, Klaus Kragelund >> > <klau...@hotmail.com> wrote: >> <snip> >> > 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. >> There was a paper in the (UK) Journal of Scientific Instruments in the 1970's that went into that in some detail - the correction table went into a PROM. If I remember rightly (and I probably don't) it was eight-bit accurate after correction, but the look-up table was ten bit words. >> > >this one (section 19.2) https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet_Rev1.13.pdf >does a table for a quadrant with some trickery to make the table small > >
I had lots of memory available so I just folded the MSB to cut the table size in half. More thinking can reduce it more. I guess one could just compute sin and cos. I also reduced the motor drives after a second of no motion. Theoretically, the vector angle doesn't change if you reduce both currents. -- If a man will begin with certainties, he shall end with doubts, but if he will be content to begin with doubts he shall end in certainties. Francis Bacon
Klaus Kragelund <klauskvik@hotmail.com> wrote:

> Hi > > > I am working on a stepping motor driver
If you want to try to do it in analogue: http://www.poppyrecords.co.uk/ADM001/S05c/300MandrelMotorDriver.pdf Circuit description on P31 of the manual: http://www.poppyrecords.co.uk/ADM001/S05c/900Manual6d.pdf -- ~ Liz Tuddenham ~ (Remove the ".invalid"s and add ".co.uk" to reply) www.poppyrecords.co.uk
On 12/27/2021 6:49 AM, Klaus Kragelund wrote:
> 27.12.21 01:08, Don Y wrote: >> On 12/26/2021 3:38 PM, Klaus Kragelund wrote: >>> I am working on a stepping motor driver >> >> Is there a reason you are using a stepper motor and not another >> type of motor? > > Yes. Client application need detent torque, and a stepper has lots of that > > Also as I am told, to fit legacy products >> 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. > > Yes, micrstepping reduced the torque by at least 30%. And wastes energy to be > sure of no missing steps
As long as you realize the holding torque varies considerably based on whether you're on a full step, or not. We would always microstep for smooth motion and good armature control... but always stop on full steps.
On Monday, December 27, 2021 at 10:45:11 AM UTC+11, jla...@highlandsniptechnology.com wrote:
> On Sun, 26 Dec 2021 23:38:44 +0100, Klaus Kragelund > <klau...@hotmail.com> wrote:
<snip>
> 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.
If I remember rightly, Portescap claimed that some of their stepper motors gave much more uniform rotation than regular stepper motors. Poking around their website didn't give me anything explicit but https://www.portescap.com/en/products/miscellaneous/motion-innovations/outer-rotor-flat-brushless seems to be claiming something like that. https://www.portescap.com/en/products/stepper-motors/disc-magnet-motors offer smaller than usual steps and "less detent torque" which might offer less distortion -- Bill Sloman, Sydney