One is measured and the other is a guess ignoring all the facts. If that is good enough for your project then that's all you need. Just measuring battery voltage ignores changes in speed due to load, ware on the motor after time, and temperature of the motor and control electronics.
An old wise control engineer once told me that you must first measure what you wish to control. Indirect or surrogate measurements will never be as reliable.
You might also start learning about PID control once you have the raw input and output defined and working.
Lefty
Take a look at motor back emf All About Back-EMF Motion Control | Acroname
I have used this method several times and it works ok, but it is not as good at low speeds as a motor fitted with a tacho generator which provides smooth speed control over a wide rpm range.
Thank you everyone!
Jabber the back emf method sounds fascinating. I understand to get the back emf reading i need to shut everything off and get the voltage reading generated. Do you just shut off the PWM signal from the driver circuit for 50Hz(typicall) and measure the voltage generated using a microcontroller?
I will read up more on that and see what i can do.
Any other suggestions will also be great. I will keep you guys updated with my progress.
If you want to try and use this method, read as much as you can about it first. The sample frequency will have to be determined by experiment, and the sample point will need to be smoothed/filtered to get any successful results.
My first choice (for speed control) is always a tacho generator fitted to the motor shaft, and the second choice, it would be fitted to the wheel.
Don't forget about the max input voltage of the Arduino pins either.