Help with noise canceling on a programmable variable gain TIA op amp

Thread Starter

ecleary

Joined Aug 17, 2015
3
My names Evan Cleary, Im a first time poster on this site, Ive described the project Im working on and briefly described how it works so that my question may make some kind of sense.

Im developing a programmable variable gain current to voltage op amp (TIA) according to the schematic attached

The multiplexor (MUX) switches used are http://www.ti.com/lit/ds/scls511/scls511.pdf, I'll update this post with the op amp data sheet when I have the model no of the one being used

The input current comes from a IR sensing diode on a square pulse, which is currently being tested at 500Hz but this is low compared to the frequencies the circuit is intended for. The MUX switches are controlled using an arduino and the gain change is set to happen when the peak to peak voltage is out of the range of 1 to 1.5V, readings less than 1V cause an increase in gain and subsequently readings more than 1.5V cause a decrease in gain. When a switch is closed the resistance that the switches terminals branch is ignored thus causing the gain to decrease and when the switch is open and the current has no choice of path the resistance is seen in the feedback loop and the gain is increased.

Readings taken at 500Hz with full gain (all switches open) the circuit produced a noise signal at 40kHz, with minimum gain a noise signal of 20MHz was recorded. The lower frequency noise signal at the higher gain values showed noise with more amplitude and signal interference.

With the noise being most prominent when all switches are closed this would suggest maybe that by not allowing flow over the diodes this creates noise at the terminals of the MUX switches.

Im having a hard time reducing the noise on the signal, in fact I built a low pass RC filter on the output of the op amp and it amplified the noise, I understand the theory of filters to an extent but need help applying choosing and applying the filter circuits.

Any advice or info on how to cancel the noise would be very much appreciated
 

Attachments

AnalogKid

Joined Aug 1, 2013
9,158
The schematic is not well drawn, and it is difficult to discern the circuit. My guess is that the diode sensor (which end?) is connected directly to the invering input, and there are eight resistors (values?) in series between the inv input and the output. Not sure why there is a 10 uF cap across the eight resistors. Seems like a very large value for 500 Hz bandwidth. Is there a negative power supply for the opamp. Also, there is no indication of a GND connection out to the input sensor.

ak
 

ScottWang

Joined Aug 23, 2012
7,004
You need to take some photos for the waveforms and labeling the frequencies.
So you want to amplifying the 500hz signal through different gain, but now it generated the 40 mhz frequency you don't want, right?
 

Thread Starter

ecleary

Joined Aug 17, 2015
3
Hi guys, thanks for the replys

AnalogKid the sensor, light source and arduino are off circuit and come into effect through the pins (the schematic was used for pcb design). The cathode of the sensor is attached to the IP pin and the anode goes to ground off circuit, also the capacitor in the circuit was chosen for its type rather than value, this is likely to change depending the sample rate of the arduino. The schem shows clearly enough the IP going to and the OP coming from the op amp, it also shows the digital control pins (signal from the arduino) going to the 2 MUX's, these control the switch states, the negative supply of the op amp goes to ground shown with black connections and the Vcc goes to 5V shown in red on the schem.

The 500Hz is a preliminary trial frequency, this will be increased once i get the sample rate of the arduino increased. The op amp gives a positive reading because the current is drawn from the op amp.

ScottWang thats pretty much the case, the 500Hz signal is visible but the noise on the signal is 40kHz at its most noisey, which is with max gain achieved by having all switches open, which is what i reckon is the source of the noise, with nowhere to flow the potential at the terminals is causing noise.

Would capacitors from the terminals to ground clear the noise?
 

ScottWang

Joined Aug 23, 2012
7,004
If you could take some photos for the input signal and noise of waveforms and labeling the voltage amplitude then it would be better, I want to see how they look like, and how is the values of Rf(R1~R8), fuzzy questions can get the fuzzy answers, unclear circuit will affecting the members who want to help you.

