This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

pi_id running into saturation!?

Hello!

at the moment i do experience some weird behaviour of my motor controller.

I am using the 28035 and the code has the general structure of HVPM_Sensored Project.

The motor i am using has only hall sensors. Between the 6 states of the hall sensors i do interpolation which does work pretty well.

To align the Hall Sensor ramp with the electrical angle i did the following procedure:

- LEVEL without closed loop operation

- rampgenerator as position feedback

- VdTesting = 0, VqTesting have a fitting value

I visualized the rampgenerator and the hall sensor ramp on Osciloscope using pwmdac. After calibrating they fit perfectly together (no phase, same waveform).

The next step was closed current loop operation with hall sensor as feedback and current sensing. When applying an value for IqRef and setting IdRef = 0 the motor starts turning.

The first thing i noticed is that the pi controller for id component runs into saturation. I can not explain this to me. It should be around 0. Another point is, that the motor does not spin at the expected speed. When increasing Iqref the motor speed does not increase. Only the current that is drawn out of DC-Source increases.

Is there anybody who has an explaination for this beahviour?

Thanks for your help.

  • I talked to some people and they said that it is possible and normal that the Ud Voltage is that high (depends on stator coils). With that static limitation of pi_id.Out and pi_iq.Out it is possible to run into an field weakening or field intensifying condition.

    Now i do a dynamically limitation of pi_iq.Out. pi_id.Out gets the value it wants and out of that value i calculate the saturation for pi_iq.Out in order that the vectorial sum does not exceed 1. Now it works like it should.