cancel
Showing results for 
Search instead for 
Did you mean: 

Start-up issues with custom PMSM, motor will not start

DTard.1
Associate II

I am working with a custom SM-PMSM, and built a motor drive to power it.

The motor does not start, and the START-UP FAILURE always occurs.

There is a pulse of current delivered to the motor, which I assume is used to orient the rotor.

Using the monitor in motor control workbench, it shows speed ramping from 0 - 100, and then the failure is indicated. Note that despite the speed measurement, the motor is not moving. The only motion I observe is the rotor wobbles briefly with the current pulse I mentioned.

Here are the motor parameters I know for certain:

  • Nominal voltage, 24V
  • Rated current, 3A
  • 10 poles (5 pole pairs)
  • Maximum speed (300 RPM)
  • Rs = 0.31 ohm/phase

Ld and Lq are not known, but were estimated to be 6.5 mH each using a benchtop VFD to test. I plan to do a DC standstill test to try to get a better estimate of Ld and Lq.

I set the motor control parameters as follows in MC workbench

  • Alignment before ramp up: 2000 ms, final current 3A, electrical angle 90 deg.
  • Speed ramp duration 3000 ms, final value 100 RPM
  • Current final value is 3A.

On the motor control board, I have scoped all 6 MOSFETS and verified all are switching.

This board uses 2 isolated current sensors, and measurements show the current sensors are following the acual current which was measured with a Hall effect probe.

Another thing I noticed using the monitor in MC workbench is the the currents Id and Iq seem to be ramping up prior to the fault.

Any suggestions as to settings etc. I can try to get this motor turning?

12 REPLIES 12
DTard.1
Associate II

Hello

Good news is that I am able to operate with standard code (not open loop) and consistently start and run the motor continuously.

For some reason, the open loop code isn't working; despite trying different settings.

It seems to be trying to drive the motor at 60 Hz or higher; the motor top speed is at 25 Hz.

However, since I have the motor working with the regular code, I would like to continue testing here, as I can validate the design.

I can return to open loop if needed in the future.

Speed sense is unstable; it oscillates over a 100 RPM range.

The motor seems to be running close to constant speed.

Is there a user guide or other method to provide advice to tune the speed sense?

DBE
ST Employee

​Hello,

Which speed sensor do you use? observer PLL or observer Cordic? sensorless speed sensing is based on back EMF alpha and beta reconstruction, therefore these signals should be clean. You can observe them with the DAC by selecting "observer BEMF alpha (PLL)" or "observer BEMF beta (PLL)" if you use observer PLL otherwise you need to select "observer BEMF alpha (Cordic)" or "observer BEMF beta (Cordic)". If these signals are noisy then you can tune the observer parameters in the monitor "advanced" panel. Usually when using observer PLL, we decrease "observer C2" gain to clean up the signal if it is noisy.

Best regards

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.
DTard.1
Associate II

I am using the PLL speed sense.

I tried both, but Cordic seems unstable in my application.

The motor runs well with the PLL.

I suspect the feedback may be noisy; when I observe Id and Iq in monitor they sometimes fluctuate widely, I expected they would be relatively stable in steady state.

It is good to know adjusting C2 gain may help.