getting gain on ADC signals - Page 1
Forum section: electronics / general

author: powerfly
author_rank: Contributor
timestamp: December 07, 2019, 10:21:57 am
content: I am trying to get multi channel (7 at the moment, posssibly up to 24 later on) 10kHz ADC voltage signals and am trying to find the right micro controller for this (seehttps://www.eevblog.com/forum/beginners/help-with-rapid-adc-data-aquizition/msg2818727/#newfor detail).An important thing is that these signals will also need to be amplified, hopefully at least by a factor of 128 and preferably even by a factor of 500+. Is there a way to amplify the signals coming into the native ADC of the micro-controller I end up using for this project (at the moment I think I'll be using a Teensy 3.6/4.0)?

author: Kleinstein
author_rank: Super Contributor
timestamp: December 07, 2019, 10:53:52 am
content: Amplification can be done with special fixed or programmable gain chips (e.g. MCP6S92) or with an OP and suitable resistors.A gain of 128 is already quite high and thus may need low noise / low offset. So the choice of the amplifier can be tricky depending on the exact needs and source. The full scale range depends on the ADC used - so at this stage it would be a give needed resolution and full scale range. With the right external ADC (e.g high resolution for a small range) one may not need extra amplification at all.Besides amplification one may need some protection.

author: powerfly
author_rank: Contributor
timestamp: December 07, 2019, 01:50:26 pm
content: Quote from: Kleinstein on December 07, 2019, 10:53:52 amThank you for the reply, I think you are helping me make progress but there are a few points of clarification that would help even more.1.There are a couple of things I don't quite understand. "A gain of 128 is already quite high and thus may need low noise / low offset" - what do you mean? is there a way to reduce signal noise when amplifying? I am trying to measure small voltage changes on a micro-controller, there may well be issues with noise so reducing that would be of help.2.some external ADCs come with PGA (programmable gain amplifiers) built in so that is an option. I'm wondering if it would be better just to amplify the signal before it reaches the built in ADCs though, whatever works best and is easiest for a beginner would probably be the best choice? which route should I take?3.Is there any more information you need to be able to answer the question well? The source will be some sort of micro-controller, probably a teensy 3.6/4.0 or possibly an arduino. the needs are amplification, more is better up to about a factor of 500 at least. If it is possible to get rid of noise, getting rid of as much noise as possible is ideal.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 07, 2019, 02:15:51 pm
content: Voltages at a µc tend to be not so small and there is quite often interference, that makes it difficult to measure small voltages. The µC internal ADCs tend to be 10 or 12 Bit resolution and sometimes the 12 bits are a bit optimistic. It kind of depends on the resolution needed if the µC internal ADC can be sufficient. If some 11 bit are OK, one can use the µC internal ADC. If more than 12 Bits are needed chances are an external ADC is the better choice.With really small signals one should have an amplifier that is matched to the signal source. So the choice depends on the source impedance and the frequency range of interest, especially the question if DC accuracy is needed.The choice of the amplification factor depends on the ADC ! An ADC with +-12 V full scale needs more gain than an ADC with .6 V full scale (e.g. MCP3911), extra resolution to spare and optional internal gain. The important numbers are the required minimum voltage steps and the maximum voltage. Another point is whether the signal is single ground referenced or differential.

author: nctnico
author_rank: Super Contributor
timestamp: December 07, 2019, 02:28:16 pm
content: Quote from: powerfly on December 07, 2019, 10:21:57 amThe easiest way to do this is to use external ADCs which have an internal PGA (programmable gain amplifier). I strongly suggest to look at the ones from TI or Analog devices first. The ones from lower cost manufacturers (like Microchip) have poor noise, effective number of bits and linearity specs. There is no use in buying a 12bit ADC which has 9 actually useful bits.Getting to a gain of 500x likely needs a differential amplifier and an extra stage with an low noise and ultra low offset op-amp. Keep a close eye on slew rate here because that will likely bite you. However external amplifiers likely add up to a lot of components quickly.

author: powerfly
author_rank: Contributor
timestamp: December 07, 2019, 08:23:27 pm
content: Quote from: nctnico on December 07, 2019, 02:28:16 pmThanks, that's helpful.Is this something that you would think suitable?http://www.ti.com/product/ADS1261- I found it on mouser:https://www.mouser.co.uk/ProductDetail/Texas-Instruments/ADS1261IRHBT?qs=sGAEpiMZZMve4%2FbfQkoj%252BHWSHkaah9tOn66CEAPBUDA%3Dhttp://www.ti.com/lit/ds/symlink/ads1261.pdf(data sheet)It says up to 128 gain, the sample rate is 4x what I need and it's 10 channel. the thing is it says the body size is 5mmx5mm, how on earth do you attach 10 channels to this?This may well be what I'm looking for.what about this:https://www.mouser.co.uk/ProductDetail/Maxim-Integrated/MAX11261ENX+?qs=sGAEpiMZZMve4%2FbfQkoj%252BBpFdl5KJZObpIqxtNTh76M=I'm not sure it's the right thing but it has 128x gain and I've got one of these available to me so if that works it would be great.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 07, 2019, 09:47:17 pm
content: With a high resolution ADC would generally does not need that much gain. So one doesnotneed a gain of 128. There is more like a required resolution or a given noise limit.Directly going to an SD ADC (those are the ones that often include "gain" und 1,2,4,... steps is not working for all source. So one may still need one conventional amplification.With the SD ADC one may have to be careful with sampling rate and time it takes for settling. After switching the input it may take several samples before the input is really only depending on the new setting.Another point to think about is an anti aliasing filter. Depending on the source and ADC this may be needed.What is the signal source ? It makes a big difference if this is a PH sensor or a thermocouple or a accelerometer (usually ratio-metric output).

author: powerfly
author_rank: Contributor
timestamp: December 07, 2019, 10:21:51 pm
content: Quote from: Kleinstein on December 07, 2019, 09:47:17 pmThank you for your comments, I feel quite out of my depth here and I'm putting a lot of time into researching this but there is still so much on this topic I don't really understand, I do appreciate your comments.are you saying you don't need that much gain because it's not helpful because of noise? I'm measuring very small voltages, I've been using an oscilloscope and a transducer amplifier up until this point however a portable setup is now what is needed. the setup I'm measuring is measuring a strain gauge in a wheatstone bridge configuration. now there is a strain gauge specific amplifier:https://uk.rs-online.com/web/p/strain-gauge-accessories/0846171/https://docs.rs-online.com/87b9/0900766b81584216.pdf- data sheetIf I have to use this, I can. The thing is I can't even see how many channels this can be used for and it's not that cheap, If I have to buy 7 of them it's getting pretty expensive. If I only have to buy 1 for 7 channels, that is ok.Quote from: Kleinstein on December 07, 2019, 09:47:17 pm1. I don't quite understand the sentence, what do you mean 'steps not working for all source'?2. If you are saying that the first few samples will be strange (like the first 100 samples or so) that's fine as I can just wait 1ms and then record the measurement.If there is any specific product you reccomend, or even a type of product please let me know.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 07, 2019, 10:45:48 pm
content: Strain gauges are usually low impedance source with a differential signal. As the signal is really small it needs a good low noise amplification. For good performance this would be a good instrumentation amplifier (e.g. AD620 or similar) or similar. If would be unusual to need a high speed.As noise is likely critical, the tendency is more towards 1 ADC per input channel, possibly with a few ADCs in a chip. Using a multiplexer and only one ADC could increase the noise.Depending on the accuracy and offset of the gauges one could use a little more resolution, so that one can avoid an analog offset compensation. For the amplifier choice an important question is, if DC performance is needed.There are a few SD ADCs specially made for strain gauges. This may work in a cost critical solution, but it may be slow (more like 10 reading per second). Chances are an SD ADC is the best choice, as they can save on the AA filter and the noise relevant bandwidth is low. The needed amplification depends on the ADC input range. The useful gain is likely more like 10 times, maybe 100 times, as this is often enough to amplify the amplifiers noise to more than the noise level if the ADC.Strain gauges are radiometric. So the same voltage reference should be used for the bridge drive and ADC. The quality of the reference is not critical. So the bridge driver should be part of the system.

author: powerfly
author_rank: Contributor
timestamp: December 08, 2019, 10:00:24 am
content: Quote from: Kleinstein on December 07, 2019, 10:45:48 pm1. I am trying to record data at a rate of 10kHz, would the AD620 be able to handle this (if not, what would be able to handle it)?2. Are you saying not to use multi-channel ADC capabillities? Are you saying that they work via a multiplexer and hence risk adding more noise to the data if multiple channels are used? and because of this one should use 1 channel per ADC?3. I think I'd be using DC current, why not?Did you look at the strain gauge amplifier link I posted? [https://uk.rs-online.com/web/p/strain-gauge-accessories/0846171/https://docs.rs-online.com/87b9/0900766b81584216.pdf- data sheet]Would that be suitable? The most important thing is using something up for the job, but I can't tell if that amplifier only works for one channel/strain gauge meaning I'd neeed to buy quite a few of them. This is ok, if I need to spend more money to get good results it is within my budget. If you have any other recommendations please let me know though.Again genuinely thank you for taking the time to provide detailed responses, I think there is a lot for me to learn

author: Marco
author_rank: Super Contributor
timestamp: December 08, 2019, 10:39:39 am
content: Quote from: powerfly on December 07, 2019, 10:21:57 amYou can't know the necessary amplification without knowing the ADC input range. For some you can set a very small range simply by choosing a low (differential) reference voltage, those will need less amplification. So you start with the range of your input signals ... thinking in amplification is going a step too far.If you do go the multiplexing route, you will need a passive low pass filter between the legs of each wheatstone "bridge" (the other side of the "bridge" is probably buffered and shared for all the gauges).

author: Kleinstein
author_rank: Super Contributor
timestamp: December 08, 2019, 11:19:24 am
content: Using DC for the bridge is OK, unless ultimate performance is needed. With modern auto zero amplifier the need to use AC excitation is not that high anymore. The question is if the DC part of the result is needed, or only changes are important.The strain gauges often come as full bridge sensors, so only measuring single sided may not be an option. However an INA like the AD620 (probably a more modern one) would make it a single sided signal.Using 1 ADC per channel is a real option, though not the only one. Using a faster ADC and multiplexing would need low pass filtering (also AA filter) separate for each channel to get low noise. With some SD ADCs getting so cheap, using 1 ADC per channel becomes a real option, as one can save on the filter.With 1 ADC per channel one could consider 2 OPs (e.g. OPA209, ADA4522) per channel for a differential amplifier with differential out and an SD type ADC like MCP3911 (2 ADCs in one package).With Multiplexing one could consider for each channel an INA (AD620 or more modern, maybe AZ type), one OP for a 2nd or 3rd order low pass filter. For some 8 channels than a MUX, an ADC driver and a fast SAR type ADC (e.g. 16 bit, 200 SPS). Chances are one would sample faster and average over some 2 or 4 values to simplify the filter.

author: Marco
author_rank: Super Contributor
timestamp: December 08, 2019, 11:25:18 am
content: BTW lets assume you were assuming a 5V input range, at 500 amplification with 12 bits ... that's 2 uV resolution, above the noise limit for 10 kHz, but only just. A factor 2 over peak to peak thermal noise for a 100 Ohm resistor.With such small margins you can't really multiplex the amplifier, you'll need one amplifier per gauge. Multiplexing the ADC is less of an issue.PS. even then I'm not sure there's any amplifier which has such low noise, single ended sure, but differential? You're shooting for the moon there.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 08, 2019, 12:29:52 pm
content: There are very low noise INA available, e.g. AD8529 at 1nV/Sqrt(Hz) white noise. However the strain gauges are normally at some 350 ohms, so higher noise than this.Multiplexing the amplifier is not a good idea - each channel would need it's own amplifier and filter.How much noise is acceptable depends. However Strain gauges are rather low level, so one often is quite close to the limits. So even in a less demanding case one does not have that much SNR to spare. With a high BW it is more likely noise will be a real issue. A strain gauge may not be the best way in this case.

author: powerfly
author_rank: Contributor
timestamp: December 08, 2019, 08:31:26 pm
content: Quote from: Kleinstein on December 08, 2019, 11:19:24 amThanks again for the useful info. To be clear I'm prioritising good data and simplicity over trying to save a bit of money (my budget isn't unlimited but I can pay up to a few hundred €).Time is a bit of a constraint so getting something up and working ASAP is a priorityI'm just thinking with one ADC per channel, how many channels can one get per micro-controller?It would be nice to be able to have data synchronised to one micro-controller although not absolutely necessary.I'm also using a quarter bridge configuration at the moment, I'm making the bridges myself on veroboard and the resistances are 120 ohm (I could probably get ones with a higher resistance if that would be better).would something like the AD620 be able to handle the 10kHz sampling rate?there seem to be many options and I'm not sure which is best, if money isn't that much of an issue, what do you think is the fastest way to get a good signal that isn't too complicated?

author: Kleinstein
author_rank: Super Contributor
timestamp: December 08, 2019, 08:58:43 pm
content: A quarter bridge is difficult, as this tends to be quite sensitive to temperature because there is no local compensation. Also the signal is only 1/4.120 Ohms is not per se a big problem, it just makes the voltages a little smaller. Going to a half bridge would be more effective than a higher resistance. If limited to a quarter bridge (e.g. very small area) it would be better to make it asymmetric with a higher resistance in series - this gives a little more signal.An important info would be the required resolution or noise level. The difficult part would likely be temperature drift from the bridge - so the average level will show some drift, no matter what.With one ADC per Channel, I think something like 8, maybe 16 Channels per µC should be possible. I know of the MCP3914 with 4 ADC in one chip and thus one SPI interface. Chances are there are also chips for 8 channels.There are suitable INA to handle 10 kHz sampling (e.g. < 5 kHz Bandwidth) - most INAs would be fast enough, especially those with super low noise.

author: Marco
author_rank: Super Contributor
timestamp: December 08, 2019, 10:07:47 pm
content: Quote from: powerfly on December 08, 2019, 08:31:26 pmThis is not necessary unless you really want the capture to be synchronized.QuoteAD620 costs more and has higher noise than INA217 or INA163, 10 kHz bandwidth is not a problem for any of them.

author: powerfly
author_rank: Contributor
timestamp: December 09, 2019, 10:58:18 am
content: Quote from: Marco on December 08, 2019, 10:39:39 amThe way Wheatstone bridges work is that a fraction of the total voltage is measured, so if the reference voltage was lower, the recorded voltage change for a given strain would actually be lower. I guess if there was a really high reference voltage one would get higher voltage readings for a given strain. If you are, however splitting the reference voltage up into 2^N parts for N bit data, it would not make a difference, unless with a larger reference voltage the noise was a smaller fraction of the maximum voltage.so to get more gain A full-bridge with a high reference voltage could effectively amplify the signal.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 09, 2019, 06:32:37 pm
content: The voltage to the strain gauges is usually limited by the heat production and thus thermal problems.The ADC reference should be linked to the voltage at the bridge - precision bridges use extra sense wires to measure the voltage at the bridge - so 6 wires to the bridge. Depending on the ADC one has to divider down the bridge voltage to use it for the ADC. This essentially works like gain. With a higher resolution ADC some of the ADC range could be used to compensate for offset - so the ADC range would cover less than just the voltage change due to strain.

author: Marco
author_rank: Super Contributor
timestamp: December 09, 2019, 06:47:57 pm
content: Quote from: powerfly on December 09, 2019, 10:58:18 amI wasn't talking about the bridge excitation voltage, I was talking about the ADC reference voltage. Some ADCs can have say a 0.1V reference voltage and input range, some can have 5V. That's a 50x difference in amplification necessary to get full scale inputs for a given signal.Bridge excitation voltage is another knob you can tweak, but you don't really want to burn much power in the strain gauge ... so you can't tweak it very far.

author: powerfly
author_rank: Contributor
timestamp: December 10, 2019, 03:17:00 pm
content: I'm opting for something along these lines:https://docs.rs-online.com/1ccf/0900766b81582da0.pdfas I'm using a wheatstone bridge I need something that gives an output of the difference between the two sides of the bridge. the gain is easily in the value range I need (i don't need more than 1000 which this can easily do) and it also filters out noise. what do you think of this option?

author: Kleinstein
author_rank: Super Contributor
timestamp: December 10, 2019, 04:21:49 pm
content: That board looks odd. It seems to be made for a half bridge, but I can't see a pair of precision resistors for the reference arm (could be inside the special amplifier part). Also adjusting the zero with respect to independent reference diodes voltages does not look like good precision.Another point is that the bridge current is set by a resistor and transistor, but I don't see an output to be used as an ADC reference.Filtering out noise is just low pass filtering. So this is limited when a high bandwidth is needed. It is more like not absolute sure the amplifier would have sufficient speed at a gain off some 500.I would more like consider something like the load cell example from the ADA4522 data-sheet, possible with a difference ADC model.It still depends on how much precision and what noise level is needed.It could be a good idea to first build a 1 channel version, just to get a little more experience and see the importance of thermal effects, cables and so on.

author: powerfly
author_rank: Contributor
timestamp: December 10, 2019, 05:48:05 pm
content: this is the strain gauge amplifier:https://uk.rs-online.com/web/p/strain-gauge-accessories/0846171/in the diagram you don't see the inside of the amplifier, just how it hooks up to external wires. I didn't say I'm getting this specific model, but something along these lines is probably the way to go

author: Kleinstein
author_rank: Super Contributor
timestamp: December 10, 2019, 07:17:27 pm
content: For the linked amplifier module a bandwidth of 450 kHz at unity gain suggests that this would be too slow for 10 kSPS recording. Odd data-sheet to give unity gain BW, but gain setting of 3-30000, so no option for gain 1.

author: Marco
author_rank: Super Contributor
timestamp: December 11, 2019, 08:33:10 am
content: I don't see how that module would save you any real time at all, it just costs you money and gets you worse specs than using ina217/163. It's not like the rest of the circuit is trivial.

author: powerfly
author_rank: Contributor
timestamp: December 11, 2019, 09:23:30 am
content: what about these:ebay.co.uk/itm/INA333-Low-Power-Zero-Drift-Precision-Instrumentation-Amplifier-Module-NEW/253056645871?_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20160908105057%26meid%3D954fda06e6084541992c947f4bea3988%26pid%3D100675%26rk%3D1%26rkt%3D15%26sd%3D253056645871%26itm%3D253056645871%26pmt%3D0%26noa%3D1%26pg%3D2380057&_trksid=p2380057.c100675.m4236&_trkparms=pageci%3Aa187e060-1bf7-11ea-9b39-74dbd180afaf%7Cparentrq%3Af443886216e0ad3c58d19fdaffbaf376%7Ciid%3A1the thing is again, the bandwidth looks like a limiting factor:http://www.ti.com/lit/ds/symlink/ina333.pdf(if you just find the bandwidth it claims a max of 100x amplification at 3.5kHz I believe) but I might just go with it and see if it's good enough as I haven't found anything else even though it doesn't seem ideal.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 11, 2019, 10:33:38 am
content: The INA333 is relatively slow and also quite noisy, though as an AZ type essentially without 1/f noise. This can be a problem for a fast application as the noise BW is relatively high for a strain gauge use. If only a quarter bridge is used the drift will be large and thus no AZ type really needed and DC performance limited anyway.With a typical maximum of 1 mV/V and maybe 5 V at the bridge, the full scale range of the sensor would be some 5 mV. Resolving 10 Bits would mean measuring to some 5 µV. 5 V at the bridge would already be high for only 120 Ohms.For 10 kSPS samplig the BW would likely be at some 3 kHz (up to 5 kHz). So the needed noise level for 10 Bit performance would be at around5 µV / Sqrt(3 kHz) = 90 nV/sqrt(Hz). So at best the INA with a 50 nV/sqrt(Hz) noise level would give an 11 bit noise-level.

author: powerfly
author_rank: Contributor
timestamp: December 16, 2019, 12:36:53 pm
content: Quote from: Kleinstein on December 11, 2019, 10:33:38 amDo you recommend something other than the INA 333? I saw that Marco recommended the INA 163 or 217 as alternative options

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 16, 2019, 02:50:19 pm
content: The INA333 and INA163 are in a completely different league. The latter is indeed much faster and lower noise, but it has a typical Iq of 10mA vs. the 50µA of the INA333, and a much higher input bias current.So it really all depends on your exact requirements.

author: Kleinstein
author_rank: Super Contributor
timestamp: December 16, 2019, 05:36:45 pm
content: I would think about AD8421 or AD8221 as more intermediate versions.An INA would be needed in combination with a single ended ADC, like the filter + MUX + SAR ADC option. If separate ADCs with differential input (like most SD type ADCs) are used, one may be better of with a special fully differential amplifier or 2 OPs and 3 resistors to build just the first half of the INA.