Multiple motors with ESC, some motors need more power to start

Hey,

I have 4 brushless motors with ESC, wired to the same power source and same Servo tester, so they should all work together, at the same time.

When I turn the Servo tester a few mm, two motors starts to work - and slow. (as expected) But for some reason not all of the motors start.

The other motors start to work just when I turn the Servo tester more - a third motor will start after something like 1/4 turn of the Servo tester, and it starts fast (the speed you would expect it to have when the Servo tester is 1/4). Another motor starts after 2/4 turn of the tester, and so on.
And since the motors start to work just after the Servo tester is already turned, they don't have the same range. (because they immediately start fast, and in different points)

  • My battery is LIPO 11.1V , 5000mAh.
  • The motors are A2212 1000KV Brushless with ESC.
  • When I swap the cables of the motors (to check that it's not just a bad wiring) then it doesn't change anything. The same motor always starts first, doesn't matter if I swap the cables connections with the motor that starts last.
    The battery is charged, and everything is wired correctly. (well, all of the motors "work", just not as expected)
    I use L298N motor controller to get 5V for the servos.
    I'm testing the motors without Arduino, so there isn't software.
    (I think this is all of the important, useful information)

Does anyone have any suggestion what can cause this issue? I'm not an expert with electronics (to say the least), and I didn't find anything that can explain it.
Can it be a not good solder joint, that makes the motor require more power in order to start working? I don't know if it sounds stupid, but.. I'm just trying to suggest ideas :astonished:
(And it that's possible, then I'll try to re-solder the connections, but I want to make sure that it can even be an issue, before doing so)

I'll really appreciate any help!

P.s if you have good resources for learning about electronics, I'd like to know, since I want to learn and get better in that field, thanks! :smiley:

Edit

So I checked each motor seperately, and seems like some motors start just with higher values (from the servo tester) - even if that's a single motor, so what can cause that?

Make a spread sheet listing each motor. Measure the resistance of each of the 4 coils in a motor and enter into columns for that motor's line in the spread sheet.

Do the same for each of the motors. Are the resistances in each column identical?

If so, do all the motor bearing all have the same resistance to turning? Are the bearings sleeve bearings or ball bearings? If sleeve bearings, lube with a light oil and try your test again.

Paul

This is always a tricky one as when a motor starts it may drop the supply voltage to the others , that won’t then start .
If you connect each esc to a different PWM output you can customise the start value for each motor . It’s not likely to be reliable as ageing battery voltage, stiction, load, will upset things.
If you want reliable low speed a gearbox may help you

Paul_KD7HB:
Make a spread sheet listing each motor. Measure the resistance of each of the 4 coils in a motor and enter into columns for that motor's line in the spread sheet.

Do the same for each of the motors. Are the resistances in each column identical?

If so, do all the motor bearing all have the same resistance to turning? Are the bearings sleeve bearings or ball bearings? If sleeve bearings, lube with a light oil and try your test again.

Paul

hammy:
This is always a tricky one as when a motor starts it may drop the supply voltage to the others , that won’t then start .
If you connect each esc to a different PWM output you can customise the start value for each motor . It’s not likely to be reliable as ageing battery voltage, stiction, load, will upset things.
If you want reliable low speed a gearbox may help you

Thanks for replying!

So I checked each motor separately - just with Arduino and potentiometer, and that's what I found out -
motor #1 & motor #2 - minimum speed 42
motor #3 - minimum speed 62
motor #4 - minimum speed 78
The values are from the potentiometer.

However they all stop beeping when they have value 25~. (below that it beeps every 2 seconds, as if the data cable isn't connected, and no data is received. between 25 and the minimum speed, it doesn't beep, and just wait for a higher value - as expected)

Below the minimum speed, they don't even seem to try to work, and even if I "give it a push" to start - it doesn't. So I don't think that something like lubricating the motor would help (someone on the forum suggested it, for a similar issue)

And regarding Hammy's reply - I don't really mind controlling the low speed - of course I would like to, but at this point I just want them to work at the same time. My project is RC car, so worst case if I can't control the low speed, the crash will be more epic, that's all 8) need to remember to film it.
Anyways, of course I can fix it through the code:
Since I know the minimum speed of each motor, I can adjust it in the code. However, from my experience with robotics, it's not always a good idea to fix an electronics problem via the software. It will most likely work, but it can cause some dodgy bugs.

Unless you are using position or speed feedback in a control loop for each motor (closed loop control),
there's no cure for this problem, short of enforcing a minimum drive level that is known to work for
every motor. The mechanical differences between motors are not under your control with "open loop" drive.