Why is this h-bridge not working?

Hi everybody,

Ok so this is the first time I have ever made a h-bridge and I did not follow any tutorials but rather just used my instinct so if there is a million reasons why it is wrong then I apologies now! Basically the idea is that when 1 push button is pressed 2 transistors should turn on to allow positive current to flow threw the motor one way and when the other is pressed it will allow positive current to flow threw the motor the other way meaning the motor can spin both clockwise and anticlockwise.

Below is the link to my project but it has been recreated using Fritzing. I believe I might have issues with perhaps my transistor pins or not enough power rather than my wiring theroy. I have used 4 C1815 (C1815 pdf, C1815 Description, C1815 Datasheet, C1815 view ::: ALLDATASHEET :::) NPN transistors and hopefully have all my collectors, emitters and bases correct. I have tried to make the images as clear as possible but just ask if you cannot understand something.

Image:
www.photobucket.com/samuelcbarduino

Thanks!

Any chance you could convert that into a schematic that is actually possible to follow?

Your high-side transistors should really be PNP, and you should use NPN transistors to drive them. NPN do not work well for high-side switching.

Hi majenko,

Sorry that the picture is not as clear as you had hoped, and sadly I cannot not get it into a decent schematic view because for some stupid reason the connection from one side of the motor disappears when I do so! As for the trasistors, am I correct in thinking you believe it better to have 6 in total, the four I have now being replaced with PNP's and then 2 NPS's to turn the 2 PNP's on at a time?

Thanks again!

Here is a tried and tested H bridge
it uses a npn transistor to both sink the pnp base and drive the coresponding npn base at the same time so all you need is two pwm pins to drive the whole circuit, if like me you dont have BD series transistors, you can use TIP series, i did

Thanks P18F4550 for the reply,

That seems like a good setup to me and is what I had in mind with the additional transistors. Also am I correct in thinking that there are 2 PNP transistors and 4 NPN transistors on that picture, and that the BD140, BC547 and BD139 are all the types of transistors used? And finally will this work on a single 3v battery pack?

Thanks!

Yes, there are 4 npn's & 2 pnp's, it's function can easily be broken down
when x2-1 is high & x2-2 is low, T3 (npn) draws current from the base of t1(pnp) switching T3 on allowing current to flow to x1-1 through the motor to x1-2 through to T5 (npn) to ground

when x2-1 is low & x2-2 is high the flow is reversed

I've only tested the BC547's with 5v logic from the arduino and 12v driving the motors, whether it will work on 3v im not sure as the transistors Base require a curtain amount of current to switch, that's down to the type of transistor used

Brilliant, thanks for taking the time to explain that in detail and I will hopefully find the time to have a crack at it tomorrow as its getting late. Also I think I will try it with a 3v pack powering the motor and the arduino then powering the 2 transistors with the 5v.

Thanks again!

P18F4550:
Here is a tried and tested H bridge
it uses a npn transistor to both sink the pnp base and drive the coresponding npn base at the same time so all you need is two pwm pins to drive the whole circuit

That's very like my design - I added protection diodes and it uses surface mount super-beta transistors as the drivers to avoid needing any heatsinking for small/medium motors (well most of the time!). I also had base-emitter resistors on the drivers to speed up switch-off to allow faster PWM perhaps: