The solar controller does that. It reduces its output as needed . . . basically creating resistance. The problem is that the solar strength varies, as clouds pass by, so it is constantly varying its output. But the solar controller attempts to go through the bulk, absorption, and float stages...