Skip to main content
luke514
Associate III
July 6, 2026
Question

Engine stalled due to undervoltage or overheating

  • July 6, 2026
  • 2 replies
  • 20 views

Hello everyone, I have successfully controlled the Lin Engineering BL23E3301D04RO motor with the Nucleo-G474RE and IHM08M1 inverter .. using FOC configured in MC Workbench and the motor’s built-in encoder.

I then copied the entire project and changed only the engine.

Now I’m having trouble getting the following PMSM motor to run.

  • Kt — 1.54 N·m/Arms

  • Motor Constant Km— 1.63 Nm/sqrt(watt)

  • RM (lin to line) at Amb — 0.60 Ohms

  • Inductance — 2.24 mH

  • Motor Poles — 16

  • Ipeak Motor — 51.19 Arms

  • Tcont Stall — 20.74 N·m

  • Icont Stall Motor — 13.60 Arms

  • Tpk motor (25°C) — 64.54 Nm

  • Rated speed — 1914 rpm

  • Rated Power — 2826 W

  • Inertia (KBM) — 5.69E-3 Kg-m² (4.20E-3 lb-ft-s²)

  • Max Static Friction — 0.203 Nm (0.150 lb-ft)

  • Cogging Friction — 0.102 Nm (0.075 lb-ft)

  • Poles — 16

  • Back EMF Constant  — 93.3 Vrms/kRPM

 

In MC Workbench, I have set the following:

 

I have configured the quadrature encoder to 2000 pulses per mechanical revolution.

 

The power supply is CPX400S:

  • Vout — 46V
  • Iout,max — 5A

I’ll break down the tests I’ve carried out below so we can understand them better.

 

----------------------------------------------------------------MC Workbench----------------------------------------------------------------

PROBLEM no.1: the motor gives a slight initial jolt, then stops (making a noise); the current supplied by the power supply increases and the power supply voltage drops until an undervoltage fault occurs. If I let the current rise, I’ll burn out the IHM driver (it’s happened before).

I have NOT tried sensorless mode (I was getting feedback errors and didn’t try adjusting all the various parameters) and I’m using this encoder. I am required to use the Encoder in the final application so I’d like to sort the problem out with him.

I don’t think it’s a PID issue, both because I’ve tried various settings and the situation hasn’t changed… and because it seems that something else is blocking the motor; the PID tries to push it to the limit by demanding maximum output, but the motor remains stationary.

TEST: trying to change the speed PID parameters and cut-off frequency of the current loop does not seem to solve the problem. In the current loop, the motor either remains stationary or behaves in the same way of the speed loop.

My application has a maximum speed of 250 rpm (even though the engine can reach 2000rpm), so this immediately raises the first question:

  1. Which parameter in MC Workbench should be set to 250 rpm? The ‘Target speed’ in the Speed Regulator?

 

SUSPECT no.1: I don’t know if this has anything to do with it, but (if I remember correctly) when I was using the Lin Engineering BL23E3301D04RO motor on the oscilloscope, with the probe connected to the encoder’s A pulse, I could see a clear signal… now I see completely distorted, unrecognisable pulses. I admit that the encoder cables (mounted on the motor shaft) were cut, soldered to a further 4–5 cm of cable and then adapted (crimped and fitted with a connector) to connect them to the connector on the IHM08M1.

 

SUSPECT no.2: if I set the quadrature encoder to 1000 pulses per mechanical revolution (and not 2000 as it should be) the motor runs smoothly at a speed that is double (or triple – I can’t remember) the set speed. I’m not surprised that the speed is different… but I am surprised that the motor runs without any problems!

 

----------------------------------------------------------------Motor Profiler----------------------------------------------------------------

SUSPECT no.3: are the motor parameters correct? “It’s good to trust the datasheet, but better not to” – so I’ve decided to estimate them using your Motor Profiler (thereby switching to sensorless control). Here too, I’m not quite sure what values to set for ‘Max Speed’ and ‘Max Current’ for the estimation… the motor’s maximum values? Or the maximum values I set on the bench-top power supply? This test leads to another problem:

 

PROBLEM no.2: at around 28%, the profiler ‘freezes’ – that is, the motor accelerates for a few seconds, then stops abruptly, then starts turning again for a few seconds, then stops abruptly, and so on, until it triggers an overheating fault. I’ve tried both the motor’s rated current (minus 15%) … and 5A (well below the motor’s 50Apk) … but the problem persists.

 

SUSPECT no.4: the motor isn’t completely ‘idling’ – that is, it has a shaft and is mounted within a mechanical structure, so it has a bit of load torque… I hope that isn’t a problem for the Motor Profiler.

 

----------------------------------------------------------------CONCLUSIONS----------------------------------------------------------------

I’m wondering what might be causing these two issues… In the meantime, I’m continuing to adjust the parameters in MC Workbench and monitor them using CubeMonitor.

If there are any specific parameters you’d like to know about or see, just let me know which ones and I’ll plot them and attach screenshots, updating the main post.

 

 

2 replies

Lead III
July 6, 2026

now I see completely distorted, unrecognisable pulses

 

Have you tried adding resistors as termination? IO-pins are high impedance so they can pick up a lot of distortion.

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
luke514
luke514Author
Associate III
July 6, 2026

Which value? Do you mean in series between ENC_A, ENC_B and Z and the uC’s GPIOs?

Lead III
July 6, 2026

I looked it up.
The BL23E33-01D-04RO motor has a E5 Encoder. Those have an output voltage of max  3.4 V 20 mA. So that means you need at least 170 ohm. You can start with 1k or 470 ohm. I wouldn’t go lower. I see the board already has 4k7 resistors and 10pf capacitors. That should help at least somewhat. So perhaps you can try keeping the signal wires away from motor cables.
When measuring with an oscilloscope use a ground spring, not ground crocodile clamp.

"Kudo posts if you have the same problem and kudo replies if the solution works.Click ""Accept as Solution"" if a reply solved your problem. If no solution was posted please answer with your own."
mƎALLEm
ST Technical Moderator
July 6, 2026

Hello ​@luke514 ,

That thread should be posted in STM32 MCUs Motor control forum board.

I’m moving the post then.

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
luke514
luke514Author
Associate III
July 6, 2026

You’re right, thank you