cancel
Showing results for 
Search instead for 
Did you mean: 

BLDC motor: How to archive higher startup torque?

JA.1
Associate III

Hi ST Community

I am working on a project where I want to use a BLDC motor for a screwdriving process.

The setup is based on the B-G431B-ESC1 and a Maxon motor https://www.maxongroup.com/maxon/view/product/651618 (with a 6:1 gear added). The motor control is based on FOC generated from using STM32 MC Workbench. Power supply is 24V 10A. A hall sensor is used as a speed sensor.

I am experiencing two issues here, comparing to what I expect, and to what I experience when I connect the motor to an off-the-shelf ESC.

  • Low startup torque
    • For a screwdriving process it is important that the motor can deliver a high torque already from zero speed. I am having a hard time archiving this with my setup. I can only archive something like 0.5Nm, but the current applied is low. Is it possible to setup the motor controller to provide more current in a startup phase?
  • Current supply is low
    • I discovered that the torque performance is bad (archived only 1.9Nm), but in the same time the current applied to the motor is lower than expected and what other ESCs would apply. The B-G431B-ESC1 and the code is somehow limited in terms of how much current the combination allows. I already tried to increase the nominal current setting (motors nominal current is 3.29A but peak current of much higher is ok), to 10A without getting readings of anything higher than 5A. Why is that? The board should utilizes that the setting is set to 10A and that the power supply is able to provide 10A, when the motor is subject to a high torque. But as mentioned it stops a around 5A.

The steps that I've taken are:

Use the motor profile determined from the Motor Profiler to setup the motor parameters in STM32 MC Workbench. Use ST MC Workbench Monitor to start motor with (Speed control mode). The motor is attached to a test bench with an adjustable torque load.

Is it simply due to the board and software being optimized for usage in drone applications? Or what am I missing here?

Thanks in advance!

1 ACCEPTED SOLUTION

Accepted Solutions
JA.1
Associate III

I figured out how to archive a higher output current but it seems to me it is more a workaround. I tried to increase the nominal current further to 15A and finally it can provide more than 5A (I measured 10A which is the maximum of the power supply). This and using a higher duration for startup speedcontrol also helped archiving a higher startup torque.

View solution in original post

5 REPLIES 5
JA.1
Associate III

@DB.7ERGANTIN​ You've been very helpful before. :D

JA.1
Associate III

I figured out how to archive a higher output current but it seems to me it is more a workaround. I tried to increase the nominal current further to 15A and finally it can provide more than 5A (I measured 10A which is the maximum of the power supply). This and using a higher duration for startup speedcontrol also helped archiving a higher startup torque.

jouko.perkkio
Associate III

For RPM starting at zero, you cannot inject much _power_ to the BLDC motor. The load that controlled "sees" at motor coils is of very low impedance. Meaning that immediately when the "switches" open, the current rises very fast, and controller needs to turn off the switches fast also. The phase voltage will not be very high, typically around a volt or two. So the P = U*I is left pretty low. In other words, for low RPM, you must be able to provide as much current as possible in order to get more power. The way you achieve this is from WB, is that you must specify the "nominal current" to equal the maximum current that your phase control electronics is able to provide. It probably is more than your power source's rated 10A (which is probably the RMS current it supplies). Phase current may be lot higher if your wiring etc allows for it.

Second, you can (should) play a little with the PWM frequency. For low impedance motors, typically you prefer to use higher control frequency. I have STM32G431 running full speed (170 MHz if I remember correctly), and it can operate up to 24 kHz without errors, but laving some headroom, I use 20kHz control frequency.

Third; for these very quick PWM control sequences, make sure that you minimize the voltage ripple at the power supply. Your 10A power supply must be bypassed with lots of low-impedance capacitance. Low-ESL electrolytes or lots of at least 2*over-rated ceramic capacitors.

Thanks for taking time to write a comprehensive description of the theory. Appreciating it! Also it makes sense. :)

Laurent Ca...
Lead II

The question has been moved from the section "Motor Control Hardware" to the "STM32 Motor Control" section (the question is about the STM32 MC SDK). 

Best regards