How do I calculate an inverse engine torque map from an engine torque map?

16 visualizaciones (últimos 30 días)
I am in the process of designing a torque based control structure for a racing motorcycle. As part of the control structure, a desired torque input has to be converted into a desired throttle angle. I already have the engine torque map, a two-dimensional table correlating throttle angle and RPM with torque (i.e. for a given throttle angle and engine speed, the engine will produce a certain torque). Now I need an inverse engine torque map that allows me to calculate the required throttle opening for the desired torque at the current engine speed).
My question is, what is the most efficient way to derive an _ inverse _ engine torque map from the regular engine torque map. Any suggestions for doing this automatically rather than manually?

Respuestas (2)

Zikobrelli
Zikobrelli el 16 de Jun. de 2014
RPM=[500 1000 1500 2000]';
alpha_throttle=[0.1 0.2 0.4 0.8];
torque_map=
[67 89 95 108
74 92 110 123
80 97 115 127
84 106 119 135];
RPM_dmnd=1000;
Torque_dmnd=92;
Z=interp2(RPM,alpha_throttle,torque_map',RPM_dmnd,alpha_throttle);
required_throttle=interp1(Z,alpha_throttle,Torque_dmnd);
  3 comentarios
Zikobrelli
Zikobrelli el 29 de Mzo. de 2015
i'm not very experienced with simulink, but if it works with matlab, it should be ok.Look at your vector dimensions on simulink
KyoungSeok Han
KyoungSeok Han el 20 de Feb. de 2016
I think simulink Matlab m function does not provide the interp1 or interp2 function. How can i find the new look up table about required throttle = f(torque, RPM), namely new table has the following structure, column -> torque (mx1) , raw = RPM(nx1) , table content= throttle (mxn).

Iniciar sesión para comentar.


Piyush George Alexander
Piyush George Alexander el 2 de Oct. de 2018
Does this work if the torque is not monotonously increasing or decreasing ?
RPM=[500 1000 1500 2000]';
alpha_throttle=[0.1 0.2 0.4 0.8];
torque_map=[67 89 95 108 74 97 97 97 97 97 90 88 85 83 74 65];
surf(RPM,alpha_throttle,torque_map); figure(2) surf(RPM,alpha_throttle,torque_map'); RPM_dmnd=1000; Torque_dmnd=92;
Z=interp2(RPM,alpha_throttle,torque_map,RPM_dmnd,alpha_throttle);
figure(3) plot(Z,alpha_throttle);
required_throttle=interp1(Z,alpha_throttle,Torque_dmnd);

Categorías

Más información sobre Statics and Dynamics en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by