I am using 50 W solar panel(20V @Open Circuit/ 3.5A @short circuit) to charge my 4V/100Ah battery(found from industrial scrap). I tried charge battery using buck converter but as it get pulse input current from source, i can charge battery at maximum of ~3.3A@4.8V. As this battery rated at 100Ah it can charge upto 10A. How can i increase the current to increase charging speed? Buck converter is not perfect selection for this application. Does any other DC-DC converter do this? Or i should modify buck converter or else?
A buck converter can output almost all the power it's getting from its input (less typically 5-15% losses), which means if the output voltage is significantly lower than the input, the output current can be significantly higher.
As a buck converter draws input current in pulses, this can be a problem if the input is a current source, like a solar panel. A large capacitor across the input should be used to source the current during the large input pulses, it will recharge from the panel between the pulses.
It's difficult to design a value for this capacitor without knowing the switching frequency of the buck converter. You would want to aim for a ripple voltage that was small (say <1v ripple compared to your 20v panel) when the buck was consuming the panel's maximum output power. Failing tools to do that (an oscilloscope, or a meter that can read AC at the buck's frequency, or a diode+capacitor to make a simple peak detector) you could simply try a small value of capacitor, and increase it until the buck was able to consume enough of the panel's power that you were happy.
A good commercial buck converter will already have enough input capacitance for its power rating and switching frequency, which would mean it draws smooth current at its input terminals. However a cheap knock-off, or an amateur-built one, might not have.
You have a 20V open / 3.5A short solar panal. Let's model that as an ideal 20V source with an interal series resistance of 20v/3.5A = 5.7 Ohm. The maximum external power you can draw from such a source is when the external load resistor is equal to the internal series resistance. This gives a current of 20V / ( 11.4Ohm ) = 1.75A. The external voltage is 10V, the external power is 17.5W.
The buck output you saw was 4.8V * 3.3A = 15.8W, so the converter was 90% effective. That is as good as you will get.
You problem isn't the wrong converter: you expect too much from your solar panel. Given the open voltage V and the short current I, the maximum power you can draw is 1/4 * V * I.