MDB FOC motor control using HALL - Torque control

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MDB FOC motor control using HALL - Torque control

382 Views
srnp6037
Contributor I

In reference to this post.

https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/S32K144-FOC-using-Hall-sensor-motor-can...

 

How to change this model from speed control to Torque control ?

Thanks,

0 Kudos
4 Replies

337 Views
stefanvlad
NXP Employee
NXP Employee

Hello Naga and a Happy new year!

 

Thank you for your question on the topic https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/S32K144-FOC-using-Hall-sensor-motor-can...

First I do recommend using the latest Field-Oriented Control of PMSM Using NXP™ S32K144 Kit Version 1.2.0.0

The model above is using the Hall sensors to read and estimate the motor speed, this will be controlled in the Speed Control block:

stefanvlad_0-1704737111598.png

This Speed control technique will maintain the motor speed to the Required input Speed and will also use the Current Controller to adjust the Torque requirements based on the Speed reference, for example if the speed decreases, than the current controller will increase the current output Iq and this will result in a Torque increase of the motor.

Off-course there are other motor control techniques, and one of them is Direct Torque Control (DTC), that is a bit more complex and requires a different sensor topology or a flux observer in order for the system to get the position of the motor shaft (rotor).

We can take a look for DTC in https://www.mathworks.com/help/mcb/gs/direct-torque-control-dtc.html

 

stefanvlad_2-1704737577141.png

If we take a look above, DTC needs another Control Loop for Torque Flux estimator and also the Sensor decoder, in order to calculate the rotor position of the motor.

To get the position feedback, it will require a Quadrature Encoder sensor connected to the motor shaft, that is not present on the S32K144 Kit.

There is another option to use an Observer in order to estimate the rotor position, one example is Flux observer, but hasn't been implemented by Mathworks in the model above. Here is the link for Flux Observer https://www.mathworks.com/help/mcb/ref/fluxobserver.html

 

Let me know if this helps and you have more questions,

Stefan V.

 

 

 

 

0 Kudos

301 Views
srnp6037
Contributor I

Hi Stefan,

Firstly Happy new year to you as well. Hope you have a great year ahead.

If I understand correctly, if I remove the speed control loop and directly input Iq_Ref from a constant block to Current Control Block as shown in the picture below. I should be able to run in Torque control based on Hall correct? or Am I oversimplifying it?

srnp6037_0-1704907574044.png

 

Thanks,

Naga Penmetsa

0 Kudos

273 Views
stefanvlad
NXP Employee
NXP Employee

Hi Naga,

 

Thanks for the best wishes and also a good year to you too,

The proposed modifications that you provided will create an Open Loop control , where the Torque will be adjusted to a fixed value by the constant Iq = 0.2 

In order to better understand can you provide more information about the application you are using the motor? 

The Hall sensors in the S32K144 kit will help you to estimate only the Speed of the motor and not the position, in order to estimate the flux, like previously explained. This is why I do not recommend removing the Speed Control, since this can use the Hall sensors input and regulate the speed.

For that you will need to implement a Flux estimator that will help to close the loop and have a Closed Loop for Torque control. There is an Flux estimator block in the Motor control Blockset: https://www.mathworks.com/help/mcb/ref/fluxobserver.html

stefanvlad_0-1704991063580.png

And for a Torque Flux estimator you can use this control scheme in the current control subsystem:

stefanvlad_1-1704991283273.png

So yes, this is not as simple as you've said, there are multiple modifications needed and for optimal control a Quadrature Encoder is needed to achieve best results for lower speeds.

Hope this makes more sense and is clearer for you,

Stefan V.

0 Kudos

261 Views
srnp6037
Contributor I

Thank you very much for the reply Stefan,

My application is a LEV Traction Inverter 48V, 2kW Inverter. This will have a throttle input and the vehicle accelerates/decelerated with throttle rotation.

I will study your recommendations closely.

 

Thanks

Naga Penmetsa

0 Kudos