Arduino Forum

Using Arduino => General Electronics => Topic started by: 0070 on Dec 11, 2018, 10:56 pm

Title: Opamp circuit debugging
Post by: 0070 on Dec 11, 2018, 10:56 pm
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()
{
  Serial.begin(115200);
  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()
{
  delay(2000);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(9, LOW);
    Serial.print("LOW\n");
    delay(2000);
    digitalWrite(5, HIGH);
    digitalWrite(6, HIGH);
    digitalWrite(9, HIGH);
    Serial.print("HIGH\n");
}
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
Title: Re: Opamp circuit debugging
Post by: JohnRob on Dec 11, 2018, 11:11 pm
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.

Title: Re: Opamp circuit debugging
Post by: MarkT on Dec 11, 2018, 11:11 pm
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.
Title: Re: Opamp circuit debugging
Post by: Grumpy_Mike on Dec 11, 2018, 11:15 pm
Quote
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.
Title: Re: Opamp circuit debugging
Post by: DVDdoug on Dec 11, 2018, 11:17 pm
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.

Quote
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 (http://www.gammon.com.au/motors)
Transistor motor driver (http://www.gammon.com.au/motors)

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


BTW - Ohm's Law (https://en.wikipedia.org/wiki/Ohm%27s_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).     

Title: Re: Opamp circuit debugging
Post by: TomGeorge on Dec 12, 2018, 11:45 am
Hi,
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  (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.... :)