Author Options:

I have a problem testing the DC Motor Controller,please help if you can! Answered

Hi! I want to build a robotic arm for a project,but I got stuck while testing the motor driver on the breadboard.
I have followed the instructions from this instructable: https://www.instructables.com/id/Easy-DC-Motor-Controller/ and I connected the pnp transistors the right way(the author confirmed in the commentaries a long time ago) and also like in the diagram.
The problem is that when i turn the power on to the circuit,the motor starts to spin(slowly but it has a snail gearing reducer) and the first mosfet is getting very hot very quickly and also if I try to control the circuit by touching the first contact with a positive voltage it doesn't do a thing.I even tried doing only half of it.
I tried to reassemble it again many times,changed the transistors with other new ones,checked the connections and after numerous voltage measurements I concluded that the problem is that when I am powering up the circuit for some reason between the pnp collector and ground there is a 12v voltage and the voltage continues all the way to the resistor to the far left,although at the resistor the voltage is dropped to about 7v.
I also simulated the circuit in proteus before i bought the parts(i need 6 good working drivers) and it worked fine.
It may be a stupid mistake,but please help me if you have any idea what the problem might be!



Best Answer 6 months ago

I do not think your circuit is turning the top FET fully on because the gate voltage will be only 12v which is the motor voltage if it was fully conducting..

Click the pic to see the whole image... The fifth diode makes sure the gate voltage is higher.. The resistors are good Base Emitter form..

In fact if there is only marginal improvement, put two diodes in series..


Thank you for the help!
I tried to add the resistor and diode like you suggested but the motor is still spinning.
The problem is that I cannot control the motor by applying voltage to the first resistor(R2 from the second pictures).
I want to connect the circuit to a pic microcontroller and turn on and off the motor with the output signal from the mc pins.

I was responding to the slow spin and hot FET ONLY..

The second picture with the added parts should work on / off.

At this point I strongly suspect the semiconductors are damaged...

Ok, so I started again with entirely new parts on a new breadboard and I divided the circuit in two parts: one with the high side switching BJTs and one driving the motor.
I tested the switching and it worked with 5v and 12v,then I proceeded to make a common ground between the 5v batteries and 12v ps and it also worked.


Then I tested the fets and they drove the motor with 12v applied to the gate, as they should.
So I put the two pieces together and the circuit worked as it should.
Perhaps the BJTs or breadboard were defective.

Thank you for providing me with advice!

Happy for your success and personally glad you stayed to resolve the problem..

Welcome to Instructables :-)

Don't forget, you WILL need heatsinking on your mosfets.

I have a slab of aluminum that I was planning to machine into a large heatsink for all the motor drivers when the robotic arm is complete.

Try this: VNH2SP30-E its rated higher than your mosfets

Thanks but I already bought the parts and spares for 6 circuits of this design.
And if I were to use VNH2SP30-E, it would cost 4 times as much and it is only available online outside my country.

I want it to be clear to people reading this thread that there are much better methods than this, that's all.

There is silicon available, which will do what this circuit does, more accurately, and for less money !

I know but I need a driver that can deliver a greater current when the motors are in load.
The motors I am using are from the window winders of a Peugeot 307cc and from other unknown vehicles but they are in the same shape and style as the one in my car,for which I managed to find some specifications.
If I were to start again I would have chosen to use optocouplers instead of BTJ switches.


Some hopefully useful circuits and data including an opto micro generator.

drivebridge.bmpBridge_SHORT.bmpfet switch.pngHEXwcd00c2f.gif

Thank you! I downloaded them in a folder where i keep my coursesand other important files.

+2 Absolutely true !

But then this experience is worth so much, OP must persevere :-)

Hi,Thank you very much for your help! I made a simulation in proteus with the circuit I tried to do on the breadboard to make the circuit more comprehensible and it also worked. It looks like this:
I also did new measurements and checked twice. On the first column are the on the first column I wrote down the voltages with the motor disconnected from the circuit,on the second column are the values with the motor connected to it.
All the measurements are done without connecting the PIN1 to 12v. I took a picture of it to save some time,I hope you can understand my writing. Whenever I connect the motor to the circuit,it slowly spins and is heating up the fets. Connecting 12v to the PIN1 doesn't influence the motor,but if you think it helps I can make new measurements where you tell me.


There you have it, the top FET is only partially ON ..

Q6 Vds=2.9v=>Hot and Q8 Vds=o.05v=>Good.

The voltage to the PNP needs to be 3v more then the voltage to the motor bridge !

What is "the first mosfet" ? There are four.

Take the motor out of circuit. Does the "first mosfet" still get hot ? Check the voltage on the gates of the mosfets, check that they go high and low in opposite pairs, and go below one volt low.