Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] TL082 (jfet opamp) issues with motor control circuit

Status
Not open for further replies.

lynx_phoenix

Newbie level 5
Newbie level 5
Joined
Jun 11, 2010
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Greece
Activity points
1,377
Ok, first of all hi all, i'm new here, nice to meet ya all, i guess

this is my circuit



i made it so i can control dc motors, just left/right and enable functionality. in simulations it works great. i know simulations aren't always correct and it does look a bit too bare even to me, but as far as i understand it, it should at least follow its general designed behavior, which is switching either transistor on/off or switching them both off. basically i wire the opamp as a switch: when enable is on, l/r is either larger or smaller than enable, making it produce approx. +-12V at the opamps output depending on which case it is - when enable is low, both inputs go low because of the NAND gates.

i tried this once and it worked, with those resistors. its for my final assignment for my degree. i felt assured it would work, because everything i knew about these components and the circuit told me so. then we made this same circuit again for the final build, connect it to the motors and nothing worked properly. some motors were turned on permanently, or would behave erratically - tried it both with a microcontroller switching the enable and l/r inputs and without one. so i made it again on a breadboard and found out that the tl082, even new ones i hadn't ever used, were outputing random voltages - i measured one whos inputs were not even wired and i got -9,5V at its output. others would have a stable 2,5V output - and some would just output a random but steady voltage when they should be producing 0V, but behaved properly when their inputs had a difference, giving approx. +-12V. only sometimes, some of them worked properly - with properly i mean as designed.

did i mess it up? is this circuit supposed to work or is it wrong? i cant tell cause i actually had to learn a lot of things on my own and besides the classic thing about opamps needing feedback in order to work linearly, i never read anything to prepare me for the random behaviour of the tl082s.

thanks in advance for any clues and sorry for the slightly agitated post - this cost me my deadline and now i have to wait till september...
 

I guess, there are hundred ways to build a better motor driver...
In my opinion, OP usage can be reasonable for a linear (variable voltage)
driver, but the circuit isn't.

But I don't see a clear reason for the reported behaviour. Do you have
the strange behaviour also without a motor connected?
 

yeah, thats what's bothering me - the op amps behave in that manner even without any of the rest of the circuit connected - even without ever being touched before, fresh from the box.

i guess that there could be lots of static in the room affecting their behaviour - for one, i've tried hex-keypads and pushbuttons that react to proximity rather than being pushed - which is very annoying but it gets fixed with pullup/pulldown resistors so i cant understand why these dont work when i've got strong inputs from gates and latches. not to mention they seem to lock at a certain voltage they choose as a balance point (where they should be giving 0) which i cant explain unless they were all malfunctional

i've had some other ideas but really all i'm interested here is to know if this circuit is bad engineering by itself, like if its not supposed to work, so that i know what to believe from now on. and if you're right as well, if indeed there is no reason it should behave that way, then something else is wrong.
 

all i'm interested here is to know if this circuit is bad engineering by itself
In my opinion, it isn't good engineering, because the circuit can only work with some prerequisites, the input must have a particular level to switch the motor as intended. It's a strange combination of digital logic and a linear circuit. If you want a digital (forward-stop-backward) control, design a digital driver. But I assume, that it can work, though.

Your observations suggest, that something is broken in your circuit.
 
What supply do your 74HC00s operate off?
 

5V supply for the gates, +-12V for the opamp

should this be a problem? as far as i know, as long as the gates dont directly mingle with the outputs and stuff, there shouldn't be any issues, as the opamp will just compare its inputs. and the simulations didnt seem to present any issues with this in particular.
 

It's just that the + input to your opamp is at 6V (when ENABLE is on) and the - input will be closer to 5V when logic high.

I'm not sure how your circuit's supposed to work. You want a circuit which enables a motor and allows you to go left or right, correct? Why don't you just use a h-bridge (https://en.wikipedia.org/wiki/H-bridge)?

You can get H-bridge controllers which allow you to send simple commands such as brake, free-run, left, right etc. Some controllers integrate the power MOSFETs.
 

originally i did use both l-298 and 292 instead of this mess, but i scrapped them for some reason, i cant remember why, but i'm pretty sure there was some serious problem.

@tom66 - well, the enable input passes through a voltage divider, passing half its value to the + input, and the enable input comes from a microcontroller, thus its 5V at its high state. both simulation and experiment showed it works properly and makes the + input 2,5V when enable is high and 0V when its low, so i dont think the problem is there
 

I've simulated your circuit and it seems to work well. A suggestion I would make would be to wire the opamp's inverting input (through the 2.2k-220 divider) to the output of the push-pull driver (and the positive terminal of the motor.)

Also put a 1k resistor between the opamp's output and the push-pull transistors, this limits base current, which could be damaging your op-amps.

Further, you seem to have no protection for your transistors from the back-EMF generated by the motor switching polarity. That's a bit dangerous, your transistors won't last long. Put a diode anode to cathode from the -12V line to the motor (+) terminal and another diode anode to cathode from the motor (+) terminal to the +12V line. Two 1N4001 diodes will do fine. If you're switching a very large motor you'll need bigger diodes, though the diodes usually conduct only for a short time (<50ms).

See image. The resistor-inductor simulates a motor coil, the circuit simulation, Falstad Circuit Simulator, doesn't have a motor yet...
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top