Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Convert PWM Signal to Dshot 300
#1
Hi all, I did some motor thrust testing and recorded the PWM signal I sent to the motor as well as the RPMs of the motor. I would like to figure out what RPM my motors are spinning at from the blackbox data, but only the DShot signal sent to the motor is shown. Is there a way to convert PWM to DShot300 so that I could get an estimate of rpm values at different DShot300 signals?
Reply
Login to remove this ad | Register Here
#2
If you change your ESC protocol to dshot and enable bi-directional dshot, the ESC will send back the RPM value via telemetry. I believe setting blackbox debug mode to DSHOT_RPM_TELEMETRY should then record those values in blackbox. Otherwise you can see them in the configurator motors tab.

PWM is a one way signal, there would be no rpm feedback from the ESCs. You would have to use a separate rpm sensor on the motor itself.
Reply
#3
The ESC I am using is too old to use bi-directional dshot. I have an rpm sensor and have rpms linked to a pwm signal. However, when I actually fly the quadcopter it uses dshot. I would like to figure out how to map the rpms that coincide with pwm values to the dshot values. Essentially how to convert pwm to dshot.

(26-Mar-2024, 10:58 PM)mstc Wrote: If you change your ESC protocol to dshot and enable bi-directional dshot, the ESC will send back the RPM value via telemetry. I believe setting blackbox debug mode to DSHOT_RPM_TELEMETRY should then record those values in blackbox. Otherwise you can see them in the configurator motors tab.

PWM is a one way signal, there would be no rpm feedback from the ESCs. You would have to use a separate rpm sensor on the motor itself.
Reply
#4
Pwm is an analog signal and dshot is a fast digital signal, im not sure but i believe there is no easy way to make them compareable thisway.

A single esc which can do dshot is very inexpwnsive these days, for 10$ you could upgrade your test bench.
Wouldnt that fit your needs?
Can you maybe describe the goal more, what information would you like to get by compare the values? How do you line to use that informations?
Reply
#5
(27-Mar-2024, 12:33 AM)hugnosed_bat Wrote: Pwm is an analog signal and dshot is a fast digital signal, im not sure but i believe there is no easy way to make them compareable thisway.

A single esc which can do dshot is very inexpwnsive these days, for 10$ you could upgrade your test bench.
Wouldnt that fit your needs?
Can you maybe describe the goal more, what information would you like to get by compare the values? How do you line to use that informations?

I see, the issue is time. I have something due in a week and just do not have the time to get a new ESC in, re run the tests, and accomplish everything else. The goal is to create a dynamical model of my quadcopter. Originally we were going to use the DShot values to get the RPMs of each motor and then get the thrust from that. But instead we could give the model position and angle data to track and solve for the RPMs necessary to do that. Maybe that is the easier way to go then trying to convert the dshot signal.
Reply
#6
ESCs use the same PWM protocol as servos, and that is actually digital and not analog. It just has a much larger frame rate than something like DSHOT and can only transmit one channel. However controlling ESCs with PWM will really depend on the ESC setting as there is a throttle calibration step that sets the minimum and maximum pwm signals (on the ESC) which would be the equivalent of 0% and 100%.

Assuming your ESC response is linear, you can test this yourself. Use the BF motors tab, move up the slider just enough to get the motors spinning, say it was 5% and take a rpm reading. Then ramp up the slider to 100% and take another rpm reading. If you like you can measure a few more points to check, but the slope should basically give you the conversion value you need to convert from throttle % to an approx rpm.
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Help Video and Radio signal issues retrobatman 5 261 21-Nov-2023, 12:34 PM
Last Post: SnowLeopardFPV
  Bi Directional Dshot klnyc 4 326 10-Oct-2023, 03:24 PM
Last Post: klnyc
  Bluejay and bidirectional dshot problem Nicfopv 5 737 18-Nov-2022, 04:33 PM
Last Post: Nicfopv
  Help Tinyhawk 2 Indoor XM+ bind not BUT no signal for my sticks bmtbluesky 5 465 26-Sep-2021, 05:28 PM
Last Post: Rob Axel
  Antenna's signal and ground pads are shorting doronba 12 2,778 02-May-2020, 05:40 PM
Last Post: doronba


Login to remove this ad | Register Here