Have a look in your local paper & see how much a room in a shared house costs to rent locally. Then divide your bills by the number of people in your house & add the appropriate proportion of your total council tax, water rates, electricity, gas, laundry & food bills. Then pick almost any figure you'd like & it'll still be a lot less than the one you worked out! lol.
Should be fairly easy to convince him then that you're giving him a really good deal & negotiate a regular time & effort contribution to the housework & / or garden upkeep! Then suggest that he puts (at least some of) the difference into a savings account for a deposit for renting or buying his own place in the future.
If you find that it's a lot more money than you'd imagined &/or think you don't need all the amount decided upon, you can always put the surplus in a savings account in his name for the future.
I know it sounds hard but if you don't take a realistic view you are not doing him any favours & he'll just end up in dire straights when he does decide he can live away from home. It's being cruel to be kind - & fair to yourself in the long run.