Problem Overview: our project consists of an iRobot Create2, a RaspberryPi 4 and a YDLIDAR X4. The RaspberryPi is powered from the Create2 serial port. We tried to power the lidar from the RaspberryPi, but reached the limits of the Create2 serial port power/current. We managed to directly tap from the Create2 battery, and also from the Main Brush. However, we are experiencing problems when tapping to the Vacuum's power, which would have been a more elegant and simpler solution.
Context: As per the suggested approach from the official documentation's, when the serial port of the Create 2 (rated at 20.5V-10V 0.2A) is not enough for powering your project, one can try to draw power from one of the motor brushes:
Method Voltage Current Power
-------------- -------------- -------------- ------------
Serial 20.5V–10V 0.2A 2W
Main Brush 16V – 12V 1.45A 17W
Side Brush 16V – 12V 0.54A 6.5W
Vacuum Brush 16V – 12V 0.56A 6.7W
The Vacuum Brush (rated at 0.56A 6.7W) should be more than enough for our YDLIDAR X4, whose datasheet specifies that it requires up to 480mA when starting, but then idles at 350mA:
Subject Min. Typical Max. Unit Remark
-------------------- ------- ---------- ------- ------- ------------------------------------------------------------------------------------------------------------------------------
Supply Voltage 4.8 5 5.2 V If the voltage exceeds the max value, it may damage the core. Too low Voltage may affect performance and even stop ranging
Voltage Ripple 0 50 100 mV High ripple may cause working failure
Start current 400 450 480 mA Relatively higher current is required at startup of the device
Sleep mode Current 280 300 340 mA System dormancy with motor rotating
Work mode Current 330 350 380 mA
We have used the recommended 2.2mH 1.5A inductor (specifically, the Murata 1422514C inductor, as per the manual), and are also using an LTC3780 based DC/DC BUCK BOOST Converter (we know this is overkill, and are waiting for a bunch of LM2596 based Buck converters to be shipped).
Despite all our efforts, the YDLIDAR X4 is only powered for about 5 seconds, and then the Create 2 cuts all current to the Vacuum Brush. We have no idea why this happens.
We have verified that this happens both when we press the "Clean" button to turn on the robot's default program, and also when we set the robot to FULL mode and send the turn-motors-on command through the tethered serial connection using RealTerm.
We have checked all related questions, but none mention the power cut we are experiencing:
- directly tapping Create2 battery
- IRobot Create 2: Powering Up after Sleep
- increase current draw from serial port of icreate 2
We have also contacted support at create@irobot.com but have not gotten any answer (yet).
EDIT:
When trying to tap to the Vacuum power, we had already disconnected the vacuum's motor. The same goes to the Main Brush' motor.
EDIT 2:
Taking Steve & Chuck's remarks into account, we have redesigned our initially intended setup.
Since we were indeed running the Raspberry Pi 4 dangerously close to the power limit of the Mini DIN serial port, we have decided to power it from the Main Brush motor drive (16V – 12V, 1.45A, 17W).
This, on the other hand, raises a bootsrapping problem (as noted by Steve). To overcome this, we have come up with the solution shown below:
In short, we have added a MOSFET that powers the Raspberry Pi from the Mini DIN serial port by default (when the Create 2 is Passive/Safe/Full modes). After the Raspberry Pi boots, a script will command the Create 2 through the Open Interface to power the Main Brush motor drive. The current coming from the main brush driver will automatically switch the MOSFET, and the Raspberry Pi will now be powered by the main brush driver. We have added a capacitor just in case the switching is not fast enough and cause a power outage on the Raspberry Pi.
Finally, the LIDAR is now powered through the Raspberry Pi's USB ports.
Hopefully, this design will be handy for anyone trying to tap directly from the Create 2 battery.
NOTE: this new setup has not yet been tested. We're still waiting for some remaining components to be shipped, but I will report back with our results once we have finished building and testing the new wiring setup.