I guess the current consumption of the motor is modulated by the brush position. So one can try to count the ups/downs of the current consumption to see how far the motor has turned..
Thank you so much. I'll try the Nikolay Pavlov's suggestion.
Huihua Zhao->My own H-bridge motor driver has a motor current sensor. So, I want to use just only current sensor instead of encoder or hall sensor.
Andre Valerievitch Obrubow-> I guest, your suggest is "Put the rotor position sensor because the engine could change its position and no measurable current", just google translate. Thank you anyway.
Yes you can use just a current sensor to control the motor. It will be better if you use a multiple sensors/encoders for position control of the motor or by adopting the inner (rate feedback) and outer loop(position feedback) strategy.
You could also add a spring to the motor axis. Then by controlling the current, you're basically changing the equilibrium position of the spring and you've build a mechanical P-controller. Assuming that there is mechanical damping, you get a mechanical PD controller.
'Just' using a current sensor is going to be challenging. You can fairly easily see the transitions between brushes, which gives you a fairly bad resolution position sense - but at least it's easy to find. It'll give you accuracy in the range of 360deg/#windings - which is fairly terrible.
Determining position when on a single stage of the brush commutation is going to be much, much harder, since current draw is not directly linked to position.
Velocity control is simple 'enough' to do with just a current sensor, since you will be sampling brush transitions rapidly enough to give enough data points to control around them.
The issue is that are non-unique solutions to the x= f(i) + f(v), because current and voltage are not independent of position (velocity, acceleration) etc.
Michiel, forgive me for not remembering exactly, but you're looking at cycle stability, correct?
It might be interesting to use the open loop stability, combined with the 'poor' resolution of the DC brush transitions to reinforce or adapt the open loop system.
Jack: yes, I'm mostly looking at cycle stability, but when you add a spring, you could just as well consider position stability. Combining a spring with poor feedback from brush transitions sounds interesting
I wonder if you couldn't try kalman filter type algorithm, treating the cycle stability w/spring & brush transitions as independent 'measures' of position?