Some power PWM drivers for DC electric motors

1. Warning!

The author makes no warranties that this document is free of errors! Be very careful if connecting these circuits to larger lead accumulators! Very high short-circuit currents could be dangerous and destroy and burn your circuits! It is highly recommended to first test the circuits with a current-limited power supply and a small motor!

2. Introduction

PWM (Pulse Width Modulation) is an efficient way to vary the speed and power of electric DC motors. Here two drivers are described for 24 V (15 V to 30 V) motors with a maximum current up to 80 A. These drivers can for example be used to vary the speed of small electric vehicles. The first driver use a power PROFET transistor switched at 500 Hz and the second use a power MOSFET transistor switched at 20 kHz. The second method is preferred due to its higher frequency.

3. Switching theory

The best switching conditions are when the switch frequency is much higher than the dynamics of the motor. The motor should “think” that it is powered from a true DC voltage. Due to different references the frequency must be at least five times higher than the rotation speed of the motor. For example, if the motor rotates at 6000 rpm (100 rps) the frequency must be higher than 5 * 100 Hz = 500 Hz. A theoretically better explanation is that the switching frequency must be much higher than 1/Ta where Ta = L/R is the electric time constant of the motor. Here L is the inductance and R the inner resistance of the motor. For a typical DC motor (200 W, 24 V) L = 1 mH and R = 0.5 Ω. This again means that the frequency must be much higher than 1/Ta = R/L = 0.5 / 0.001 Hz = 500 Hz. Usually a frequency around 20 kHz is used. This also avoids noise from the motor in the audio range.

4. Building instructions

The circuits below can quite easily be built on a standard prototyping card. It is a good idea to have the power component (i.e. PROFET or MOSFET transistor) on a separate card with the heatsink. See for example the photos below. The power component must be connected to the power supply or accumulator and the motor with quite thick wires and cables. The author used 1.5 mm (1.77 mm2) tin plated copper wires between the power components and the cable connectors. This is probably enough for motors that use a current of up to 20 A on average. The cables should also have an area of at least 2 mm2. For higher current motors the wires and cables must be thicker accordingly. As pointed out in the warning it is very important to not short-circuit, especially when connected to larger accumulators. Always test with a current limited power supply and a small motor first to see that everything works.

PWM circuit layout

PWM circuit layout

5. The PWM circuit

The original PWM circuit was found on the internet. Unfortunately the link seems to have disappeared when this was written. The PWM duty cycle can be varied from 0% to 100% with the 47 k potentiometer.

The following resistors and capacitors were used:

f = 1 / (RC) (kHz) R (kΩ) C (nF)
0.5 22 100
20 2.2 22

Circuit layout

6. The +12 V power supply

The small current parts (not the motor itself) could be powered from a +12 V voltage regulator. Then the input voltage must be larger than +15  V. The regulator survives a current of maximum 1 A with a heatsink.

PWM circuit layout

Circuit layout

7. Power PROFET PWM motor driver

This power driver circuit is based on the PROFET transistor BTS 555 and is working at a switch frequency of 500 Hz. The reason for this low switch frequency is that the BTS 555 is a relatively slow component. This was the authors fist experimental PWM setup. However the power MOSFET version (below) is better. Note, the BTS 555 and the large diodes (DS75-08B and DSI75-08B) require relatively large heatsinks for high current motors.

Circuit layout

8. Power MOSFET PWM motor driver

This power MOSFET motor driver is better than the PROFET driver because it is working at a higher switch frequency of 20 kHz. This circuit also avoids the voltage drop and power loss over the power diodes present in the PROFET driver. The MOSFET transistor in this motor driver requires a special driver circuit between the PWM circuit and the MOSFET itself. The reason for this is that switching the gate voltage of the MOSFET transistor requires high transient current (2 A) due to relatively high capacitive load. The MOSFET transistor requires a relatively large heatsink for high current motors.

Circuit layout

9. MOSFET driver 1

This was the first MOSFET driver used by the author. But driver two is better.

Circuit layout

Circuit layout

10. MOSFET driver 2

This is the best MOSFET driver using a dedicated circuit (EL7212CN) as driver. Note that the circuit has an inverted output.

11. Electronic component data

Presented here is some data (absolute maximum ratings) and approximate prices for the most critical and expensive components in the circuit layouts above. Imax and Pmax are given with appropriate heatsinks. Good heatsinks are quite expensive.

