I'm currently working on a controller for my DC motor. As the manual states you can create a PID controller, which can be used to control position and / or velocity. I'm moving fairly slowly as I want to be sure I don't over complicate the solution .. so I started out by setting the velocity and then running a while loop that watches the encoder position and then stops the motor once it has reached it's position. This obviously overshoots the position everytime.
So I'm now building on what I discovered and building a trapezoidal motor controller that accelerates, slews and then decelerates the motor. Read this link for the details : http://www.baldormotion.com/support/SupportMe/Downloads/DocsLib/an00115-001%20-%20Trapezoidal%20Move%20Calculations.pdf
I'm hoping this motion planning technique might be enough for my situation. If not then I'll work on a PID controller .. for which there's quite a lot of information on the web :
If you find any other solutions then please share, as it seems to be a topic that many people including myself are struggling with.
My issue is that I'm running two servos at the same time as the DC motor, and I need them all to work in tandem and sync .. which is stretching my abilities !.