Performance Limit of the B-G431B-ESC1

Hello,

I am currently testing the B-G431B-ESC1 in open loop position control with only the friction of a worm drive as the load.

My motor starts skipping at around 75 rad/s velocity limit with the following limits:

motor.current_limit = 4;

driver.voltage_limit = 12;

The Motor has 4 pole pairs and a phase resistance of around 0,35 Ohm.

My goal would be that the motor can spin with 170 rad/sec under a load of 0,28 Nm.

I Only have 12 volts available in my project so that voltage limit can’t get any higher. And for regarding the current limit, under the limitations above the B-G431B-ESC1 already reaches 75 °C after a couple of cycles.

I currently can’t test the closed loop configuration because I don’t have a sensor yet. That’s why I wanted to ask for some feedback if this performance could be achieved with closed loop ?

Thanks in advance

The G431-ESC1 should have the capability to do 170rad/s.

Whether your motor can drive your load at this speed at 12V, that’s another question, I can’t answer that one…

What is the kv of the motor? You can use that to calculate the necessary current. Torque = current x 8.3 / kv, and by plugging in your target 0.28Nm and rearranging, current = kv / 29.64

If the motor will be mounted to aluminum structure, that will act as a heatsink and increase the amount of current you can use. EDIT: Just noticed it’s the ESC overheating, not the motor. Can you put a heatsink and fan on it? That will probably double the current you can use.

EDIT: More calculations: 170rad/sec = 1623rpm, and to get that with 12V means at least 135kv, which gives 4.5 amps, which is more than you’re already using. And you actually need higher kv than that to make up for the slowdown under load, so probably more like 5 amps.

2 Likes

170 rads per second with 0.28 Nm of torque would be an output power of 47.6 watts. So at 12 volts and say 50% efficiency you would theoretically need 8 amps. 50% efficiency is pretty good and you won’t get that without proper commutation, so no not open loop, but it seems doable. However if efficiency is only 50% then half the power escapes as heat and that’s a fair bit of heat in the motor, however I guess that would be a separate issue which was not the question.

I think the answer then is yes this board can handle it however others have noted it actually gets too hot well before it’s rated current, the specs seem to assume it has a lot of air cooling from the propellor on a drone, it’s supposed to be used in a drone. Perhaps a good cooling fan would get you there. Centrifugal fans tend to have more pressure and higher velocity air streams, and you might want that.

With open loop, the angle between the magnetic field (the resting position of the rotor if it was not under load) and the actual position of the rotor at any given moment (this angle is called the motor timing) will almost always be far from ideal. The better the motor timing the better the energy efficiency and torque per amp you get. The optimal is 1/4 of a “step” (as though it were a stepper motor), i.e. 90 degrees in the electrical cycle. However this point is also basically very close to the point where the motor stalls, I have never been clear why it is not exactly the same point but it’s certainly close.

I might have mixed something up by a factor of two somewhere in there, but the main point is that the point of optimal efficiency is very close to the stall point. This is why open loop does not work well if you need good efficiency, you have to trade between unreliability and good efficiency.

SimpleFOC in torque mode basically reads the angle from the sensor repeatedly and then sets the magnetic field accordingly, so this motor timing thing is very close to the optimal point, theoretically. In reality I think a lot of people are actually getting poor motor timing for various reasons and don’t realize it.

The Motor should be more than cabale to do this. It is out of an adaptive Steering Wheel from Ford where it does more than the performance i am looking for.

Thanks for the Input. I would need to test the kv rating of the motor. I don’t have an angle sensor yet so I would try to find the maximum speed in the open loop velocity control with a voltage limit of I Volt.

Thank you for the help. Then I will order a fan, a heatsink and a position sensor and check the performance in closed loop torque mode.

Update: I testet the kv value with open loop velocity control. I got a value of 401.
When i multiply this with 1.5(as suggested in code section for bldc motors) the motor reaches 170 rad/sec in open loop velocity control.
I also added the kv value in the open loop position control and there i get a max. of 100 rad/sec velocity. Also the temp on the controller is lower at around 60 °C.
As soon as I get a Sensor and a cooling solution ready I will test it in closed loop torque control

The best way is actually to connect an oscilloscope and turn the motor by hand, then measure the relationship between peak voltage and frequency. This eliminates the complications that are caused by the rest of the system, which will reduce the apparent KV rating to less than what it really is, often by more than 15%.

I dont have access to a oscilloscope at the moment. But when i get the chance I will test it that way, thank you.

1 Like

I have tried to study the STM b-g431b-esc1 discovery kit via information provided in this forum and other places. I found some documentation here:
https://www.st.com/en/evaluation-tools/b-g431b-esc1.html#documentation
I did not find the schematics from STM, but here:
https://www.digikey.ch/reference-designs/en/motor-control/2840

I noticed, that this kit is sold by several distributors at a very attractive low price level.

I hope for some help with these questions:

  1. It seems to me, that the design aims to be used by drones. I expect 24 VDC and a PWM frequency of about 20-40 kHz. If you do not have forced air cooling, then what kind of motor long term current can this ESC handle without overheating?
  2. I have studied how currents are measured, but I like to be more sure, that I understand it right. Am I right, that the max short term negative current to be measured via the three shunts would be -75 Amp? Would you normally set the internal Op-Amp amplification to 8?
  3. I know that the self inductance of low resistance shunts can be an issue for correct measurements, and it might be somewhat compensated by a special print layout. Did you notice issues regarding that? (example: 3 mOhm and 10 nH makes a time constant of 3.3 us.)
  4. I can see, that the PCB got an NTC for temperature measurement. Is it placed near the power transistors in order to facilitate some temperature protection?
  5. A potentiometer is placed on the Daughterboard. However, it seems that the main PCB microcontroller also got an input from potentiometer. Is it the same signal to both microcontrollers?
  6. Do you know of other low cost ESCs on the market, that is better suited for robotic applications with an average motorpower of about 100 W and short term peak power of about 1000 W? I have seen this link, but it is hard to know the preconditions for the specified current and power levels:
    https://docs.simplefoc.com/bldc_drivers

You could try the odrive micro but it’s like $100 usd last I checked. As far as I know the B-G431-ESC1 board is the only one in this class off the shelf right now. however this is exactly why we are pursuing the QVADRANS. In the future people will hopefully use that instead and knowledge needed to answer questions of your nature will be common, and secondly nearly self evident because it is simpler, there will be no need to hack/coerce things, all important pins are available etc. etc. It’ll just be a paved road, like when you go to use an arduino, no bs.

1 Like

@Backflip I cant anwser all your questions unfortunatly.
But at the moment i got my Motor + ESC1 combination working in closed loop with max velocity of around 170 rad/s and a torque of 0,125 Nm. For that i needed to use a heatsink and also a fan for cooling the ESC. this would result in 21 W of power that the system can handle. So unfortunatly not anywhere near the 100 W that you would like.

@Anthony_Douglas unfortuntaly I can not switch hardware anymore in my current project. But if I do a second revsion of it or something similar, the QVADRANS looks really promising. Did anyone already test that board ?

Some people have tested the prior version of the board, but some changes were made since then, and to be honest I didn’t see them reporting much about the details of their testing. But I think it’s gonna be good!