Page 1 of 1

Slow Wireless Charging

Posted: Wed Aug 07, 2019 11:09 pm
by snyderthorst
Hello,

I've noticed that the Crazyflie 2.0s that we have are all charging very slowly on wireless charging pads. The current draw while was measured to be 100 mA and it takes them about an hour to charge to 50%. We have tested the pads and deck separate from the CF up to 600 mA, so there must be a limitation in the CF itself. Is there any way to increase the current draw on the CF when charging? We need these to charge much faster as out experiments require many CFs in the air at once and not very much down time.

Thank you.

Re: Slow Wireless Charging

Posted: Thu Aug 08, 2019 8:22 am
by tobias
The CF can be set in different charging modes. The current configuration is that when it is turned off the charging = 100mA. When it is on = 500mA, but as the system uses ~90mA the effective charge current is ~400mA. It is possible to log a rough estimate of the charge current with the pm.chargeCurrent log variable.

If you would like to charge quicker there is a a possibility to shut down the main CPU (STM32F4) and only let the radio CPU (nRF51) run which will result in ~20mA consumption. This is still a bit hackish since it is not implemented as a python lib command but instead sent as a "raw" packet. The possible commands can be found in main.c in nrf51 FW.

Code: Select all

#Example code to put Crazyflie in light sleep mode (STM32F4 off)
from crazyradio import Crazyradio
import sys
import struct

cr = Crazyradio()
cr.set_channel(88)
cr.set_address((0xE7,0xE7, 0xE7, 0xE7, 0xE7))
cr.set_data_rate(cr.DR_2MPS)
cr.set_arc(15) #Set max number of retry

# Send sleep packet
res = cr.send_packet((0xf3, 0xfe, 0x01))
The CF can later be woken up with the packet

Code: Select all

res = cr.send_packet((0xf3, 0xfe, 0x03))

Re: Slow Wireless Charging

Posted: Wed Aug 14, 2019 10:10 pm
by snyderthorst
Thank you! This also answers a question about remote power on and off. I will test these once I get back in the lab next week.