I've tried most of those suggestions already with no improvement.
Setting a static IP looked the most promising. This kind of issue is similar to those caused by an IP conflict, so could have been some kind of problem with my routers DHCP setup... Didn't work though
Unfortunately there doesn't seem to be any kind of error log in my routers admin panel, which really doesn't help!
Also, I've found I cannot access the router's admin page once I've lost internet access, and the Android network tools can't find my external IP address at all. So I guess it's completely disconnecting, but for some reason thinks it's still connected!
---------- Post added at 09:41 ---------- Previous post was at 09:40 ----------
Ah, I've set my router to use channel 10 and my phone seems to have sustained a connection now...
I've tried most of the other channels so it's obviously very fussy about which one it uses - 11 didn't work but even though there's no other traffic on it.
Thanks for your help!