Skip to content

Conversation

@digitalentity
Copy link
Member

Fix issue reported in #3879 (comment)
@bigdaddy5414 can you test on your board?

@digitalentity digitalentity added this to the 2.1 milestone Dec 3, 2018
@bigdaddy5414
Copy link

bigdaddy5414 commented Dec 3, 2018

That got it working somewhat. There is now another issue and it seems to be motor 3 every time. They all arm and once giving some throttle, motor 3 stops. Disarm and you hear the esc initialize beep take place. Arm and all spinning until throttle applied and motor 3 shuts down again. Went back to betaflight to check and no problem there. Tried in the motors tab as well and moving master slider up and back down you hear the initialize beep. However if I only slide 1 motor up and back down at a time, it never does it.

@digitalentity
Copy link
Member Author

If you increase throttle slowly is it the same?

@bigdaddy5414
Copy link

Yes slowly at about 20% it seems to kick off. When i punch the stick up it seems to hang it longer, sometimes a few times.

@digitalentity
Copy link
Member Author

Propellers on or off?
Can you try DSHOT150, DSHOT300 to see if behavior is different.
I'll also check the signal with oscilloscope here to see if there are any signal issues.

@bigdaddy5414
Copy link

Props are off as im just trying it on the bench. I can try other dshots.

@bigdaddy5414
Copy link

DSHOT150 appears to be fine.

@bigdaddy5414
Copy link

DSHOT300 is fine as well. It sounds cleaner as well, on 1200, there was some noise I don't know how to explain like a slight speed change at a fraction of a second, guessing it was on motor 3.

@digitalentity
Copy link
Member Author

What motor_pwm_rate do you test with?

@bigdaddy5414
Copy link

It is 4,000, 8,000 resulted in cpu usage jumping sky high to well over 100%

@digitalentity
Copy link
Member Author

Not looptime:

set motor_pwm_rate = 16000
set motor_pwm_protocol = DSHOT1200

Works fine on my board.

@digitalentity
Copy link
Member Author

I've tested here and verified that signal at FC pads is perfect.

Chances are that you are hitting the noise problem I was concerned a lot when adding DSHOT in the first place.

Noise from motor power wires disrupts DSHOT packets and ESC silently discard them until there are simply too many broken ones. Then it suddenly fails completely instead of slowly degrading (as it would with "analog" protocols). DSHOT is much less tolerant to noise compared to "analog" protocols, however silent discarding feature makes it look more resilient up to the moment when it suddenly fails.

In Betaflight updates are sent at higher rate which mitigates (or should I say "masks") the problem by simply sending more packets hoping that enough will get through.

Solution is to use low speed protocol and better quality wiring (as short as possible, twisted with dedicated signal ground, as far as possible from power lines).

I wonder how may "motor stopped in flight" issues on racequads are related to DSHOT failure...

@bigdaddy5414
Copy link

OK I tried 16000 and same thing. That is a bummer.

@digitalentity
Copy link
Member Author

I'll test on my test bench, but I doubt it will make any difference. Signal on M1...M4 is identical.

@wx4cb
Copy link

wx4cb commented Dec 3, 2018 via email

@wx4cb
Copy link

wx4cb commented Dec 3, 2018 via email

@digitalentity digitalentity merged commit 83420d0 into development Dec 15, 2018
@digitalentity digitalentity deleted the de_fix_f7nxt_dshot branch December 15, 2018 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants