I am having some trouble understanding how to practically use the speed-torque curve of a DC motor.
I understand that the gradient of the speed-torque curve is defined by the design of the motor, the exact position of the curve depending on the voltage applied. So if the voltage is changed the speed-torque curve is also changed but remains parallel to the initial curve before the voltage was changed. See figure below.
So my intuitive guess is that when using the motor at a given desired operation point (desired speed and desired torque), the corresponding speed-torque curve Cd has a gradient specified in the data sheet of the motor and passes through the operation point. This curve Cd is obtained at a corresponding voltage Vd. See diagram below.
So my next guess is that in order to have the motor operate at this desired operation point, you have to set the voltage applied to the motor to Vd, and apply a current Id (computed using the torque and the torque constant).
Now from what I read this is not what is done in DC motor controllers. These seem to only drive the motor using current and some sort of PWM magic as is shown in the following diagram by maxon.
Anyone knows why voltage is not used in DC motor control and only current is? I do not understand how you can set the speed if you do not modify the voltage? And what is PWM useful for?
I have looked for hours over the internet and could not find anything relevant.