Because the target frequency is 500 Hz, so you can try to set the cut off frequency to 1Khz to 5Khz then the low frequency 40 Khz and higher 20 Mhz will be filtered out, and you should take the capacitor away that you used to filtering the frequency.

Simple R-C Filter Cutoff - online calculator.

schemmux_ecleary_74Ahc4066_ScottWang.gif
 

Thread Starter

ecleary

Joined Aug 17, 2015
3
thanks Scott,

I'll take a photos of the oscilloscope readings tomorrow

I see what you've done there with the schem, I ran a low pass filter from the OP last week and got more noise, was probably set up wrong

now im off for a pint :) , I'll get back to you tomorrow after Ive done some more testing on the circuit
 

nicsky

Joined Aug 1, 2009
11
My names Evan Cleary, Im a first time poster on this site, Ive described the project Im working on and briefly described how it works so that my question may make some kind of sense.

Im developing a programmable variable gain current to voltage op amp (TIA) according to the schematic attached

The multiplexor (MUX) switches used are http://www.ti.com/lit/ds/scls511/scls511.pdf, I'll update this post with the op amp data sheet when I have the model no of the one being used

The input current comes from a IR sensing diode on a square pulse, which is currently being tested at 500Hz but this is low compared to the frequencies the circuit is intended for. The MUX switches are controlled using an arduino and the gain change is set to happen when the peak to peak voltage is out of the range of 1 to 1.5V, readings less than 1V cause an increase in gain and subsequently readings more than 1.5V cause a decrease in gain. When a switch is closed the resistance that the switches terminals branch is ignored thus causing the gain to decrease and when the switch is open and the current has no choice of path the resistance is seen in the feedback loop and the gain is increased.

Readings taken at 500Hz with full gain (all switches open) the circuit produced a noise signal at 40kHz, with minimum gain a noise signal of 20MHz was recorded. The lower frequency noise signal at the higher gain values showed noise with more amplitude and signal interference.

With the noise being most prominent when all switches are closed this would suggest maybe that by not allowing flow over the diodes this creates noise at the terminals of the MUX switches.

Im having a hard time reducing the noise on the signal, in fact I built a low pass RC filter on the output of the op amp and it amplified the noise, I understand the theory of filters to an extent but need help applying choosing and applying the filter circuits.

Any advice or info on how to cancel the noise would be very much appreciated
A number things
First you may want to use an different range setting setup with a cap and res for each range this will allow impedance and bw to be more constant.
The noise gain of the amp is set by then zin/zf. You must keep this ratio low by being carefull of cap on input. The dc gain and noise gain are different.
I suspect that the noise you are seeing is either oscillation or noise gain. The big 10uf cap is way to big and should replace by smaller caps across each resistor in the gain stage. The cap you have is effectivly disconected in many settings because only one side the output is connected. The other side is behind resistors that are bypassed by the mux
 

danadak

Joined Mar 10, 2018
4,057
For future reference another approach is to use a part that encompasses most of your
design, both analog and digital.

This is a single chip, PSOC, that contains a lot of components. A component is an onchip
resource. Attached is a catalog of components for this chip.

IDE (PSOC Creator) and compiler free. Dev board is $ 10 for most designs.

https://www.cypress.com/products/psoc-creator-integrated-design-environment-ide

https://www.cypress.com/documentation/development-kitsboards/psoc-5lp-development-kits

1584284788509.png



The TIA component is G programmable from a code API that is associated with the TIA. I think
its also possible to use port pins to program with some DMA code writing port value into G
register for the TIA, further investigation would have to be done.

As you can see from right hand window this design used practically nothing of available resources on chip.
Chip has Cortex ARM M3 core. The window to its immeadiate left shows part of the catalog for this chip,
also onboard are much more analog (DAC, DelSig, SAR, OpAmps, Comparators, Muxes, Vref....) and digital,
lots of COM, LCD, DSP, PWM, DDS, Logic, LUT......

1584284659814.png


Regards, Dana.
 

Attachments

Last edited:
Top