cancel
Showing results for 
Search instead for 
Did you mean: 

not stable at slow speeds PMSM FOC

dominik
Senior
Posted on October 30, 2014 at 15:31

Hi

I'm working with the motor from maxon:

http://www.maxonmotor.ch/maxon/view/product/motor/ecmotor/ecmax/ecmax30/272768

When I drive the motor at slow speed (50rpm), the Speed is not stable because the resolution of the speed feedback is just +-6rpm. I have an encoder with 2 lines and 500Counts per rotation. I work with the STM32 MC PMSM SDK v3.4.

Other strange thing is that I need to set in the ST Motor control workbench pole pairs 2 and Encoder pulses per mechanical revolution to 1000. I my opinion it should be pole pairs = 1 and pulses = 500. But with this setting the motor doesn't runs and make a lot of noise. With the ''wrong'' setting the motor is running but not stable and also the rpm readed back from the firmware with the command

ulMeasuredSpeed = UI_GetReg(oUI, MC_PROTOCOL_REG_SPEED_MEAS);

is not correct, its about 2 times too slow, why this?

Why it's not possible to set the speeds in a higher resolution than 6rpm? And how can I change this?

I need urgently help otherwise the project will be killed.

Best Regards

#stm32-mc-pmsm-sdk
4 REPLIES 4
Gigi
Senior
Posted on December 12, 2014 at 11:56

Ciao

I'm sorry for the late reply. I was involved in the development of the new release version and I suppose that is too late.

Anyhow

I would not be

able to help you.

The choice to limit the resolution of the speed to 0.1 mechanical Hz has been done many years ago and to change it to 1 RPM or less will be a big impact in the library so I think for the moment we will have this limitation.

Regarding the second point maybe I need more information (let me know if is still necessary).

Ciao

Gigi 

dominik
Senior
Posted on December 21, 2014 at 21:07

Hi Gigi

The problem with not stable speeds isn't solved yet.

I'm working on a STM32F407 and I'm using a 3 Shunt current measurement with an external OP-Amp with an offset of 1.65V to filter out the noise at GND. The motor is turning but now when I measure the current on phase A and read the current Ia over the DAC1 Out, the readed current is inverted. Why this? I think thats the root cause. Where can I change the polarity of the current measurement? Or is it normal that the Current from the DAC is inverted? It should be 100% the same plot, am I right?

Please take a look at the Plots. (Scope 16 is inverted on the Oscilloscope)

Best Regards, Dominik

________________

Attachments :

CH4_Inverted_scope_16.bmp : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HzGz&d=%2Fa%2F0X0000000bJV%2FOU0M8vUa6KI1VyVF8DLp2atQfvBJNmG0zvBCfG.9GQU&asPdf=false

scope_14.bmp : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HzIk&d=%2Fa%2F0X0000000bJU%2FcDK9LBCPWKVBTOvLwZ6CRIIQu35CiIxUEULzBjxNTPc&asPdf=false
Gigi
Senior
Posted on January 07, 2015 at 15:42

Ciao Dominik,

The convention used for the current is ''positive when going from the inverter to the motor''.

So if you put a current probe in the motor phase A (positive going from the inverter to the motor) you will have the DAC output (Ia) in phase with the measured current.

If you put a voltage probe in the shunt resistor (I suspect that you did it) of the phase A (with the GND of the oscilloscope connected with the GND of the inverter) then you will se the two waveform in opposition (like scope_14.bmp). This because positive current from inverter to the motor generate a voltage drop into the shunt resistor that is negative.

Any how from the capture the current seems regulated (if the polarity was not good you should have over current immadiately).

 

Ciao

Gigi

Laurent Ca...
Lead II

The question has been moved from the "Motor Control Hardware" section to the "STM32 Motor Control" section (the question is about the STM32 MC SDK). 

Best regards