How to Read RPM signal from Esc?

Hello,

I know that this post is old. I would like to understand some fundamentals because I am trying to log in rotational speed of the motors into the sd card so that I can use this data for system identification. I know that the DShot ESC’s are capable of feeding back rpm; however, my understanding is that this rpm is the electronic one and not the physical which means it can be not accurate. Am i thinking wrong?

If yes, I am trying to measure the rotational speed using some optical sensor. Have anyone tried this before? Do you think this is an accurate way to measure the rotational speed of the propeller’s (or motors)? Also, and if this is more accurate, should I create a uORBmessage to log this data in the sd-card?

Sorry if my questions are dump but I just started to get into this and basically, I would really like to get such measurements while flying. So any guidance is much appreciated!

Thank you

If you have pole count set correctly ESC RPM should be very accurate, otherwise it will be scaled depending on declared and actual pole counts.

Thank you for your reply.

Would you mind elaborating more in that? How can I set it correctly?

Follow the documentation.

Are you referring to this document RPM Measurement — Copter documentation
Or information in this post?

This one https://ardupilot.org/copter/docs/common-esc-telemetry.html#blheli32-esc-telemetry

1 Like