The tool I would use is roadkil's "unstoppable copier". It works at a very low level, irrespective of drive format, and tries to rebuild the files at the byte level.

You need a spare drive or partition of the same size as the one you are trying to recover.

You might consider investing in SATA/PATA 2.5"/3.5" USB drive docking stations as well? If you do then be sure to get them with their own power supply, as the little caddies might have problems with big drives. They are pretty cheap these days, I just got 2 and I guess I paid around 20 bucks for the pair.

http://www.roadkil.net/

It has saved my (customer's ) butt more than once.

So long as the drive will spin up, it will have a go, so it doesn't matter if the drive has physical or electronic damage.

It is also FREE