Go Down

Topic: Opamp circuit debugging (Read 193 times) previous topic - next topic


Dec 11, 2018, 10:56 pm Last Edit: Dec 11, 2018, 10:59 pm by 0070
Hello I am trying to operate 3 small motors which will operate within 6~12V.

To power the motor, I am using Arduino Uno pin 5,6 and 9 as OUTPUT and HIGH.
Then I am feeding the signal to non-inverting amplifiers with gain of 2.

When I tried with this code below
void setup()
  pinMode(5, OUTPUT);
  digitalWrite(5, HIGH);
  pinMode(6, OUTPUT);
  digitalWrite(6, HIGH);
  pinMode(9, OUTPUT);
  digitalWrite(9, HIGH);
  pinMode(2, OUTPUT);
  digitalWrite(2, HIGH);

void loop()
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(9, LOW);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(9, HIGH);
All three outputs are giving me 10V.

However, when I connect motors across the Opamp output pin to the ground, the voltage becomes
0.5V and the motors are not working. (when I connect the motors, I am only outputting HIGH without the toggle)
Why is this happening?

I am using ±15V to power the opamp (TL072IP) with current limit at 300mA


I'm afraid the TL072IP opamp will not drive your motor.   I'm not sure where you got the 300 ma number but you will be lucky if you got 25 ma out of this device.

And there will be further limits in output as the device heats up and reduces the output voltage to limit the internal temperature.

I suggest you use a Logic level MosFets.   It appears you want to go both  forward and reverse on your motors.  You should use an "H" bridge for each motor.   Google "H bridge arduino" and you will find a number of possibilities.

Please do not PM me with thread based messages.  If your thoughts are worth responding,  the group should benefit from your insight.


Dec 11, 2018, 11:11 pm Last Edit: Dec 11, 2018, 11:12 pm by MarkT
Several issues here.

Firstly opamps handle signals, not power, you have utterly overloaded the output of the opamp.
Typical loads on an opamp are several kilohms, and most opamps can drive perhaps 10mA or thereabouts.
A motor is a fraction of an ohm and requires an amp or more.  Hundreds or thousands of times more
power is required by the motor than an opamp supplies.

Secondly opamps are for controlling an analog voltage level, and are a complete waste  as an on/off switch.
To switch a voltage, use a switching device, not a linear amplifier

Next issue is about how to control motors.  This is done using switching a PWM waveform straight
from the power source.  The only component to waste energy is the switching device, which hopefully
only dissipates a tiny fraction of the power it controls - no large heatsink or fan then needed to get rid of
the waste heat.

The H-bridge controller is what's universally used to control DC motors.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


However, when I connect motors across the Opamp output pin to the ground, the voltage becomes
0.5V and the motors are not working.
Yes that is to be expected.

An op-amp can only supply a tiny amount of current, a very small fraction of what is need it to make it turn.

It is rather like trying to power the starter motor in your car from 8 AA batteries. Yes it is 12V just like your car battery but it can't supply the current, and you would not expect it to.

This can be summarised by the impedance of the source. A sort of imaginary resistor in series with your current source. You can use this to calculate how much the voltage of your source is dropped as the current increases.


Dec 11, 2018, 11:17 pm Last Edit: Dec 11, 2018, 11:23 pm by DVDdoug
What's the current rating on the motors?  

Op-amps are not generally designed for driving motors and you generally don't want to use a linear amplifier.

I am using ±15V to power the opamp (TL072IP) with current limit at 300mA
That's the power supply, not the op-amp, right?   I think the op-amp can only put-out about 1/10th of that.

MOSFET motor driver
Transistor motor driver

You don't need an H-bridge unless you want to reverse the motor.

BTW - Ohm's Law is always true (it's a law of nature).   So, when the circuit can't supply the required current, the voltage drops (and sometimes bad things happen).     


Dec 12, 2018, 11:45 am Last Edit: Dec 12, 2018, 11:47 am by TomGeorge
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.
It will be formatted in a scrolling window that makes it easier to read.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

What are the specs of the motors, post a link to data/specs please.

Thanks.. Tom.... :)
Everything runs on smoke, let the smoke out, it stops running....

Go Up