Working with a timer as in "work for 15 mins then you can have a 5 min break" has never worked well for me - the break never comes when I need it! For the last few years I've been using (for record keeping purposes initially, but I find it has other benefits) an Android app called Timesheet. You set up projects - could be Homework, or Maths, or whatever - and then there's a big button to press when you start a task, and another to press when you finish it, and it times you. But the thing I didn't realise would be so helpful is a Pause/Resume button, that allows and records breaks. The nice thing is that this separates time when it's OK to be doodling, checking Facebook or whatever cleanly from time when it's not. With a child, I might suggest "take a short break whenever you need it, but get this piece of work done by X with no more than Y minutes of break" if you think it might work better to permit limited as-needed breaks than to regulate them completely.
I'll have to look for that app. This is actually the same approach we take to instrument practice: you must have practiced so many minutes by the end of the day. If you stop practicing, stop the timer. When you resume, restart the timer. I did eventually have to give them some guidelines about the proportion of work to breaks. Our current modification is that at least 80% of any given session needs to consist of actual practice. (Otherwise, they sit at the piano and noodle for half an hour, after practicing for five minutes.)