Design of an Op Amp Circuit for Voltage Amplification

Click For Summary
SUMMARY

The discussion focuses on designing an op-amp circuit for voltage amplification using a Futek TFF425 torque sensor and an LM393N op-amp. The user aims to amplify a 20 mV output from the sensor to approximately 5 volts for easier measurement with an Arduino. Key recommendations include using a differential amplifier instead of the LM393N, which is a comparator, and implementing an anti-aliasing filter before the ADC. The HX711 chip is suggested as a comprehensive solution that integrates amplification and A-D conversion, along with an excitation regulator.

PREREQUISITES
  • Understanding of non-inverting op-amp configurations
  • Familiarity with differential amplifiers
  • Knowledge of anti-aliasing filter design
  • Basic concepts of bridge sensor conditioning
NEXT STEPS
  • Research "differential amplifier design" for sensor applications
  • Learn about "anti-aliasing filter design" for ADC inputs
  • Investigate "HX711" for integrated amplification and A-D conversion solutions
  • Explore "bridge sensor conditioner" modules for efficient signal processing
USEFUL FOR

Electrical engineers, hobbyists working with Arduino, and anyone involved in sensor signal conditioning and amplification projects.

runningman19
Messages
19
Reaction score
3
Hi Everyone,

I would like to measure voltage output from a sensor via an Arduino. The sensor outputs 20 mV at max capacity. I'd like to bump this up to around 5 volts so it is easier to measure. My plan was to use a non-inverting topology coupled with an LM393N op-amp. The schematic for a non-inverting circuit is given below, as per Nilsson and Riedel (1996):

244115


The equation for voltage output is:

vo = 1+Rf/Rs*vg

Where vg is the signal voltage and vo is the signal output. I have a few questions:

  1. How should I select resistances for Rf and Rs? Right now, I plan on using a 1kΩ for Rs and a 200kΩ resistor for Rf , which will give me a gain of 201. Is there anything else I should consider when selecting these resistances, practically speaking?
  2. How should I select a Vcc voltage? Is my only intention in selecting this not to saturate the op-amp?
  3. Why is non-inverting the best topology for this circuit?
  4. What is the purpose of Rg in this circuit?
I appreciate that these are relatively simple questions. I'm a chemical engineering student who has never taken a class on circuits (which was probably a mistake), so you may have to speak kind of slow :)
 
Engineering news on Phys.org
Welcome to the PF. :smile:

The LM393 is a comparator, not an opamp. So it is not a good fit for this application.

https://www.onsemi.com/PowerSolutio...f3uY_N1dunrXdDtnR9AlWnQcpN8tHTpkaArEPEALw_wcB
Can you say more about the sensor and its output? What voltage is this 20mV referenced to? Or is it a floating sensor of some kind? Can you post a link to the datasheet?

Usually you would like to do some filtering of the sensor signal in addition to the amplification (depending on the bandwidth of the sensor output). Have you learned much yet about making filters with opamps?

And what power supplies do you have available for this? You show split +/- power supplies in the example schematic you posted -- do you have those? The power supplies available will affect the choice of opamp, and the biasing circuit that interfaces the sensor to the opamp(s).
 
  • Like
Likes   Reactions: Asymptotic
The sensor is a Futek TFF425 torque sensor. I was planning on using a 10 volt power supply for excitation, and according to the data sheet this would result in a 20mV output at maximum load (in this case, 160 in-oz). Additionally, I was planning on connecting the negative signal pin to ground, so I would imagine ground would be the reference.

I've never taken a class on circuits, but by filtering I assume you mean some sort of active low or high pass filter. Since the intention is to measure torque on a stirred tank, there is already a significant amount of noise in our torque measurements (given that we are operating in a turbulent regime). My intention was to simply collect the data from the sensor as is, and then use the average and standard deviation of the data to determine the torque at any given time within an interval of uncertainty (the uncertainty being the standard deviation and the torque value being the average). Would a filter still be helpful in this scenario?

I was planning to use an Agilent DC power supply for right now (these are what we have in our labs). I do not believe that these are split power supplies.

Here is the link to the sensor datasheet:
http://www.futek.com/files/pdf/Product Drawings/tff425.pdf
Again, I apologize as I am aware my understanding of this subject is relatively crude. Most of my information has come from a textbook I borrowed from a buddy, which he used in his sophomore year Principles of Engineering Circuit Analysis class. It's a good book but doesn't go into detail about practical implementation of op-amps. If you can recommend more appropriate literature, I'd be happy to take a look.
 
  • Informative
Likes   Reactions: Asymptotic
No need to apologize, you are asking good questions and it sounds like a fun project.

The datasheet (thanks) seems to imply that it's a strain gauge bridge based sensor. In that case, the two outputs will be centered in the middle of your DC power supply voltage that you power the sensor with. The amplifier circuit should be a differential amplifier that also translates that differential voltage down to a ground-based voltage that your Arduino ADC can digitize.

As far as filtering, you at least need to use an anti-aliasing filter (LPF) before the ADC, and depending on the frequency range of the valid outputs from the sensor (even with turbulence-induced changes), you may be able to set the input LPF to a lower breakpoint than required just for anti-aliasing. What is the sampling frequency of your ADC? Can you post an oscilloscope picture of the two outputs of the sensor (AC Coupled) in the middle of the supply voltage to the sensor?

You mention that you have one power supply to use for this -- does that have to be set to 3.3V for the Arduino, or can it be set higher to support the sensor and the Arduino has its own voltage regulator to make its 3.3V?
 
  • Like
Likes   Reactions: Asymptotic
Investigate "bridge sensor conditioner".

The ones I originally had in mind are complete modules intended for industrial users, and expensive, but it appears many chip manufacturers feature a wide range of inexpensive devices with varying degrees of complexity and capabilities.

Linear Technologies has a very thorough application note on the fundamentals of op-amp based bridge circuits you may find a useful reference.

https://www.analog.com/media/en/technical-documentation/application-notes/an43f.pdf
 
  • Like
Likes   Reactions: dlgoff and berkeman
Look up HX711. That has the amplification and A-D conversion built together with a excitation regulator. It has everything you need. Breakout boards are readily available as well as an Arduino library.

BoB
 
  • Like
Likes   Reactions: Asymptotic
berkeman said:
No need to apologize, you are asking good questions and it sounds like a fun project.

The datasheet (thanks) seems to imply that it's a strain gauge bridge based sensor. In that case, the two outputs will be centered in the middle of your DC power supply voltage that you power the sensor with. The amplifier circuit should be a differential amplifier that also translates that differential voltage down to a ground-based voltage that your Arduino ADC can digitize.

As far as filtering, you at least need to use an anti-aliasing filter (LPF) before the ADC, and depending on the frequency range of the valid outputs from the sensor (even with turbulence-induced changes), you may be able to set the input LPF to a lower breakpoint than required just for anti-aliasing. What is the sampling frequency of your ADC? Can you post an oscilloscope picture of the two outputs of the sensor (AC Coupled) in the middle of the supply voltage to the sensor?

You mention that you have one power supply to use for this -- does that have to be set to 3.3V for the Arduino, or can it be set higher to support the sensor and the Arduino has its own voltage regulator to make its 3.3V?

I still have yet to receive the sensor. The lead time on it is about 1-3 weeks, and we just ordered it a few days ago. I will post an oscilloscope pic as soon as I have one.

Additionally, yes the voltage on the power supply can be set higher. The Arduino is going to have its own power supply.
 
Asymptotic said:
Investigate "bridge sensor conditioner".

The ones I originally had in mind are complete modules intended for industrial users, and expensive, but it appears many chip manufacturers feature a wide range of inexpensive devices with varying degrees of complexity and capabilities.

Linear Technologies has a very thorough application note on the fundamentals of op-amp based bridge circuits you may find a useful reference.

https://www.analog.com/media/en/technical-documentation/application-notes/an43f.pdf

I’m still reading through but that note is extremely helpful. Thank you.
 
  • Like
Likes   Reactions: berkeman
rbelli1 said:
Look up HX711. That has the amplification and A-D conversion built together with a excitation regulator. It has everything you need. Breakout boards are readily available as well as an Arduino library.

BoB
Still looking at the data sheet on this. So this would act to stabilize my excitation from the power supply, as well as an ADC? Additionally, what about filtering?

It looks like a great option. Having an excitation regulator in built would be extremely helpful given that signal is a function of excitation.
 
  • #10
runningman19 said:
Additionally, what about filtering?

You need an anti aliasing filter external to the chip. Fortunately most of the breakout boards have this included.

You still need to do some filtering in software. This will vary based on your application. Averaging multiple samples over a fixed time is OK for many applications.

BoB
 
  • Like
Likes   Reactions: berkeman

Similar threads

Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 6 ·
Replies
6
Views
3K
Replies
9
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
Replies
9
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
15
Views
2K