Thermal inertia is playing against you. Also take into account that lead-free solder needs temperatures in excess of 220°C to melt down (compared to 180°C for tin-lead solder), so the thermal gradient will be quite high to begin with.
Because of this, I would recommend preheating the board to 120°C by using one of the following methods:
- A preheating plate, or
- An oven
Then apply hot air to desolder the BGA chip.
tl;dr
Yes, you can extract a small amount of power from a CPU's waste heat, but your heat sink must be the bigger the more power you want to extract.
explanation
There is no machine which converts heat into power, only machines which convert heat difference into power. In your case, that difference is the one between the CPU temperature and the environment temperature. The maximum theoretical efficiency for this process is (1 - T_cold / T_hot), so for an environment temperature of 25 deg C, a CPU temperature of 40 deg C and a heat flow of 50W you could generate 2.4 watts of electricity with an ideal converter (the temperatures are absolute temperatures in Kelvins). If you allow the CPU to reach 60 deg C, you can get up to 5 watts, and if you allow 100 deg C, you can get up to 10 watts. Real-life heat-to-power converters are more inefficient, especially thermoelectric elements. I'd recommend a stirling engine, which is closer to the ideal efficiency.
This is how heat flows with a passive heatsink:
[CPU] --> [Environment]
The CPU-to-Environment junction has a thermal resistance, measured in Kelvins/Watt, directly equivalent to how electrical resistance is measured in Volts/Ampere. You might have encountered Kelvin/Watt values in some datasheets. An ideal heatsink has zero resistance, so the temperature difference is 0 and the CPU operates at environment temperature (25 deg C). With a real-life heatsink of 0.5K/W and a heat flow of 50W (the CPU generates 50W of heat), the temperature difference is 25K and the CPU is at 50 deg C.
This is how heat flows with your proposed machine:
[CPU] --> [Hot end of machine] --> [Cold end of machine] --> [Environment]
There are thermal resistances, i.e. temperature differences, at all three points.
Let us assume that the connection between CPU and hot end of machine is ideal, i.e. they are at the same temperature.
The thermal resistance inside the machine is used to generate electricity.
The thermal resistance between the cold end and the environment is given by the cold-end heat sink.
Say the heat sink at the cold end is the same that we used for the CPU, with 0.5K/W, and we want the CPU to be at 50 deg C. Then the cold end of the machine is already at 50 deg C, and there can be no temperature difference over the machine, i.e. it can generate no power. If we use a heat sink twice was big (0.25K/W), then the cold end will be at 37.5 deg C and the temperature difference over the machine is 12.5 deg C, so it can generate a little bit of power.
Any machine that extracts power from a temperature difference poses a thermal resistance equal to (temperature difference)/(Heat flow)
.
The thermal resistance of the machine is added to the thermal resistance of the heatsink, so the CPU temperature will always be hotter if there is a machine in between.
BTW Some overclockers go the opposite way: They add a thermoelectric element which runs in reverse, using electric power to pump heat from the CPU to the heatsink, creating a negative temperature difference. The CPU is at the cold end, and the heatsink is at the hot end.
BTW This is why nuclear power plants have enormous cooling towers, which work as the cold-end heat sink.
Best Answer
Dichloromethane appears to be the best solvent, but you could also try acetone. It may take hours to penetrate. A simpler method you could try is boiling the board in water. Check here for reference