A tired lorry driver who hit his grandfather on a charity drive and failed to stop to help has been jailed for six years.