cancel
Showing results for 
Search instead for 
Did you mean: 

EVSPIN32G4 Speed control Issue

Afam_Nwokolo
Associate

 

Hi I am having issues spinning a motor in speed control mode on the EVSPIN32g4 Evaluation board . The BLDC in question is BL23E33-01D. We have a quadrature encoder connected with a 1000 Pulses per revolution. ALl testing is done using the Eval board and the Motor pilot GUI. i am using MCSDK 6.3.0

We seem to be able to run the motor when we setup the project in Observer + PLL mode but when we change to quadrature encoder we get issues which i will detail below.  

When we run the motor we seem to be able to get consistent behaviour when we are at speeds under 1500RPM. When we increase the speed to between ~1600RPM and 2000, the motor slowly decelerates and tracks to a slower speed than what is set (for instance it runs at 1000 when we set the speed reference to 1700. We are able to reduce the speed and increase it, but when we try increasing the speed to above 1000RPM, the motor speed saturates and doesn't increase. This behaviour persists until we reset the board. 

 

When we increase the speed to above 2000 after starting the motor, the motor Speed increases and then when it gets faster, it oscillates around 2000 and then stops. We are unable to move the motor again when we reach this state until we reset/power cycle the board. Also the power draw as shown on the power supply remains higher even though the motor is not moving, ie if the current drawn by the power supply is 0.2A when the motor moves, after it reached this bad state, the power supply current draw is the same. When we press the stop button though it reduces. 

 

Initially i believed the issue came from the encoder alignment but i could be wrong. To get this value we run the motor in PLL and observed the U current with a current probe and the Z axis of the encoder connected. 

 

Afam_Nwokolo_1-1720561449188.png

Afam_Nwokolo_2-1720561460926.png

The screenshots above show how i ended up with an encoder alignment of 117Deg (360 = 82ms; 117 = 26.8ms). 

And this encoder alignment is what i had used for the testing i described above, But i'm not 100% sure i interpreted the alignment properly because within the same current graph, i can get different data from what i described above

Afam_Nwokolo_3-1720561602039.png

Afam_Nwokolo_4-1720561612730.png

From the screenshot above, i moved the cursors to a slighly different starting point and got an encoder alignmnet of 208 ( 360 = 82, 208 = 47.6)

Could you please clarify maybe by marking how best to categorize alignment in the scope window as shown above?

 

We will also like to generate the project in position control mode, After inital testing, using the same encoder alignment we are able to move the motor. Any advice on how to address this issue would be helpful. I have attached the MCworkbench project i generated.

2 REPLIES 2
GMA
ST Employee

Hello @Afam_Nwokolo,

Thank you for your report. We will start working on a fix and we will come back to you shortly once we know more about it.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA
GMA
ST Employee

Hello @Afam_Nwokolo,

Encoder input RC filtering may be too strong for the configuration. Could please replace R81/R82/R83 (10kohm by default) with resistor equal to 330ohm?
On our side, we are able to use EVSPIN32G4 + BL23E33-01D motor at 4000RPM in a stable way with this modification.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA