I am developing an autonomous, solar powered robot. It has 20W solar panel and 2S2P 2300 mAh per cell LiFePo4 battery. The battery is connected in parallel to the load. Solar panel is connected to the battery and the load through a DC-DC converter with a digital potentiometer on feedback line, so it can output voltage in range 4.8V-8.4V. Also, there are input and output current and voltage sensors on the converter's PCB. I have one more current sensor PCB, which is able to handle battery->load current (20A max.). All this hardware is controlled by STM32F4 MCU running FreeRTOS.
I want to realize MPPT. The solar panel is not static and it's MPP is changing very fast while robot is moving in particularly shaded environment, that's why I don't want to use "Perturb and observe" algorithm. My idea is to place few photoresistors on the solar panel and calculate MPP using some statistical model (maybe a small neural network). Than I want to reach this point by increasing or decreasing converter's output voltage (something like this: Vout=Vout+(Vsolar-Vmppt)*k). At CV state I want the converter to maintain the float voltage on the output.
- CCCV charging algorithm must be used with MPPT. How can the current be "constant" if the solar power and load power are changing?
- If the controller will interrupt charging, because the solar panel doesn't give enough energy for the load, how do I balance load between solar panel and battery?
- Is there a way for battery to seamlessly switch between charging and discharging mode?
- Do I need any other hardware (ideal diodes, FETs, etc.)?
- Are there any charge controllers (not 500W) which can do what I need? Thank you for help!