5.2 FOC strategy for an IPM synchronous motor

5.2.8 Real-time interface and results


Figure 5.24: Block diagram for reading the uploaded LUTs.

Concerning the front panel, a tab control is inserted for separating the different interfaces – one for the parameters and the main diagrams, another one for the electric and control variables, the third for MTPA look-up tables analysis. When the CAN communication is added to the real-time, one section is reserved for visualizing the exchanged frames. Through the controllers, all the parameters are set for configuring the motor and for regulating the PI multiplicative factors, the reference ramp signal slope, the Butterworth cut-off frequency, the hysteresis thresholds and the number of filtered cycles for the debouncing mechanism. When the simulation starts, the user is able to activate the control algorithm, to send the request, to switch from speed to torque loop and also to establish the maximum charging and discharging current rates – the BMS is not yet simulated through the CAN bus in this phase. The waveform charts, the numeric indicators and the LEDs are inserted in the panel for reading and displaying the resulting variables, such as rotor speed, motor torque, flux-weakening and direct current PI status, etc. The simulation is classified as hardware-in-the-loop, because the SPARK board effectively runs the field-oriented control algorithm. However, the plant model is developed on the same board, so the HIL condition is not perfectly verified in prototyping phase. This aspect gives the chance for further consideration and future optimization – which will be discussed in the conclusive section. A part of the realized IPM user real-time interface for setting the parameters is shown in figure 5.25.

Figure 5.25: Section of the IPMSM front panel.

150 First case: torque loop

For the first simulation of the interior permanent configuration on the Alma Automotive SPARK hardware, the torque loop is used for regulating the motor’s behaviour.

In this case, the battery management system doesn’t send any stringent maximum charging and discharging current rates – default values equal to ±500 A are set, because the inverter DC never reaches the limits. The resistance torque is speed dependant, with a factor 𝛾 = 0.182 Nm s/rad in the first case and 𝛾 = 0.076 Nm s/rad in the second one. The external demand is equal to the maximum torque – 100% reference value – and the resulting waveforms are plotted is successive figures. In vehicle applications, the user torque request is traditionally obtained by mapping the position of accelerator and brake pedals. Thanks to flux-weakening algorithm, the speed is increased over the corresponding nominal parameter (𝑛𝑁= 4800 𝑅𝑃𝑀). It is possible to verify that the instantaneous maximum electromagnetic torque is 237 Nm only in constant torque condition, because in constant power area it decreases. Finally, the different loads produce different motor outputs. When the resistance torque 𝑇𝑟 meets the delivered 𝑇, the motor achieves the steady-state condition: for a smaller factor 𝛾 a higher speed is reached. For the reference value, a slope equal to 6000 Nm/s is chosen.

The d- and q-axis current contributions are shown in the following figure 5.26: both diagrams represent only the passage from null reference to maximum torque request. The motor starts from the MTPA condition in order to reach the constant power region, neglecting the opposite transition. The plotted waveforms are similar to the previous theoretical results.

Figure 5.26: Resulting dq-axes current contributions in IPMSM simulation, with 𝛾 = 0.182 𝑁𝑚 𝑠/𝑟𝑎𝑑 on the left and 𝛾 = 0.076 𝑁𝑚 𝑠/𝑟𝑎𝑑 on the right.

Figure 5.27: Results of IPMSM simulation, with a 100% torque request and 𝛾 = 0.182 𝑁𝑚 𝑠/𝑟𝑎𝑑.


Figure 5.28: Results of IPMSM simulation, with a 100% torque request and 𝛾 = 0.076 𝑁𝑚 𝑠/𝑟𝑎𝑑. Second case: speed loop and regenerative braking

The successive step is the simulation of the speed loop to verify its performance. In order to obtain comparable results, the request is close to the obtained result with a 100%

torque demand and a factor γ equal to 0.182 Nm s/rad. In fact, through the real-time interface, 𝑛𝑅𝑃𝑀 = 8830 RPM is set and then transformed into the corresponding electrical angular velocity – because the controller operates using the reference 𝜔𝑒. Also in this case,

the battery pack direct current proportional integral regulator is not working, because the estimated 𝐼̂𝐷𝐶 never reaches the imposed constraints: consequently, the user request is not limited. In the graphical results, the reference torque is obtained from the PI which manages the speed loop. It is possible to visualize when the motor reaches the voltage saturation condition, passing from maximum torque per ampere region to flux-weakening. The principal aspect is the regenerative braking zone when a null speed request arrives. The velocity value is always positive and tends to zero, while the quadrature current contribution becomes negative: the motor torque is negative, while the speed not, so the machine works in regenerative braking mode in forward direction (referring to figure 1.2). Consequently, the energy can be recovered because the energy source – a battery for the project – is recharged. On the other hand, for practical reason a saturation value has to be used, because the torque cannot freely change towards an excessively negative value. The lower limit is inserted in the block diagram for this purpose, and it is configurable in the interface: a value equal to −30% of the maximum torque is used (𝑇𝑛𝑒𝑔.𝑙𝑖𝑚𝑖𝑡 = −71 Nm). For the reference value, a slope equal to 15000 rad/s is imposed.


Figure 5.29: Results of IPMSM simulation, with 𝑛𝑅𝑃𝑀 = 8830 𝑅𝑃𝑀 request and 𝛾 = 0.182 𝑁𝑚 𝑠/𝑟𝑎𝑑. As well as in previous torque loop cases, the two current contributions in dq-axes represent only the passage

from MTPA region to flux-weakening condition. Third case: battery DC limitation in torque loop

The last case in the most complete one, because it includes the action of the PI which manages the battery (and inverter) DC. It is again a torque control loop, with a 100% user request and γ = 0.182 Nm s/rad for comparing the output waveforms with the previous results. In this case, the maximum discharging current is 320 A – the negative limit is not considered for this operating condition. Consequently, when 𝐼̂𝐷𝐶 increases and reaches the constraint, the regulator is activated (status on) and the switching mechanism (from torque to speed control or vice versa) is disabled. The IPM synchronous motor reaches the flux-weakening condition, but obviously a smaller mechanical speed is obtained. The PI, in fact, reduces the external request: for this reason, both user direct demand and filtered torque request – the regulated output – are displayed in the charts, obtained during the prototyping phase in the Teoresi laboratory.

Figure 5.30: Results of IPMSM simulation, with a 100% torque request, 𝛾 = 0.182 𝑁𝑚 𝑠/𝑟𝑎𝑑 and a maximum value equal to 320 𝐴 for the discharging current. The DC regulator limits the user demand.

In document Design of a PMSM Field-Oriented Control Algorithm with Flux-Weakening for Battery Electric Vehicles (Page 158-166)