What a good dedicated mama you are! Most of us get to the point you are at (utter exhaustion) with the sleep issues much sooner. I was desperate by 9 mos. You must have amazing stamina.
The good news is that there are things you can try to improve your situation. First, I recommend reading Dr. M Weissbluth's Healthy Sleep Habits, Happy Child. In case you are too exhausted to do that, here are some "crib" notes.
A good schedule for this age (18 mos - 3 yrs) is bedtime 6:30 PM (actually in bed, not just getting into pjs), waking 6:30-7 AM, nap 11:30 or 12 to 2 or so. Don't ever wake him from a nap unless you absolutely must.
The bedtime sounds incredibly early and most people worry that it will mean an even earlier waking time, but it doesn't work that way. Going to sleep early means sleeping longer and better.
When I put my 23 mos (still breastfed) boy to sleep late (after 7) several nights in a row, he wakes up during the night and is up before six, but when I am consistent and put him to bed at 6:30 (or earlier if he has not had a good nap or is sick), he wakes at 6:45-7 AM like an alarm clock.
Until you get his schedule worked out, in the morning have a few board books near his bed and some water (in reach) and show him where they are the night before. He will read and entertain himself for at least 15 mins (if he is waking so early, even 15 mins are a godsend).
More sleep for him means that he will be less cranky, have fewer tantrums, and generally be more pleasant to be around. It also means more sleep for you, so you will be less cranky.... An early bedtime also means that you and your DH will have some evening time together. The only wrinkle is that people (especially grandmothers with vestigal memories of 70's parenting) will think you are crazy with the early bedtimes.
There is one other thing that makes a big difference in sleep: diet. Make sure he has balanced meals and snacks (every meal or snack should have carbs, proteins, and fats). This is especially important for dinner, because having some good proteins and fats will satisfy hunger longer and he won't be waking at 5 AM because he's hungry (except in a growth spurt). Throughout the day, he will be happier and less tired if he eats every 2-3 hours. Make sure his snacks are not solely carbs (only fruit is bad, but fruit and cheese is very good) because he will sugar crash and be tired and hungry much sooner.
Good luck!