Dshot - props do not spin fast enough to takeoff

I’ve installed a 4-in-1 ESC a Holybro Tekko32 F4, 50A in a Hexsoon EDU-450 quad.

I’ve calibrated the motors using the Mission Planner motor test - they respond at super low percentages - 1%. So I’ve set mot_spin_arm=3 according to the documentation. (deadband + 2%)

Wanting to be conservative, I set mot_spin_min=6

I discovered that on the ground, with a half charged battery, (well above failsafe voltage) that the motors would spin up when I advanced the throttle - with the props OFF. But would not spin up with the props on.

A fully charged battery solved that problem. I’m curious to see what happens as the voltage decreases in flight.

With that all resolved, I’ve tried takeoffs in Stabilize, Altitude Hold, and Loiter. In each case, at full throttle there was too little thrust to take off.

I originally was using Dshot-600, but dropped it to Dshot-300 just in case there was an issue there.

The motors run quiet and smooth - and stop super fast when the throttle is lowered all the way. And as @xfacta pointed out in a previous thread - it’s pretty nice to see the motors spin slow slowly at arming that you can visually see which direction they’re spinning.

I’ve re-read all the docs I could think of - hoping I’d missed something. Obviously I did miss something - I just can’t find it yet.

I wondered if the motor thrust EXPO might be wrong somehow - but I haven’t seen anything about Dshot and EXPO settings.

Lastly - while I can see the throttle input by charting RCIN_3, there are no RCOU values for Dshot. How can we see what the flight controller is commanding the ESC to do?

I’ve uploaded a BIN file - I’d really appreciate some suggestions. Thank You

Use Dhsot600. Did you disable Low RPM Power Protect in the BLHeli32 ESC settings?

By graphing the channels configured for output:

Thank you for the tip on graphing the channels configured for output.

It’s easy enough to go back to Dshot600 - I just thought it might be worth a try going slower in case that might be an issue.

I haven’t done anything with the BLHeli32 ESC settings. I don’t recall seeing anything in the ArduPilot docs about changing those setting when setting up Dshot.

Are there any other BLHeli32 settings that need to be checked or changed?

I was hoping I wouldn’t have to get into BLHeliSuite32 - because of the fact that Aux-1 (Orange Cube) doesn’t support pass through I’ve got to change pins around set all four channels.

But I guess it’s easy enough to just take a look on the other three channels.

As this is my first time with Dshot on Ardupilot - any tips on getting the BLHeliSuite32 up and going?

1 Like

Yep, that’s what you’ll have to do.

Disable Low RPM Power Protect and Low Voltage Protection, leave everything else at default. That’s it.

I don’t see ESC telemetry in the log, you will want to configure that. You could stick with FFT referenced Notch Filter but motor RPM may be a better choice. If you were using Bdshot I would say a better choice.

1 Like

You’ll probably still need to set
MOT_SPIN_MIN,0.12
or something like that, dont want those props turning backwards while falling :slight_smile:
but you could still keep
MOT_SPIN_ARM,0.06
or what ever works reliably with props on.

This should be whatever is normally calculated for your prop size
MOT_THST_EXPO,0.65
DSHOT or PWM doesnt change this.

The RCOUT values in logging show as PWM values even though DSHOUT might actually be in use. It is scaled something like PWM1000 = 0% throttle, PWM2000 = 100% throttle.

If you can set up the BLHELI telemetry that is very useful. There will be just one telem wire from that ESC and you need to connect to a RX pin on a spare UART/Telemetry port
and
SERIALx_BAUD,115
SERIALx_OPTIONS,16 (for Cube Orange)
SERIALx_PROTOCOL,16
and you’ll see a bunch of ESC values in logging for voltage, temperature, RPM

Until then you can set these for the EDU450
INS_HNTCH_ENABLE,1 ← set and refresh to see the rest
INS_HNTCH_ATT,40
INS_HNTCH_BW,40
INS_HNTCH_FREQ,85
INS_HNTCH_MODE,1 ← set to 3 for BLHELI Telem
INS_HNTCH_REF,0.20 ← set to 1 for BLHELI Telem

