I agree with those who stated: Check equipment, riders balance, proper cues, keeping loose throughout your back and shoulders.
Ask for the canter in a straight line. Turn the horse to a 45* angle, close outside rein, cue with inside rein, use outside leg back behind and swipe to cue the canter. If you achieve a few strides that are good, stop and reward.
If your horse takes off like a rocket, stop and start over until you have a nice relaxed departure. Remember to shift your weight off the departing leg.
Be careful using hills to get your horse to canter all the time. He will get into the habit that he needs to canter up ALL hills. So with that said, canter up once, then change it up by walking up the hill the next time.
Also wanted to add is; use the round pen to canter the horse without a rider. Use verbal cues. this will help in the saddle :)