How to calculate speed of DC Motor?

I have a DC motor rated 24VDC@200mA driving at 40% DC and 20% DC(PWM) should run at what speed? Is there any formula to calculate the motor speed based on duty cycle

No. You cannot calculate the speed based on the duty cycle. The duty cycle dictates the average power supplied to the motor, and although this is proportional to motor speed for certain regions of operation, no direct relationship exists in all cases. The speed at a given power will depend on the load. This is why a tiny motor whips round at no load and slows down at the same power with a fan on the end. The best way to measure the speed of a dc motor is to use some form of encoders. Most encoders use infrared light in a beam that gets cut by a serrated wheel of plastic attached to the back of the motor. If you have a brushless motor it is likely that it has magnetic sensors. Those can be used to determine position over time (speed) too.

• Suppose I have some load say it 3 then how to calculate the speed based on the duty cycle. Commented Dec 27, 2019 at 9:07
• The duty cycle dictates the applied voltage, so, not directly the applied power as current can still vary. Commented Dec 27, 2019 at 9:45
• @Harsha A load of 3 ...? 3 what? If you have a torque vs speed graph of the motor, you can determine eventually what voltage you need to apply. Or een better: if you know the torque constant and the speed constant of the motor. Commented Dec 27, 2019 at 9:47
• My motor ratings are 24VDC@200mA with 5W power. At this point of time we are not considering any load and giving the duty cycle as the input to the dc motor and calculating the speed. want to confirm that the motor is rotating according to the given duty cycle or not. Is output from motor is as per the input given? Commented Dec 27, 2019 at 10:24
• "My motor ratings are 24VDC@200mA with 5W power." You already said that in the title and in the question. There is no need to keep repeating it. Please try to answer the questions asked in the comments. A load of 3 what? Watts? Nm? Turkeys? Do you have the datasheet link for the motor? Welcome to EE.SE. Commented Dec 27, 2019 at 11:24

If the PWM is being applied to to the motor properly (current recirculated through the motor during PWM 'off' period, and frequency high enough to smooth current via the winding inductance) then the speed of a permanent magnet DC motor should be proportional to the PWM ratio. PWM creates an average voltage equal to the supply voltage multiplied by the PWM ratio, so the motor should spin at the same speed that it would with the equivalent lower DC voltage.

So for example if the motor spins at 10,000 rpm on 24 V then with 40% PWM applied it should run at 10,000*0.4 = 4,000 rpm. With 20% PWM it should run at 10,000*0.2 = 2,000 rpm. This is equivalent to running the motor on 9.6 V or 4.8 V.

• This has not been my experience. What I have seen is that some minimum duty factor is required just to overcome friction. I wouldn't expect your example motor to run at 100 rpm if the duty factor is 1%...I would expect that it doesn't turn at all. Commented Dec 27, 2019 at 19:22
• @ElliotAlderson But you also wouldn't expect the motor to run if you applied a 0.24V supply to it. I guess the question is whether a motor behaves the same with a PWM applied to it of duty cycle D from a supply VDC, as it does if you just applied VDC x D straight from a supply. Commented Dec 27, 2019 at 21:28
• @ElliotAlderson A motor may actually run at lower PWM ratio than on the equivalent DC voltage because the vibration helps to overcome 'stiction'. Some model railway controllers deliberately use low frequency PWM to get lower speed and avoid 'jack rabbit' starts. Commented Dec 28, 2019 at 5:36
• I tested a small 12VDC brushed motor on a supply voltage of 11V, with various PWM ratios and the equivalent DC voltages. Between 20% and 80% PWM the speeds tracked within +-7% of each other (eg. 48% PWM = 9180rpm, 5.28VDC = 9090rpm). At 8% PWM the DC speed was 20% lower than the PWM speed. On 0.66VDC it would not start or run, but on 6% PWM it did 1020rpm. Based on the rpm at 11V (and assuming Kv remains constant) it should do 1100rpm on 0.66V, so the low speed PWM was more linear than DC! Commented Dec 28, 2019 at 6:00
• @Harsha I think it depends on the motor, whether powered by PWM or DC. I tested a coreless motor which has very low brush drag and zero cogging. It is rated for 35,000 rpm at 24V. At 0.2V (the lowest voltage it would run on) it did 330 rpm, which is close to the theoretical speed of 292 rpm based on a Kv of 35000/24 = 1458rpm/V. 0.2V equates to less than 1% PWM at 24V. Commented Dec 30, 2019 at 5:45

I think that the less speed - the more difficult to increase the speed. So the differential equation should look like $$\d'(v) = ad(v)\$$. The solution is $$\d(v) = e^{av}\$$. It corresponds to my data:

But $$\d(v)=e^{av^2}\$$ is actually better, $$\d(v)=e^{av^3}\$$ is the best.