Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: BLHeli_32 ESC telemetry #2710

Closed
Hazakins opened this issue Jan 31, 2018 · 71 comments
Closed

Feature request: BLHeli_32 ESC telemetry #2710

Hazakins opened this issue Jan 31, 2018 · 71 comments
Assignees
Milestone

Comments

@Hazakins
Copy link

BLHheli_32 ESC telemetry for OSD and logging.

@FPVZaphod
Copy link

...and possibly using the ESC Current Sensor as the main current sensor? Adding a static amount of mA permanently for static loads like FC and FPV Stuff, then we can get rid of the additional current sensor :-)

@Hazakins
Copy link
Author

Installed a blheli32 esc this weekend. Would love to get temp and RPMs :)

@putimir
Copy link

putimir commented Feb 26, 2018

Same here. I have an Airbot Ori32 4in1, so I'm stuck with no telemetry and no current readings :(

@jamesnabbott
Copy link

I'd love to see this feature too - ESC Current Sensor and RPM to start as OSD features, and as BLHeli_32 is developed and more features are added it would be great to see them too!

@jamesnabbott
Copy link

jamesnabbott commented Mar 23, 2018

@FPVZaphod I think having both the battery current sensor and the ESC current sensor separate is important, a static value is not the best solution when it comes to systems with switchable vtx modules - an 800mw FPV system draws a lot more power over a long flight than a 200mw system!

@FPVZaphod
Copy link

Yeah, sure - but I think especially for very light builds it might be a big help. Copter ESCs used to be light, and if there is already a current sensor included, why not use it? I personally don't switch the TX power that often. A main current sensor is more accurate, without question. As long as it's calibrated well. But the ESC Sensor + a static load will be still way more exact than the virtual current sensor. I believe, the coding effort is quite small?

@cturn
Copy link

cturn commented Apr 1, 2018

Ahh! Just went to enable esc telemetry and realized it wasn't implemented in iNav yet. After reading this request, I also noticed there is no Dshot protocol support ported over yet. I'm fairly certain the blheli32 telemetry uses the dshot special functions (dshot throttle values 0-50?) to relay the telem info to the FC. So the Dshot ESC protocol code would have to be ported over as a prerequisite to the esc telemetry code.

@digitalentity
Copy link
Member

DSHOT is required for ESC telemetry. If somebody is going to have a crack at DSHOT - please, go ahead, but personally I think DSHOT will cause more harm than good on anything bigger than a miniquad.

@David-VG
Copy link
Contributor

Are you sure @digitalentity? Dshot telemetry goes on a single wire to an empty UARTRX.

@stale
Copy link

stale bot commented Jun 14, 2018

This issue / pull request has been automatically marked as stale because it has not had any activity in 60 days. The resources of the INAV team are limited, and so we are asking for your help.
This issue / pull request will be closed if no further activity occurs within two weeks.

@stale stale bot added the Inactive label Jun 14, 2018
@stale
Copy link

stale bot commented Jun 28, 2018

Automatically closing as inactive.

@stale stale bot closed this as completed Jun 28, 2018
@xermalk
Copy link

xermalk commented Jul 19, 2018

This is something that would massively improve wiring in wings/planes and should really be considered for inav 2.1.

@Gmanzee
Copy link

Gmanzee commented Aug 2, 2018

I also agree this is a feature I would very much like to see added.

@davidngrc
Copy link

+1 for this

@teckel12
Copy link
Contributor

teckel12 commented Sep 3, 2018

I'd love to get this added only to stop the requests, as I'm just using the current sensor on the FC and never using DSHOT.

@David-VG
Copy link
Contributor

David-VG commented Sep 3, 2018

I'd love to get this added only to stop the requests, as I'm just using the current sensor on the FC and never using DSHOT.

You can't read your RPMs or ESC temperature with your FC.

@digitalentity
Copy link
Member

What's the practical use case for RPMs and ESC temperature besides "because I can"?

@David-VG
Copy link
Contributor

David-VG commented Sep 3, 2018

What's the practical use case for RPMs and ESC temperature besides "because I can"?

Seriously you dont think the temperature of the first or second component to catch fire have some use?

@Gmanzee
Copy link

Gmanzee commented Sep 3, 2018

I would add, detecting RPM allows the flight controller to work out if you have lost propulsion and take some sort of failsafe action.

@digitalentity
Copy link
Member

Seriously you dont think the temperature of the first or second component to catch fire have some use?

Choosing components with enough margin for rated parameters will nullify the need to monitor the temperature. Still, ESC telemetry comes naturally with DSHOT, so we'll have it even if it doesn't have much of a practical use.

@teckel12
Copy link
Contributor

teckel12 commented Sep 3, 2018

@David-VG Nor do I care about those values as neither have ever been an issue for me.

@teckel12
Copy link
Contributor

teckel12 commented Sep 3, 2018

@Gmanzee Sometimes the RPMs could be zero when flying, so I would hope that wouldn't trigger a failsafe. And I'm not sure if there could be any failsafe for a total motor loss. I've lost a motor and the other three motors could do nothing to recover.

@Gmanzee
Copy link

Gmanzee commented Sep 3, 2018

