Replies: 2 comments 2 replies
|
Thanks for sharing, we'll try to get back to you next week |
0 replies
|
Thank you for a very extensive report! It is a very strange behavior so a lot of guessing now. I'm thinking that the nRF input pin/ADC is broken/damaged and is effecting the reading. The resistor divider used to measure the battery has a very high resistance and any abnormality on the pin could effect the reading. If you would like to investigate it further you could try to reduce the sampling rate in the code and check if that has any affect. You could also try to replace the divider resistors with lover values to get a less sensitive measuring point. A side effect is that the Crazyflie will consume more energy in off mode. |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
We have a fleet of many Crazyflie2.1's, which are equipped with QI chargers.
In our setup we currently wait until the voltage of a crazyflie rises above a certain threshold, before we allow it to take off.
For landing we have another threshold which decides, if we can keep flying or have to land.
However while some crazyflies fly for several minutes with this technique, others merely fly for a few seconds.
I did quite elaborate testing on this, and have managed to find out the following:
The voltage measurement of the NRF51 on the problematic crazyflies is incorrect.
Its not the batteries, as did loads of testing with new ones/used ones, as well as swapping them from "good" crazyflies to "bad" crazyflies.
I know the BQ24075 charge controller is fine on all of them, because after it stops (CHG-Pin) I can measure the battery with a multimeter which reports 4.2V, crazyflie reports 4.17V ( Good crazyflies report 4.2V in this case). I also charged a battery with a "bad" crazyflie and then used it in a good crazyflie, which worked without problems and gave me very good flight times.
I measured all Voltage divider Resistors around the nrf51 they are also fine.
I currently have a deck with an ATTIN3226 on it, which is directly powered by VCOM (which is the Battery Voltage) and was able to measure the input Voltage and report it back to the crazyflie. I managed to produce the following graph with it:
In orange: the voltage measured by the ATTINY; In blue: the voltage measured by the NRF51 (pm.vbat)
In the recording I took off, landed and then took off again and stayed airborne until the battery "died".
You can clearly see, that the NRF reports a lower voltage than the ATTINY.
The difference is lower during no-load and increases when load is applied.
I also used a lab-bench power supply and tested this no-load offset. This particular crazyflie had an offset of 0.03 Volt. I wasn't able to test under load, however the 30mV seem to align with the ATTINY measurement, which lets me trust its measurements.
The ADC on the nrf seems to be fine as well, because the charge current is measured with the same peripheral, and both good and bad crazyflies report 0.90 A when QI-fastcharging (both with minor fluctuations)
The crazyflies which have this issue are the oldest ones / most flown ones, and might even had the overtemperature protection threshold (on NRF51) higher than usual for some time (I cant remember setting it to more than 80.0 however).
I am therefore pretty sure this is not a software issue.
However which component on the PCB could be faulty here?
The no-load vs load difference hints at additional resistance somewhere.
But this has to be close to the NRF, because the general power is fine.
Maybe you have had similar experiences with old crazyflies?
Maybe someone with more electrical engineering experience can explain this phenomenon?
All reactions