Smoothing out Brushless motion

Moderators: TomKerekes, dynomotion

Posts: 38
Joined: Tue May 07, 2019 4:35 pm

Re: Smoothing out Brushless motion

Post by ZooBDoo » Tue Dec 17, 2019 6:45 pm

I had to stay under 1Mb or I got the yellow triangle


User avatar
Posts: 789
Joined: Mon Dec 04, 2017 1:49 am

Re: Smoothing out Brushless motion

Post by TomKerekes » Tue Dec 17, 2019 9:50 pm

Hi AZ,
I had to stay under 1Mb or I got the yellow triangle
Strange there should be no such limit. You might click the yellow triangle to see what it says. You changed the commas to tabs in some of the files so I had to edit them back in.

I have two different brand and different spec brushless motors driven by SnapAmps. I found that after setting them up using AutoPhaseFind the current amplitudes were measurably different depending on the direction of motion. I was able to equalize them by adjusting the Commutation Offset value 10 counts at a time initially them 5 counts at a time to optimize the balance CW and CCW. I have a 2048 line encoder on both motors. You can see this difference comparing the current plots for (CGI_2_current_plot) Vs (CGI_2_current_plotA).
I think your adjusted commutation offset is better. But I think the difference might be minor. Note that SnapAmp's current measurement is not extremely accurate. 1% tolerance resistors are involved. SnapAmp has a 70Amp current range so for example 0.1A is 0.14% of the range. SnapAmp only measures the currents in 2 motor leads. The 3rd lead is derived from a+b+c=0 (current in must equal current out).

SnapAmp performs an autozero on its measurements when KFLOP boots so there should be no current flowing when KFLOP is turned on. You might check the readings with motor power off to check the offsets.

2 forward.png
2 forward A.png
2 reverse.png
2 reverse A.png

The second thing I saw was that the phase currents were not equal during running at about 80% max velocity.
Attached are the data plots. Use Axis(CGI_0_current plot) for this discussion. The pattern was consistent where running CW phase U was lowest, Then V, Then W. And running CCW the pattern was reversed. I also noticed that the motor was not running smoothly at speed and I attributed that to the variation in currents.
It looks more like a small offset to me:
ABC currents 0.png

Some additional information:
Attached is another current plot with the Axis 0 running at about 90% max speed (300000 with 8192 counts per rev).
The peaks of the sine wave forms all show a Peaky flat where at lower speeds (200000) the wave forms were rounded at the peaks. At this speed (300000) the motor is running with a hum where at 200000 it sounds smooth.
Any idea what this indicates?
I'm not sure. SnapAmp limits the max output voltage to 90% of VBus due to current measurement periods. This is driving the windings at 100Hz so possibly an inductance becomes a limitation. Or it might be a resonance or vibration inducing small currents.



Tom Kerekes
Dynomotion, Inc.

Post Reply