Component Umax (V) Imax (A) Pmax (W) Ron (Ω) Price ($)
BTS 555 34 158 310 0.0029 10
DS75-08B 800 160 160 ? - 10
DSI75-08B 800 160 160 ? - 10
STP80NE06-10 60 80 150 0.0085 5
LT10A04 400 10 10 ? - 1
BD 139 60 1 8 - 1
BD 140 60 1 8 - 1
EL7212CN 16.5 2 (< 1 µs) 1 - 5
TL 084 36 - 0.5 - 1

12. Some oscilloscope views of signals

These images are taken with a Pico Technology ADC-212/3 oscilloscope for PC. The current was measured by measuring the voltage over a 0.1 Ω, 10 W thread winded resistor, which probably also has some inductance. The resistor was connected in series with the motor or lamp. The operating voltage was 18 V powered from a large power supply which can handle a maximum average current of 15 A. The small transient spikes that are seen at the positive flank of the voltage curves at 20 kHz probably occur because the power supply is not fast enough to keep the voltage stable for a short time. The DC motor (15 V, about 100 W) is running without load. The lamp is of normal car lamp type (12 V, 50 W).

PWM pulse over DC

1. PWM pulse over DC motor at 500 Hz and 30% duty cycle. The motor dynamics (voltage and current) have time to follow individual pulses, which indicates that the pulse frequency is too low.

PWM pulse over DC motor

2. PWM pulse over DC motor at 20 kHz and 30% duty cycle. Here the pulse frequency is so high that the motor behaves almost as if powered from a true DC voltage. However, some transient current spikes occur at the flanks of the pulses.

PWM pulse over car lamp at 500 Hz

3. PWM pulse over car lamp at 500 Hz and 30% duty cycle. At this low frequency the lamp behaves almost exactly as a true resistor i.e. the voltage and current follow each other.

PWM pulse over car lamp at 20 kHz

4. PWM pulse over car lamp at 20 kHz and 30% duty cycle. At this high frequency the inductance in the lamp (and probably also the 0.1 Ω resistor) gives large transient current spikes at the flanks of the pulses.

13. Some photos of the circuits

PWM driver with PROFET

1. PWM driver with PROFET (BTS 555) transistor and a large heatsink. The large diodes (DS75-08B and DSI75-08B) also share a large heatsink.

2. PWM driver with MOSFET (STP80NE06-10) transistor. This driver uses the “MOSFET driver 2” (i.e. the EL7212CN circuit). The MOSFET must have a larger heatsink than here for high-current DC motors.

Car lamp and DC motor

3. Old car lamp (12 V, 50 W) and DC motor (15 V, about 100 W).

Stefan Spännare (


  • The kit (2408B) is of obvious quality, easy to setup and calibrate and the free to download software has a reasonable learning curve. Superb kit, superb support, what more can I say.

    Rop Honnor
  • I have been using my 4224 PicoScope for years. I travel abroad so this has been ideal due to its physical size. Storage of waveforms on my Laptop is very easy allowing me to quickly email waveforms to my Colleagues.

  • Not many USB scopes works on Win & Mac & Linux too, so that proves me that guys from Pico really cares about us, customers. This made my decision much easier when I was looking to buy an USB scope.

    Raul Trifan
  • We have been using Picoscope 6404D for quite some time, and are amazed by its accuracy and powerful emulations while working with numerous signal evaluations.

    J Mohanty
  • PicoLog TC-08: This is a very nice unit that works consistently and reliably.

    Jeff Hulett
  • It is a great scope. I had a weird problem - it did not work on one of my PC’s. Customer service gave me first class service. If I could give 6 stars for customer service - I would do so.

    Niels Larsen
  • Perfect Partner for Development of Encoder controlled Stepper Motor Actuators. Since the included software is really stable, this type of device is a great tool for great tasks!

    Helmut Schoettner
  • A superb piece of equipment worth its weight in gold

    Nigel Clinch
  • So simple to use & beats any other I have ever used hands down.

    John D Samsing
  • Rather than webcam our benchtop scope screen, it was suggested we use a PicoScope to share waveforms via screen share.

    We were a bit hesitant at first … but it worked flawlessly, and everybody is now out shopping for PicoScopes!

    T Lövskog • SVP of Innovation at Additude AB
  • Great functionality in a compact size. I really like moving the mouse pointer to a position and having the Time and Voltage display the values at that point. Calibration equipment is a breeze with that feature.

    Don Horein

PC oscilloscope and data logger products