# PWM Motor Driver output voltage is enormously load - dependent

I've built this PWM motor driver (for a motor which requires 5A at maximum 24V and which I want to drive sometimes with 10V and other times at 24V). Here you find the datasheet of the mosfets.

PS: there is also a missing 10k resistance between gates and GND

The device works and supplies correctly my motor. If I use a 50% of duty cycle, I get an average voltage of 12V across my motor.

But, If I measure the output voltage without load, or with a low - current load (such as a 200mA fan), the device works (it provides an average voltage which is determined by the PWM duty cycle) but not with the right proportion: without load (the only load is my volt - meter) I get 12V (instead of 6V) with 25% of duty cycle and 20V (instead of 12V) with 50% of duty cycle. With fan the result is slightly different but always in contrast with the right proportion.

My possible explanation: the output voltage is, in theory, a square wave. A Volt - Meter, a fan and my motor filter it in different ways, so the result is different. But, if this explanation is true,

• I'm surprised of such big differences between the behaviour with these different loads.

• I don't know how should I take care of this fact and design my circuit to work properly with a specific load (for my motor, it works perfectly, but maybe it is lucky....I've never thought at this aspect).

• I think that different loads will change the amount of ripple, and not the average value. But, in my measures, the average voltage is different.

Can you help me to explain this phenomenon in a more detailed way?

With motor switching, you should think in terms of current instead of voltage. Consider what happens when you are running an inductive load (your motor) under load. When you turn on the FETs, the output terminal is pulled to ground and current flows through your motor. When you turn the FETs off, the motor continues to conduct current in the same direction, so the current flows through the diode, turning it on so the voltage across the motor quickly changes from 24 volts to one diode drop, then to zero volts if the switch is left off long enough for the motor to stop conducting.

Now consider when you are running with no load. The FETs turn on and pull the output hard to ground. But when they turn off, but there is nothing to pull their drains back up to 24 volts except the diode leakage and whatever else you have in parallel to the motor. If you were to look at voltage waveforms with a light load, you would see not a square wave but a ramp on the "off" half-cycle. If you were to add pull-up resistors, you would then see the average that you were looking for.