@teckel12 I was coming at this from the fixed wing perspective, you I now see clearly from the multi rotor angle. At a very basic level I was thinking if throttle is commanded and motor RPM = 0 then warn the user. Beyond that would certainly take some thought as how to safely handle your new glider. With fixed wing having one esc is usually all you have and having one with all these sensors built in can tidy up the wiring quite a bit.

@digitalentity
Copy link
Member

In progress 😄

@Hanni1312
Copy link

Good to hear! I will keep an eye on this here and will be ready to test as soon as it is available.

@digitalentity digitalentity modified the milestones: 2.1, 2.2 Jan 5, 2019
@putimir
Copy link

putimir commented May 12, 2019

Oh, gods and gurus! So, will this make the 2.2 release? 👍

@Jetrell
Copy link

Jetrell commented May 12, 2019

Will this make the 2.2 release?

It would be nice, if it did :-)

@DzikuVx DzikuVx modified the milestones: 2.2, 2.3 May 24, 2019
@edwardteach42
Copy link

Just wanted to offer to test when this is available.

@putimir
Copy link

putimir commented Aug 14, 2019

Hey @digitalentity, (or anybody else), can you tell me what is this:

image

@digitalentity digitalentity self-assigned this Aug 31, 2019
@digitalentity
Copy link
Member

Ok, finally I'm making this my next item to work on 😄

@digitalentity
Copy link
Member

digitalentity commented Aug 31, 2019

Catching up on bi-directional DSHOT/telemetry. This reports only eRPM value of the motor, still might be useful. Key comment describing this: betaflight/betaflight#8554 (comment)

Action items:

  • Inverted DSHOT
  • Refactor Timer/DMA framework to allow reconfiguring timer in DMA+input mode
  • Receive/decode DSHOT return frame

@Jetrell
Copy link

Jetrell commented Sep 1, 2019

@digitalentity Thank you for taking the time to revisit this 👍

From your post. It sounds like your aiming ESC telemetry towards bi-directional Dshot for PID control?
From the read above, most of us are mainly interested in the Telemetry data. Even only for fixed wings. To simplify and lighten the builds.

motor_count 
motor_rpm
esc temperature
esc voltage 
esc current 
esc mAh consumption

@digitalentity
Copy link
Member

@Jetrell then we can probably go with "classic" ESC sensor first - the one requiring an extra wire.

@Jetrell
Copy link

Jetrell commented Sep 1, 2019

@digitalentity That sounds good to me.
I'm not saying that RPM PID control isn't of use for quad performance.
But the ESC Telemetry data, is were most iNav users are at. Especially for fixed wing use.
Thanks for your understanding.

@digitalentity
Copy link
Member

Progress report.

Done:

  • DSHOT telemetry scheduling and requesting
  • ESC telemetry receiving (via a dedicated wire)
  • ESC telemetry decoding (partly done)

TODO:

  • ESC telemetry framework to expose averaged telemetry values
  • Manual on configuring ESC telemetry

I've verified that ESC reports temperature and voltage correctly. We're getting close.

@edwardteach42
Copy link

@digitalentity You're the man!!

@Jetrell
Copy link

Jetrell commented Sep 4, 2019

@digitalentity Excellent stuff 👍
Can I ask out of interest and not being pushy.... Do you also intend to setup the Configurator with OSD preview elements, for their descriptive symbols and locations etc ?
To me, that's the icing on the cake... i.e. knowing what the data relates too on the OSD, at a glance.

Many of us will use ESC telemetry for Fixed wings. So in theory... It should be possible to use OneShot or MultiShot instead of a Dshot and still use ESC telemetry, If we turn ON Auto Telemetry in Blheli_32 suite?
Could you confirm this, as you are doing testing when writing the code.

Thanks again heaps

@digitalentity
Copy link
Member

Closing this now.

@Jetrell, regarding ESC-telemetry with Auto Telemetry enabled - not yet possible, please open a separate issue for that so we can track it properly.

@putimir
Copy link

putimir commented Oct 27, 2019

Alright! Getting ESC telemetry (RPM)! Kudos to the devs!
Is there any written docu on what exactly is done, regarding telemetry? RPMs are also done perhaps?
This will be great (I think) for pushing the high speed limits...

image

@FelixvdDonk
Copy link

Where exactly do we find the settings for esc telemetry in inav configurator? I can't find any CLI variables either

@putimir
Copy link

putimir commented Jan 25, 2020

@FelixvdDonk: sorry for delay, maybe you can take a look @ this: https://www.youtube.com/watch?v=sPktdBh2Gcw

@digitalentity: may I ask 2 questions:

  • what are your plans on including the temp readings into OSD?
  • can current implementation "read" the telemetry from the APD (Advanced Power Drives) ESC. (or are only Bleheli_32 esc supported? APD supposedly has "Full Betaflight telemetry")

Thanks

@putimir
Copy link

putimir commented Feb 1, 2020

@digitalentity: hello again, can you please check my previous question, thanks.

Also, is there some soft limit in the OSD RPM display, namely, I now have several different builds with esc telemetry configured (different motors, different esc's, different batt cell counts....) but all come to a fixed limit, "42k"....no matter what, it does not go higher, even though I can hear the motor still spooling up, from the point when it reaches 42k...

Thanks!

@digitalentity
Copy link
Member

@putimir yep, confirmed & fix ready - see #5374 #5375

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests