mathiasvr / bluejay

:bird: Digital ESC firmware for controlling brushless motors in multirotors
GNU General Public License v3.0
478 stars 48 forks source link

Elevated bidir DShot error rate #26

Closed harryjph closed 3 years ago

harryjph commented 3 years ago

Describe the bug Non-zero (5-10%) DShot telemetry error rate in betaflight configurator, accompanied by occasional "clicking" noise coming from motor

Expected behavior No telemetry errors, motor runs smoothly

Configuration:

harryjph commented 3 years ago

I've just realized this may be because I am using DShot600. JESC doesn't support DShot600 on L ESCs. Is this the case with BlueJay as well?

howels commented 3 years ago

The older L hardware doesn't support dshot600 with telemetry. Not enough CPU power to process telemetry above dshot300 speeds

mathiasvr commented 3 years ago

Yes, as @howels mentioned the mcu is too slow to handle it. I would recommend using dshot150. I’m not sure how dshot300 performs but I’m working on some optimizations that may improve it.

I haven’t tested an L ESC so the telemetry signal has not yet been fine-tuned and that’s also why I didn’t disable support for dshot600. We should probably remove dshot600 on L ESCs in next update to avoid this behavior?

howels commented 3 years ago

Yes, as @howels mentioned the mcu is too slow to handle it. I would recommend using dshot150. I’m not sure how dshot300 performs but I’m working on some optimizations that may improve it.

I haven’t tested an L ESC so the telemetry signal has not yet been fine-tuned and that’s also why I didn’t disable support for dshot600. We should probably remove dshot600 on L ESCs in next update to avoid this behavior?

Agree, safer to disable dshot600. Better if people can't take off than if they can fly but get unexpected accidents.

harryjph commented 3 years ago

Okay, that makes sense. I suspect the clicking noise I heard was the MCU missing or mistiming commutations due to being too slow. Could probably cause desyncs if this is the case. I think the safer option is to leave it disabled. I'll give DShot300 a go on L hardware.

If it gets disabled, this should be mentioned in the README or documentation.

mathiasvr commented 3 years ago

DShot 600 support for L ESCs has now been removed in Bluejay v0.14. I added some info on the wiki.

Quick-Flash commented 3 years ago

DShot 600 support for L ESCs has now been removed in Bluejay v0.14. I added some info on the wiki.

Can you re-enable this as long as your not using dshot telemetry? So bidir dshot will only work at dshot 300, but not dshot 600. But dshot 600 non bidir will work.

mathiasvr commented 3 years ago

@Quick-Flash Ahh I don't have an L ESC so missed that performance might be good enough without rpm telemetry? Do you or anyone else run dshot 600 on L without issues? I'm not actually sure if it's mainly a performance issue or telemetry timing issue.