I had issues with keeping a stable sleep schedule for years, but now I found a method that works for me: every day, set your alarm clock to the same time no matter what (in your case 5 AM) even on weekends. Then, try going to sleep so you always get full 8 hours, if you fuck up and go to sleep too late then tough shit - you'll feel tired tomorrow which will serve as a punishment that your brain will hopefully recognize.
They key is to be consistent and not sleep in.