Electronic – arduino – L293D and Arduino working only with common ground.

arduinoh-bridge

So I have an Arduino and an L293D. The L293D logic is powered by the +5V output of the Arduino, while the DC motor is powered by an external power supply.

Here's the part I don't get. If I connect the Arduino and the power supply grounds together the circuit works, otherwise it doesn't. Can you explain me why?

Best Answer

While a schematic would have helped describe the problem statement better, one key concept might help in clarifying this matter:

  • A voltage is the potential difference between two points in a circuit, it is not an absolute value of any physical characteristic at a single point in a circuit. Thus, there is no absolute potential involved, it is relative value, a difference.

How this applies:

The control side of the L293D is actually powered by the +5V from the Arduino only when the +5V has a reference ground available, that corresponds to that particular +5V supply, in other words, the ground of the Arduino board.

The L293D does not have a separate drive-side ground pin, just the "Heat sink and Ground" pins, which are also the ground reference for the \$V_{cc1}\$ pin.

If you note the schematic on page 3 of the datasheet, the ground references for \$V_{cc1}\$ and \$V_{cc2}\$ are one and the same, the GND pin(s). Thus, that reference needs to be connected to the Arduino's reference ground.