Maximum Torque per Ampere Control Logic

I have an m file creating MTPA (Maximum Torque Per Ampere) curve. In simulink model I have a constantly changing input that needs to select the data according to the curve. But I haven't seen any possible way to do this, please help me...

 Accepted Answer

Sreerag, have you looked into lookup tables?

4 Comments

I have. But the problem is I haven't seen any way to incorporate the m file into the look up table. I am new to this, so please help me out
Of course, if you already have an m-file that creates the curve (and if that's all you need) you can use the function itself as the lookup table. From the Simulink library "User-Defined Functions" pick a MATLAB function block (in earlier MATLAB releases the block used to be called Embedded MATLAB function), open it and insert the MATLAB code. E.g.
function out = myLookup(in)
out = sin(in);
end
But still there is a problem. I have the m file that creates the curve. I need to get the y axis data from the curve as output with respect to the input data. Is that possible??
Mischa Kim
Mischa Kim on 21 Mar 2014
Edited: Mischa Kim on 21 Mar 2014
Sure, see the example above. in would be your input value ( x ), the sine is the curve (replace with your curve), out is the corresponding output value ( y ). For each input value you get one corresponding output value, continuously changing the input will result in the corresponding output signal based on the curve.
And, of course, the curve does not need to be a nice, smooth one, as the sine above. That is, you can also, e.g., if-else or switch commands to construct the curve.

Sign in to comment.

More Answers (1)

hello, could you send me the m file? thank you very much!

Categories

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!