In this circuit an Arduino digital pin drives the Gate of a N-MOSFET. When the pin is HIGH, current can flow from the H-Bridge GND to board GND. When it's LOW, current can't flow. What I need is to switch the H-Bridge ON/OFF in order to stop its quiescent power.

Everything works fine except when I use PWM signals in the H-Bridge INPUT pins. In this case, when the MCU suddenly sets the Gate pin LOW, the motors still move a little bit or they make a noise just like they are receiving power but not enough to move.

The MCU is working at 16 MHz speed, and the PWM instruction used is analog.Write(pin, 180); (range values 0-255) (*I name the instruction only to help calculate the switching frequency)

I'm quite sure I should have put a pull-down resistor in parallel from the Arduino digital pin to GND. In other words, pulling down the Gate to 0V. I tried to stick manually a through-hole resistor but it didn't solve the problem.

The N-MOSFET is: AOD2922

enter image description here

  • \$\begingroup\$ I suggest you try to make your schematic more complete. Show what's driving the IN pins of the L2930. Show how your N_MOSFET is connected to the rest of the circuit, as it doesn't seem to be doing anything there by itself. \$\endgroup\$ – brhans Apr 4 '16 at 20:43
  • 1
    \$\begingroup\$ You want to float the MOSFET driver ground to reduce its quiescent power? This sounds like a really bad idea to me. Why not just control the enable pins with the MOSFET, shutting the drivers down? \$\endgroup\$ – Adam Lawrence Apr 4 '16 at 20:43
  • \$\begingroup\$ You mean an actual physical mass, moving under an amount of fixed kinetic energy, doesn't just stop moving over an infinitesimally small distance? That sounds pretty much like what we agreed to the Universe being like up to this point. Try what happens when you go 120km/h and let go of the gas. You'd be pretty confused if your car immediately stopped, I imagine. And also what @AdamLawrence says. \$\endgroup\$ – Asmyldof Apr 4 '16 at 20:44
  • \$\begingroup\$ @brhans I'm drawing a more complete schematic. Thank you. \$\endgroup\$ – Nic1337 Apr 5 '16 at 8:43
  • 1
    \$\begingroup\$ Switching the L293D positive supply with a P-MOSFET will probably give you better results. Remember to put a pull-up resistor on the P-MOSFET gate to keep it off when the MCU goes to sleep. \$\endgroup\$ – brhans Apr 5 '16 at 12:41

If I interpret your question correctly, this is probably what is happening:


simulate this circuit – Schematic created using CircuitLab

Most ICs have ESD protection circuit at the I/O pins which is represented by D1 and D2 above. When you want to disable the L293D by floating the "GND", "GND" gets pull toward Vcc by the loads. Current may flow through D2 as represented by the arrows.

Therefore, your MCU output is trying to power the circuit by pulling "GND" down through D2.

You are lucky that the H-bridge is powered by +5V. If it were +12V or something, it would probably burn out the MCU output.

Floating the "GND" of a circuit tends to have undesirable side effects. I avoid it because of the effort needed to take care of all the side effects and the risk of missing some.

Another side effect here is when the MOSFET is on, it still has significant resistance. That mean "GND" is not at 0V and would fluctuate depending on the load. So everything that are reference to "GND" are offset, that includes all the input pins.

  • \$\begingroup\$ Thank you so much. So, what is the most efficient way to stop quiescent power of L293D? \$\endgroup\$ – Nic1337 Apr 5 '16 at 10:06
  • \$\begingroup\$ If the H-bridge is indeed powered by +5V, then a 5V MCU can drive a high side PMOS. Have to account for the potential reactive voltage from the inductive load during turn off, perhaps by sequencing (disable L293D first sometime before cutting power), rely on a bypass cap to L293D and/or additional voltage clamping. You still need to take care of the inputs, such as, the MCU cannot try to drive the inputs high when power is cut. \$\endgroup\$ – rioraxe Apr 5 '16 at 17:13

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.