Electricity flow direction to a motor


I am a newbie in a electricity and I met with a huge problem in my project. My ultimate purpose is to create a robot which will be capable to move and change direction if it meets a obstacle.

There is a scheme which displays one keyable element.

Engine control system which allows me to run a motor with a direction chosen by myself by activating either pin 0 or pin 1.

However it doesn't work properly because the engine is not capable to move without a help. The battery provide 6 V and if connected directly to a motor everything works good.

I have checked the voltage on a motor while using it and I noticed there is no 6 volt but less than 0.3 while it cannot move and approx. 2.3 v while has been forced to move and still moves.

This means that when a resistance on a motor is big, an electricity escapes in some way.

There I need a help cuz I don't know how it happens and how to stop it.

That's because the base voltage of the upper transistors need to be 0,7V ABOVE that 6V to turn on fully. But the Arduino can only rise it to 5V aka it doesn't fully turn on and it's stuck in the linear region on the transistor.

Easiest fix, don't reinvent the wheel and grab an off the shelf H-bridge :slight_smile:

You appear to be missing some base resistors as well. That isn't a very good design for a beginner. There is no protection of any sort to prevent you from turning on both upper transistors at the same time, other than code. I would recommend a manufactured motor driver as well. Adafruit has a few varieties, from a breakout board to a shield which are relatively inexpensive

As well as all the other stuff wrong with that you are also using pins 0 & 1, these are used by the serial port, so you might get odd results of your motor twitching when uploading your code.

You appear to be missing some base resistors as well.

No, that's not the case, the upper stages are emitter follower and adding base resistors there would
make things even worse.

That's the main issue of course, emitter follower is pretty useless for power switching!

A BJT bridge like this would normally use PNP top-side switches and pre-drivers to level-shift. Then
the top-side devices can actually saturate and the supply doesn't have to be the same as the logic

Its really hard to follow a circuit draw 90 degrees rotated, so learn the rules of circuit diagram
conventions, supply at the top, ground at the bottom, signal flow left-to-right where possible...

In a BJT H-bridge not using Darlingtons you can get pretty good efficiency as properly driven
transistors can have 0.1V saturation losses or so. But you have to tune the various resistances
to match the load.