After hover tests, adjust INS_HNTCH_REF to 0.8 x MOT_THST_HOVER when NOT using BLHELI telem

As Dave said, in BLHELI32 settings
Low RPM Power Protect = OFF
Low Voltage Protection = OFF
I also set
Temperature Protection = 100
Sine Modulation = ON
Rampup Power = 25% (may minimises shakes and oscillations when arming particularly with long arms and tall landing gear)

Here’s a EDU450 with Cube Orange, minicarrier board, Here3, 4S lipo
image
You might notice the Here3 is stuck right to the top of the Cube ! :slight_smile:
Worked great for many of these builds.

Here are its “PIDs” for a starting point, then run Autotune
BRD_BOOT_DELAY,3000
ATC_ACCEL_P_MAX,140000
ATC_ACCEL_R_MAX,150000
ATC_ACCEL_Y_MAX,27000
ATC_ANG_PIT_P,12
ATC_ANG_RLL_P,14
ATC_ANG_YAW_P,6
ATC_INPUT_TC,0.22
ATC_RAT_PIT_D,0.006
ATC_RAT_PIT_I,0.1
ATC_RAT_PIT_P,0.1
ATC_RAT_RLL_D,0.0055
ATC_RAT_RLL_I,0.109
ATC_RAT_RLL_P,0.109
ATC_RAT_YAW_I,0.107
ATC_RAT_YAW_P,1.07
LOIT_ACC_MAX,600
LOIT_BRK_ACCEL,300
LOIT_BRK_DELAY,0.3
LOIT_BRK_JERK,300
LOIT_SPEED,1600

1 Like

Make sure temp protection is disabled in BLHeli32 settings - the F4’s have a faulty temperature sensor

2 Likes

Thanks @andyp1per - I went back in and it looks like it was already turned off.

Here’s the current settings. Any other suggestions?

Thank you @xfacta -

As I posted in my comment to @andyp1per below - here are the current BLHeli32 settings:

Looks like I have the Low Voltage protection already off.

Andy said there’s a problem with the F4’s temperature detection - so he recommended turning that off - and it already was.

The Sine Modulation isn’t ON - I’m wondering what it used if its not on. Trapezoidal perhaps? I recall hearing about benefits of Trapezoidal. What are your thoughts on the topic?

This is my second EDU-450 - a V1 and a V2. This one now has the 4-in-1 ESC. I’m also using a Holybro F9P Helical mounted on the top plate. I’ve been pretty pleased with the MagFit offsets.

mag fit numbers.txt (1.9 KB)

I’ve tried to minimize magnetic interference by good wiring practice. No doubt - there’s always room for improvement. Here’s the “guts”:

I really appreciate all your help. I look forward to hearing back from you about the SINE Modulation.

One more thing - my “tune” parameters are similar to you. I’ve only used AutoTune - before and after FFT. I’d like to get a bit deeper into finer tuning.

Looks good.
I can only go off the BLHELI doco regarding the SINE functionality, but it sounds like s good idea. I have it turned on and there’s no known issues.

I’ve only got F3 based BLHELI ESCs so far, so I set them to 100 degrees since the default 140 is beyond safety if you ask me.

Just be aware those bullet connectors on the motor wires have been known to give issues occassionally.

I’ll be able to get better test data tomorrow when I can fly an identical mission to one I’ve flown previously on the old PWM ESCs. But on today’s test it looks like I got about a 2% reduction in energy consumed with Dshot and the options I selected.

The graph below is a comparison - top is old PWM ESCs, bottom is new 4-in-1 Dshot ESC. The new ESC shows less average current flow. And less variability in current.

I did use the Sinusoidal option, and I also took advantage of the variable output PWM frequencies.

So far - so good - many thanks to you all - @xfacta @andyp1per and @dkemxr

2 Likes