Thread Tools
Oct 21, 2019, 03:48 AM
Registered User
Thread OP
Discussion

Reducing hacker motors (X-BL52S) response time considering the quad-copter controller


Hi guys,

I am trying to implement my flight controller algorithm on a quad-copter using four hacker motors, X-BL 52S. That being said, I have the following questions and I will appreciate if you could answer them:

- In my controller the motors response time (the time necessary for a motor to reach the desired speed) is very important, the lower the better, based on some preliminary tests I did with the drone, it seems that the response time of the motors is about 50 ms to 100 ms in an on to on scenario (when motor is rotating = on) and about 300 ms to 400 ms in an off to on scenario (when motor is stopped = off). What do you think about this? Can reach to a lower response time?

- It seems that the motor I am using (X-BL 52S) is kind of old, do you suggest other types of motors useful for my purpose? With a lower response time?

- So far I am testing the motors through some high level controller, but I thought that might cause some delay and perhaps it is better to test the motors directly with a board such as Arduino Uno, what is your suggestions?

- Basically what is the possible frequency for changing the motor speed?
Sign up now
to remove ads between posts
Oct 23, 2019, 08:05 PM
Registered User
Motor response is heavily determined by the ESC which you have not mentioned what you are currently using.

Changing ESCs and/or ESC parameters like startup power and motor timing will have a big impact. Being sure there is no soft start feature turned on is also important.

Blheli ESCs have good motor response capabilities on small to medium motors and are configurable, but if you are using large motors, there may be better options - I'm not familiar with that.

If you want to send updates to the ESC faster than the standard pwm servo signal allows (meaning >500 updates / second) you should look into oneshot or dshot protocols which are now common on smaller multirotor hardware.

Sending more updates to the ESC does not mean the motor will respond significantly faster.

Start with the ESC hardware and settings first. Large motors respond to changes slower. If all you care about is faster response, get good ESCs, small motors and light props.
Oct 23, 2019, 09:36 PM
If it flies, I can crash it.
rocketsled666's Avatar
The motor's ability to accelerate is a function of the current you let it have and the load it's trying to push. If you tested a bare motor alone your data is meaningless. You need the additional internal and drag loads of an actual prop to determine anything. The prop is going to add a lot of inertia, the motor's response will be much slower loaded than unloaded.

Also, most speed controllers can perform dynamic braking, though few will have this on by default. Dynamic braking should result in speed up/down response times that are very close. You are probably comparing acceleration under power to decelleration just coasting.
Oct 25, 2019, 10:22 PM
Registered User
Thread OP
Sorry for late reply, I didnt receive the notification.

@CerealKiller159

Actually I am assembling a small quad-copter, about 500 g to 1000 kg (this weight can vary depending on the camera and on-borad computer).
Currently I am testing with two sets, one set is EMAX motors (MT2204 2300KV) and Simon 12 A ESC and another set is X BL 52 S (a non-standard motor produced by Hacker Motors a few years ago) and one ESC that comes with it and uses I2C for communication.

I think as you mentioned I need to go for DShot and BlHeli and get some new motors as well. I am not familiar with ESC paramaters, but based on what you said seems to be important.

What brand of motor and ESC do you suggest?

Finally, my goal is to send motor speeds generated by the on-board computer to the motors.

@rocketsled666

Does that mean with a 4S battery I would have a lower response time comparing to when I use a 3S battery? I tested the motors with the propellers (30 cm diameter of propeller) on.

I think I should use dynamic braking feature, seems to be effective. What do you mean by "You are probably comparing acceleration under power to decelleration just coasting."?
Oct 25, 2019, 11:24 PM
If it flies, I can crash it.
rocketsled666's Avatar
If you're not actively braking when you reduce throttle, you're measuring how quickly the drag of the prop slows the inertia of the motor, it's not "powered" like it is when it's accelerating.

Yes, a higher operating voltage means a faster acceleration for some given load compared to the lower voltage.

It's just like a car. A higher powered engine will accelerate a car to 60 MPH faster than a car with a less powerful one. More Power means faster acceleration. The "Power" in a car engine is the same "Power" that spins an electric motor (it's generated differently, obviously, but once it's "Power" it doesn't matter anymore). Electric motor power is a function of torque which is a function of current, and higher voltage means higher current since V=IR and the motor resistance doesn't change.

