# DC motor speed vs PWM duty cycle

I understand there have been quite a few posts asking about the DC motor speed vs PWM duty cycle issues. However, I found those questions different from what I want to ask, so I have to ask this topic again.

I have designed a circuit to drive a small DC motor as shown below. The P channels in the H-bridge are either Full-ON or Full-OFF depending which direction the motor rotates and the corresponding N channel is given PWM drive signals. The PWM frequency is 20kHz, VDC is 7V, T1 and T2 are connected to the DC motor terminals and the gate resistors used are 10 ohms.

In my understanding, the DC motor speed is supposed to be proportional to the drive voltage applied. So, if VDC is fixed, IMHO, the motor speed is supposed to be proportional to the PWM duty cycle because the motor drive voltage is VDC*PWM_dutycycle.

However, this was far from the actual case. Below is the speed vs duty cycle curve I recorded (picture updated).

When I fixed the PWM duty cycle but changed the VDC value, however, the motor speed became proportional to VDC*PWM_dutycycle.

Would anyone please advise why VDC*PWM_dutycycle could have different effects on motor speed when changing VDC compared to changing PWM duty cycle?

[update]

I forgot to mention that the motor shaft was connected to a gearbox whose reduction ratio is 290, and the speed shown in the above plot is the motor speed, not the gearbox output speed.

I started to wonder if this speed vs duty cycle issue was caused by the gearbox friction, which acted as motor load.

• Say, Vcc=5V and D.T= 0.6. For a 1V-increase in the voltage while the D.T has been fixed, you get a 0.6V difference in the output. In the other hand, if you increase the D.T by 10 percent while the voltage is fixed, you get a 0.5V increase in the output. So either way will increase the average power delivered to the motor but with different amounts. Commented Feb 2, 2017 at 8:39
• I understand your point, but if you look at the chart, 20% duty cycle and 40% duty cycle only resulted in 30% speed increase. For a 7V VDC, 20% duty means 1.4V, 40% 2.8V, shouldn't the speed be doubled as well? Commented Feb 2, 2017 at 8:48
• From my understanding and the fact that real-life motors have resistance and a bunch of other things, it's not always true that the motor speed linearly changes with the supplied voltage. At some point, it may slightly start to show non-linear behavior. Commented Feb 2, 2017 at 9:03
• What motor did you test (make/model, specs)? What rpm did the motor do on 7V direct? How did you determine the PWM ratio, and how did you manage to get over 500rpm with 0% PWM? What circuit is driving the lower FET Gates? Have you examined the drive waveform? Commented Feb 2, 2017 at 9:17
• Hi, Bruce, I am sorry I made a mistake in the plot Y-axis unit and I have updated the picture in the post. The PWM ratio is controlled by MCU and we verified it using oscilloscope. The first test point could be somewhat misleading, but it was tested at 1% duty cycle. The P-channels were driven by another transistor and the N-channels are driven directly by MCU PWM outputs. I have observed the gate signals and motor terminal voltages and I think the MOSFETs are working properly. As for the motor spec, unfortunately, I don't have it. Commented Feb 3, 2017 at 6:27