The circuit below is designed to power a 12V DC motor, which has to operate in both directions with variable speeds, using the Arduino as control unit.

The center components (resistor, coil and capacitor) represent the motor (mainly for simulations.) The 4 transistors are power transistors (I'll probably use TIPs.)

The 2 sources at the bottom represent 2 PWM signals, given from an Arduino. The voltage divider in the center is there to measure the voltage and give it as feedback to the Arduino.

I already know that the voltage at the voltage divider can get as high as 6V, which will damage the Arduino without the Zener diode.

How can I solve this?

Will there be any other possible problems I need to investigate before buying the components and trying the circuit?

enter image description here

  • 1
    \$\begingroup\$ Motor drive circuits contain an astonishing number of pitfalls. I suggest you start with a published circuit and work from there. I also suggest that unless you're being deliberately nostalgic, you use MOSFETs and gate driver chips. \$\endgroup\$ – TimWescott May 1 at 20:40
  • \$\begingroup\$ What are the specs of your motor? Is its internal resistance 40 Ohms, or did you just choose that value to simulate its normal operating current? \$\endgroup\$ – Bruce Abbott May 1 at 21:24
  • \$\begingroup\$ This circuit has been made according to suggestions from my teacher, who suggested we'd use transistors. The 40 Ohms is only to simulate, I don't know the exact value but I don't think this will be of any concern. \$\endgroup\$ – Tom Jacobs May 2 at 6:46

There appears to be several problems with your schematic.
I assume that the only states that exist are:

  1. Q3 ON and Q4 OFF
  2. Q4 ON and Q3 OFF
  3. Q3 OFF and Q4 OFF

Now the problems:

  1. If Q3 AND Q4 are ever ON, then Q1 and Q2 will both turn on shorting your supply (large current flow). You show no understanding of the need to handle this. Normally you WOULD support Q3 AND Q4 = ON to get motor braking, with this configuration you cannot do this.
  2. The 1N750 has a leakage current in the 5-50uA range, far too high for the R8,R9 values you have.
  3. The junction of R8,R9 would have values of about 0v, 6V or 12V for the states shown above. I'm not sure it is providing any viable information.

There are many H-bridge chips available, is there some compelling reason you want to implement it in the manner you have shown? You don't give any idea what the power level is of your DC motor but implementing with transistors that have significant VCE(sat) will impact driving the motor.

  • \$\begingroup\$ Thanks for these remarks! 1) I thought that both states on would be controlled by the Arduino, so that it wouldn't occur. Do you have a suggestion how I can handle this? Now that I think about it, motor braking will be needed. I'll look into this. 2) Thanks for this, this explains a problem I had with the simulation. 3) Correct, it's more of a control point, asked for by our teacher. I didn't see the need of this myself. We are not allowed to use H-bridge chips, so I went ahead and made this. The 12V DC Motor is a small motor, which will be used to lift a 2kg weight. \$\endgroup\$ – Tom Jacobs May 2 at 7:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.