2021-12-16 02:37 AM
I would like to investigate velocity control of a brushed DC motor using the STSPIN240/250 devices.
The motor velocity can be measured using the back emf from the motor. Does anyone know if there is any off the shelf software for this?
I notice the X-NUCLEO-IHM13A1 driver board doesn't even connect the current shunts to the C7/C10 connectors so I'm guessing not. Asking just in case...
Thanks
Solved! Go to Solution.
2022-01-10 07:41 AM
Hello @SCrum.1 and welcome to the ST Community.
The motor speed can be estimated through the BEMF measurement (ADC sampling of motor voltage when in high impedance) or the motor current ripple measurement.
In the second case, measuring the current ripple it is possible to estimate the motor speed:
Speed [rpm] = 60 / (P x Tr [s])
where P is the number of poles of the rotor and Tr is the period of the ripple in seconds
Note that this method cannot be used if the PWM current control is acting.
However, we do not have any software available for this type of measurement.
I hope this post can help you; if so, consider to mark it as best answer by clicking the label "Select as Best".
2021-12-16 04:20 AM
Is there Back-EMF at all in brushed motors?
The point of BackEMF in brushless motors is that when youre not actively driving them you can still see a sinusoidalish shape in any of the phases (depends of the motor topology)
With a brushed DC motor you will only see a constant DC signal?
Im not sure if you can get position info from there....... interesting tought
Extra, SENSORLESS doesnt really mean sensorless, it means the voltage/current sensors are inside the motor driver instead of a decoder or a hall-effect sensor in the motor.
If you have voltage sensors (adc), youre driving in trapezoidal mode.(backemf)
If you have current sensors, youre driving in field oriented control or vector control. (FOC)
2021-12-16 04:54 AM
No you can't get position information because you don't have access to the individual phase currents, only the combined net current through all three phases. But you can still get the motor velocity as that current is dependent on the back emf which is proportional to the motor velocity. Its the current you are measuring not the voltage.
2021-12-16 06:33 AM
.
2022-01-10 07:41 AM
Hello @SCrum.1 and welcome to the ST Community.
The motor speed can be estimated through the BEMF measurement (ADC sampling of motor voltage when in high impedance) or the motor current ripple measurement.
In the second case, measuring the current ripple it is possible to estimate the motor speed:
Speed [rpm] = 60 / (P x Tr [s])
where P is the number of poles of the rotor and Tr is the period of the ripple in seconds
Note that this method cannot be used if the PWM current control is acting.
However, we do not have any software available for this type of measurement.
I hope this post can help you; if so, consider to mark it as best answer by clicking the label "Select as Best".