Motor not running Plane 4.5.2 BLHeli_S DSHOT300 MatekF405

Ardupilot_bckp_BlheliS_D300_500hz.param (18.7 KB)

Hi all,

I’m trying to setup Plane 4.5.2 on a MatekF405. I have a BLHeli_S 16.7 (tested also with BlueJay 0.19) ESC connected to S1, and BLHeli Passthrough is working. I have completed the setup, and assigned throttle to channel 1. However, I haven’t been able to get the motor to spin.

All of the buttons on the Motor Test page in Mission Planner are greyed out, and force arming followed by increasing throttle, Im getting abnormal tones from the ESC and not spin.

I try the same ESC with a Betaflight 4.5 FC, DSHOT300 and 600, 8khz PID Loop, bidireccional, it works perfect. I measured with an osciloscope a DSHOT packet rate of 500hz and proper baud rates for D300 or D600

With ardupilot I try: DSHOT300, 600, SHED_LOOP_RATE from 50 to 300, SERVO_DSHOT_RATE from 0 to 20, trying to lower the DSHOT packet rate to 500hz using LOOP and DS RATE but I alway see 1Khz minimal packet rate.

I am assuming that the problem with this ESC is the DSHOT packet rate at 1khz, because in Betaflight at 500hz it works perfectly. Can anyone give me a clue as to why Ardupilot won’t allow me to lower the DSHOT Rate to 500hz?

Any help appreciated!

Uploaded my parameter. THANK YOU!!

Added later:
I compered DSHOT Frames witdh and Pulses between Ardupilot, AP (yellow) and Betaflight BF (Blue) and there is something wrong with AP:

DS300 BF signal at Full throttle (all ones):

DS300 AP signal at Full throttle (all ones??.. pulse are overlaped!):

DS300 Packet rate AP(1khz, Yellow) vs. BF (500hz, Blue)

DS300 AP vs BF pulses an 0% throttle, AP should be shorter:

Thanks for sharing this! More detailed analysis than I know how to do, but possibily the same issue I and another user saw here? Dshot not working in Arduplane 4.5.1? (Non VTOL)

I have yet to find a resolution, but have not had a chance to investigate with 4.5.2. @andyp1per What do you think?

@Carancho What happens if you simply enable QuadPlane param and reboot? Does the motor function normally? This is what I saw with 4.5.1 - since you had more advanced measuring equipment than me, I’m curious what would happen/show after enabling that QP param…

1 Like

@Carancho can you post the exact flight controller you are using? I am going to ask Matek for one to see if I can reproduce.

Hi!, thank you very much for sharing that post, I had not seen it!!!.. You´re right… with “Q_ENABLE” I got a good Dshot Pulse with and a motor Spinning!! Thank so much!. For DSHOT300 you can see the change for a 0(zero) pulse with signal… this has to be a bug somewhere:


Hello Andy, sure thing it’s a MATEK F405-STD. It´s an old one to be fare… but I´m using it as a test bed to learn Ardupilot… it´s my firt time using it :blush:

They don’t make them any more and there is no stock. I am going to try and configure my TE as one of these.

2 Likes

For what it’s worth, I have issue while using a Matek F405WSE. Unfortunately, this is also an EOL board.

The other user on my.post had the issue on a Matek 405 and a Mamba 405.

Well, that´s interesting…

That’s BLHeli_S only, right? I’ve got a 405-STD at home, but only BLHeli32 to test with.

Right, it is with a BLHeli_S/Bluejay ESC…

An configuration error is usually the problem getting blheli_s ESC’s to work with Dshot/Bdshot.

@Carancho the main difference with Q_ENABLE=1 is that the default SCHED_LOOP_RATE changes from 50Hz to 300Hz.
Can you please test with your setup with Q_ENABLE=0 and with SCHED_LOOP_RATE=300 ?

We don’t allow the dshot packet rate to go below 1Khz, avoiding overlapping pulses is one of the reasons for doing this.

I’ve configured a F405 VTOL as a standard and get perfect dshot output with your attached config file. I’ll hook it up to a bluejay ESC but I’m pretty sure it will work.

Can we boil this down to the minimal issue - so with your config above the motor still does not turn?

Update: I have reproduced this now with tridge’s help. Stay tuned.

3 Likes

Hi tridge!, With Q_ENABLE=0 and with SCHED_LOOP_RATE=300, I got the same issue, abnormal DSHOT Pulse.

Fix is here, but I am not sure whether this call is in the right place - @tridge will have to confirm - Plane: ensure the dshot type gets set by andyp1per · Pull Request #27093 · ArduPilot/ardupilot · GitHub

This essentially only affect BlueJay - the dshot type was not getting set. In quadplane mode the type gets set correctly.

Here is a build for MatekF405-STD to test:
arduplane.apj (832.1 KB)

4 Likes

How!, thank you for your support!.. honestly, being a beginner in AP, I was wondering if this was really a problem or if I was configuring something wrong, I’m glad it’s on the way to being resolved. For the moment, I have replaced the ESC with a standard PWM and continue my foray into Ardupilot, thanks again for all the help

1 Like

Thanks for looking into this, @andyp1per, and for the PR link.

Hi guya, @andyp1per or @tridge can you please confirm if this issue has been resolved in 4.5.3?.. I don´t see mentioned in the release notes, but may be it wasn’t worth it thank you!

It’s not in 4.5.3, will be in 4.5.4 I hope