So 4S is more voltage which makes it a higher power motor and that will accelerate faster than 3S
Oct 25, 2019, 11:46 PM
Registered User
ariaAQ's Avatar
Quote:
Originally Posted by arame
Does that mean with a 4S battery I would have a lower response time comparing to when I use a 3S battery? I tested the motors with the propellers (30 cm diameter of propeller) on.
For sure 30cm (12") props are waaay to big for the MT2204-2300,
I don't know about XBL52S, any clue about the size and kv?
Oct 26, 2019, 01:26 AM
Registered User
You do not need ultra fast protocols to start with. My first tricopter used a kk2 flight controller with 400hz update rate using standard servo pwm signals and Simonk ESCs and worked great.

Start with the basics:
Appropriate motor-prop combination. For 2300kv start with 5" on 4S and 5" or 6" on 3S.
Ensure active braking is enabled on ESC.
Ensure theres no motor desyncs (squealing and loss of power on rapid throttle change).
Ensure motor does not stop in flight - starting a sensorless bldc motor (main kind used in multirotors) is unpredictable and slow. What you noticed with slow startup is somewhat unavoidable, so dont let it happen - have a minimum throttle that keeps motors spinning.
Ensure props are balanced and theres minimal vibration. Vibration will mess up your gyro readings and control loop.
Ensure the multirotor frame is rigid with no flex. Bending frame and arms causes vibrations.

If you are building your own flight controller, all the other parts should be known to work well already. I would even make sure all the parts work with a standard flight controller first so I know I can focus on one thing at a time. Otherwise, you are reinventing the entire multirotor which is much work.

Your motors are probably fine.
Your ESCs may be fine if active braking can be enabled. Some old basic Simonk ESCs did not support active braking due to slow control circuits. Any Blheli_S or Blheli_32 ESC will have a modern design and will be built and set up for multirotors out of the box (and can be plugged into the computer using an Arduino and configured with the Blheli program if really needed).
Oct 27, 2019, 01:23 PM
Registered User
Thread OP
@rocketsled666

Got it, thanks for the point. For the timing I was checking using XBL50S (check this link https://www.yumpu.com/en/document/re...etting-started, page 6) which I didn't check if the dynamic brakes are on or off but I think it was on based on the following results I have:

setting motor speed from 0 to 5% --> test 1: 464 ms, test 2: 362 ms, test 3: 381 ms
setting motor speed from 5% to 25% --> test 1: 93 ms, test 2: 84 ms, test 3: 118 ms
setting motor speed from 25% to 0 --> test 1: 214 ms, test 2: 66 ms, test 3: 117 ms

for the EMAX motors I dont have results, I am controlling them using Arduino and didnt find a way to measure the speed yet.

Is there any place to find these results?


@ariaAQ

Sorry, my mistake, for XBL52S which is something similar to this (https://www.hacker-motor-shop.com/Br...=97800007&p=16) I am using 20 cm (8") props and for EMAX motors I am using 15 cm props. The weight of the props for EMAX is about 4 gram (3 blades) and for 8" is about 3 gram (2 blades).


@ CerealKiller159

Sure, should check the basics and check the Blheli_32 ESC and make sure about the motors. Previously checked Arduino mega with Oneshot125 with EMAX motors, but didn't work at all, check this link (https://forum.arduino.cc/index.php?topic=520395.0), might be the ESC doesn't support that.

Now there is a question in my mind, if the max speed that I can change the motor speeds is about 100 ms (10 hz) in my case currently, or let say 10 times faster (100 hz), which comes from the fact that motor physically cannot change its speed faster that this, then whats the point to go over 500 hz such as 4khz in Oneshot125 up to 40khz in Multishot?
Oct 27, 2019, 02:24 PM
If it flies, I can crash it.
rocketsled666's Avatar
Quote:
Is there any place to find these results?
If you use a Multirotor ESC that supports telemetry, you can probably pull the motor RPM data with your Arduino. Although PWM won't do it, you'll need support for DSHOT protocol on a BLHeli ESC.

You can send commands to the ESC much faster than the ESC can adjust motor speed. This is true for any setup. But in your case, you have very large props on fairly small motors. Quads (used for racing) tend to have smaller props on high KV motors. They can unquestionably move the prop quicker than your setup.
Oct 28, 2019, 04:38 PM
Registered User
Thread OP
Quote:
Originally Posted by rocketsled666
If you use a Multirotor ESC that supports telemetry, you can probably pull the motor RPM data with your Arduino. Although PWM won't do it, you'll need support for DSHOT protocol on a BLHeli ESC.

You can send commands to the ESC much faster than the ESC can adjust motor speed. This is true for any setup. But in your case, you have very large props on fairly small motors. Quads (used for racing) tend to have smaller props on high KV motors. They can unquestionably move the prop quicker than your setup.
Thanks for mentioning that, I will definitely go for that ESC with DSHOT and telemetry support.

True, I should test with smaller and lighter props (5" and 3 blades?) with EMAX 2204 2300KV or EMAX 2306 2700KV.
Oct 28, 2019, 06:09 PM
Registered User
Quote:
Originally Posted by arame
@rocketsled666

Now there is a question in my mind, if the max speed that I can change the motor speeds is about 100 ms (10 hz) in my case currently, or let say 10 times faster (100 hz), which comes from the fact that motor physically cannot change its speed faster that this, then whats the point to go over 500 hz such as 4khz in Oneshot125 up to 40khz in Multishot?
When you measure your motor speed change delay, how big of a change are you making? I'm no expert but a flight controller should not really be making 'large' throttle changes. A flight controller should be in a "small change, check if that was enough, another small change" sort of pattern.

I believe these small throttle changes can happen much faster. (Theres probably a proper technical term for this - something like slew rate but for motors) This is where the delay of slow ESC communication could potentially become significant. You want the motor to physically change speed as fast as possible, but you ALSO want the motor to START changing speed as fast as possible.
Oct 29, 2019, 04:19 PM
Registered User
Thread OP
Quote:
Originally Posted by CerealKiller159
When you measure your motor speed change delay, how big of a change are you making? I'm no expert but a flight controller should not really be making 'large' throttle changes. A flight controller should be in a "small change, check if that was enough, another small change" sort of pattern.

I believe these small throttle changes can happen much faster. (Theres probably a proper technical term for this - something like slew rate but for motors) This is where the delay of slow ESC communication could potentially become significant. You want the motor to physically change speed as fast as possible, but you ALSO want the motor to START changing speed as fast as possible.
You are right, reducing the change reduces the delay. For these timings I mentioned I go from 0% to 5% and 5% to 25% and then come back to 0%. So if the max throttle is 2000 and min is 1000, then its like I am going from 1000 to 1050, then from 1050 to 1250 and then comeback to 1000.

setting motor speed from 0 to 5% --> test 1: 464 ms, test 2: 362 ms, test 3: 381 ms
setting motor speed from 5% to 25% --> test 1: 93 ms, test 2: 84 ms, test 3: 118 ms
setting motor speed from 25% to 0 --> test 1: 214 ms, test 2: 66 ms, test 3: 117 ms

I think you are talking about PID gains. Actually PID controller is an important and established controller and almost every drone using it. That's right, got it.
Oct 29, 2019, 07:04 PM
Registered User
Woga65's Avatar
Just for reference. The X-BL52S is a customized Hacker A20. It is similar to the A20-50 S

The X-BL52S is 1000KV (A20-50 S / 1088KV) and has a threaded shaft for direct mounting the Silverlit X-UFO 8“ props to the bell.
Oct 30, 2019, 12:37 AM
Registered User
Thread OP
@Woga65

Thanks for mentioning that, I was wondering how much would be the difference between A20-50 s and EMAX 2204 2300KV, even though they are for different prop size (5-6" and 8") and KV (1088 and 2300) but what about other motor capabilities and my purpose? and as far as I know Hacker ESCs does not support DShot, am I right?
Oct 30, 2019, 12:46 AM
Registered User
Woga65's Avatar
Quote:
Originally Posted by arame
@Woga65

Thanks for mentioning that, I was wondering how much would be the difference between A20-50 s and EMAX 2204 2300KV, even though they are for different prop size (5-6" and 8") and KV (1088 and 2300) but what about other motor capabilities and my purpose? and as far as I know Hacker ESCs does not support DShot, am I right?
I do not know the Hacker ESC. After my last X-UFO died I am using the X-BL52S with BLheli_32 ESC.


Quick Reply
Message:

Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Discussion Super-X Brushless 125mm Micro Quad-Copter With MWC Flight Controller e_lm_70 Mini Multirotor Drones 4 Aug 27, 2014 07:30 AM
Help! X quad and H Copter flight control setup hoguej115 Multirotor Drone Talk 2 Jan 24, 2014 06:15 AM
Mini-HowTo Quad-copter controlling without using Radio remote Controller Tharinda.tpw Multirotor Drone Talk 1 Dec 09, 2013 10:26 AM
Discussion Quad-quad copter manned flight controlled by an RC radio larryross Foamies (Scratchbuilt) 3 Apr 27, 2012 09:14 PM
Discussion OBL29/09-07A motor Timing and frequency for use with a Hacker Speed Controller citation560v Electric Motor Design and Construction 1 Sep 12, 2008 07:00 PM