# DC motor's speed

Im using a DC motor in a toy car and i would like to know is there a way to calculate its actual speed in m/s or something. And also if its possible if theres a way to calculate the frequency or the duty cycle coming for the dc motor so that i can use that to calculate the angular velocity. Im really stuck here i hope if someone can help me

For brushed motors.

This is typically what an encoder wheel is for. Can be used anywhere on the drive train ( motor shaft, gear system or wheels). Then you can calculate (theoretical) speed or distance. There is always some variance between predicted values and actual this way because of ground imperfections and wheel slip, etc. But you can get a rough idea.

On a larger level you can use gps.

If you try and calculate based on duty cycle there will be too many variables and running conditions to make an accurate speed prediction. If all operation conditions are identical then this could work! In reality though there are many things that can change from run to run.

I use a brushless controller that can give rpm of the motor from its commutation speed. A brushless system can monitor rpm at the motor level with information from its hall sensors (sensored motors) or zero crossings( sensorless).

Sa3eedo:
Im using a DC motor in a toy car and i would like to know is there a way to calculate its actual speed in m/s or something. And also if its possible if theres a way to calculate the frequency or the duty cycle coming for the dc motor so that i can use that to calculate the angular velocity. Im really stuck here i hope if someone can help me

Motor's speed under load can be measured - in theory if you know the motor parameters and the load
you could calculate it too. Either way its speed is measured in rpm or rad/s, not m/s. The groundspeed
involves knowing about the drive system and wheel size.

You need to know the effective voltage to the motor, and that is a non-linear and load-dependent
function of PWM duty cycle unless you use synchronous-rectification mode.

Just measure it with an encoder, you'll never be able to second-guess friction losses in a small motor,
they are simply too variable.