Battery Telemetry (RXBT) for PWM Receivers #1464
Replies: 11 comments 7 replies
-
Thanks i talked about this, last weekend.. this is a must have for everything that dont use fc.. |
Beta Was this translation helpful? Give feedback.
-
The problem with report_cell_voltage is that CRSF protocol sucks donkey spit because there's only one decimal place for VBAT precision (but supports up to 6553.5V because of course TBS always has the best ideas). If you want two digits of precision you're going to have to take that request up the chain to TBS and everyone else everywhere that displays a VBAT value (or use a lower ANALOG_VBAT_SCALE). You also can't reliably lock on to the number of cells from just the single first measurement due to the first readings possibly being too low due to caps charging or other ramping. What I have done in the past is keep reading for a while and calculate the cellcount, and when it gets the same value X times in a row (I used to use 100 but that's a lot for a low telemetry rate), it locks in the cell count at that time. I may consider that, but the issue is that again there's only 1 decimal place in the CRSF voltage so the cell voltage numbers are really rough. |
Beta Was this translation helpful? Give feedback.
-
Thanks CantainBry |
Beta Was this translation helpful? Give feedback.
-
@derFrickler are you saying it is possible to use the adc pad to receive battery voltage via telemetry? I don't mind if it is not super accurate, but would save many people buying a seperate crsf to pwm and receiver. I am litterally about to order some now haha, and would love a better/cheaper solution! Cheers. |
Beta Was this translation helpful? Give feedback.
-
Yes, technically its possible, just the code to do that needs to be written. |
Beta Was this translation helpful? Give feedback.
-
ELRS-R24-V is the only PWM ELRS receiver that I found so far that seem to report the battery voltage without a FC. The rest seem to cap at around 10V input voltage, so I'm not going to connect even 3 cell battery to it. |
Beta Was this translation helpful? Give feedback.
-
Commanderguy is right, it does not measure the receiver supply voltage, vbat must be fed in on a separate place. On the Matek, there is a pad labeled ADC on the back of the receiver, but the max voltage there needs to be at most 1V, thus requiring the voltage divider cmdr mentioned. The values I can't remember offhand and I am in vacation and it is difficult to look up. If you're going to try that then post back here and I can provide the two resistor values needed. The happy model receiver does not have this input for sure, and I don't know about the beta FPV. |
Beta Was this translation helpful? Give feedback.
-
It is on the ballpark of 24k and 1k. It isn't in the documentation because it isn't released. The documentation is only for the released software. You can't scale it and open text because it's not flexible enough to do that kind of math you'd have to build the image with the proper scale defined in user defines if you do not use the values that I tell you, which I told you I will look up next week |
Beta Was this translation helpful? Give feedback.
-
Hi everyone, just found this discussion. I am using a Radiomaster TX16S with TBS and ESLRS. I converted all my Planes,... which fly without an FC to Flysky receiver with a battery sensor. With ESLRS 3.0 I'm almost ready to switch everything from Flysky to ESLRE if I could get a good way of reading the battery voltage. Perfect would be if I could also see the used mAh, but I can't even see that currently. Reading this discussion and seeing that we have only .1 digit in the vbat reading. Would it be possible to day the readings are all 10x ? Like a voltage of 11.5V would read 115.0V it could be devided in Radio by 10 and you effectively have 1 digit more. I received with my flysky set up only the total battery voltage. Since I have models flying from 2s to 6s I put a hand full of logical switches together which give me:
The flysky battery sensor is probably just a resistor array with a voltage devider maybe some diods for protection,... Wouldn't it be an easy thing to come up with some simple open hardware circuit which would do exactly that and manufacturer could jump on that and build them eslrs compatible so to say? |
Beta Was this translation helpful? Give feedback.
-
Hey, I see now more and more receiver with Vbat pads. For example the Matek ExpressLRS/ELRS 2.4GHZ PWM Receiver. It should be able to read up to 34V on the vbat pad. I have the receiver at home, just need to test it. |
Beta Was this translation helpful? Give feedback.
-
The RadioMaster ER4 and ER6 (probably ER8 too?) have a V-EXT port for battery voltage, according to the manuals. On ER6 it's an extra JST style connection port; on the ER4 it needs to be soldered (and possibly unwrapped and rewrapped? Will look more closely at mine tomorrow). Note that the ER5C does not appear to have it. My understanding is that the VBat is for input power to the receiver, which in many cases comes in on the ESC/throttle port and is not needed. |
Beta Was this translation helpful? Give feedback.
-
With the new available PWM Receivers, more and more people will use ELRS on planes/wings or other vehicles without FC.
It would be really great if the battery voltage telemetry (RXBT) would be available on PWM receivers.
Some of them already have the ADC/A0 pin of the esp8266 exposed on their layouts - like the matek elrs-r24-p. For future layouts it would be great to already add a voltage divider to the A0 to the pcb design to allow at least up to 6S input.
It would be really great to have some code implemented to "detect" the number of connected lipo cells and divide the reported voltage by the number of cells, similar to the "report_cell_voltage" option on betaflight. This makes the TX side warnings agnostic from the number of connected battery cells. https://github.com/betaflight/betaflight/blob/master/src/main/sensors/battery.c#L205
I already tried something similar in my fork of CaptnBrys CRServo F code which works fine for me, but it would be great to have it in the new receivers already. https://github.com/derFrickler/CRServoF/blob/master/src/main.cpp#L140
Thanks a lot for the great work on ExpressLRS
Beta Was this translation helpful? Give feedback.
All reactions