In most photovoltaic systems, solar controllers are used to protect batteries from overcharge or over-discharge. Overcharge may vaporize the electrolyte in the battery, causing malfunctions, while over-discharge may cause premature failure of the battery. Overcharge and over-discharge may damage the load. Therefore, the controller is one of the core components of the photovoltaic power generation system and the main part of the balance of system (BOS).