I’ve been working on a project involving reading a set of resistive flex sensors using the built-in ADC channels of an AVR microcontroller. The flex sensors are just 2-terminal variable resistors, so I initially just hooked up a fixed resistor in series, then used the resulting voltage divider as the input for the ADC. This is working fine, but due to the nature of the divider, the inputs are limited to a given range, and even having optimized it for the most range, I still only get a range of 140 on the ADC, out of a possible 1024. So, I’ve been looking into sensor conditioning, and am trying to figure out how to go about that. The simplest option I’ve found is to use a single-active Wheatstone Bridge fed into an op-amp. My understanding of that setup is that I want to select the other 3 resistors to be roughly equal to one end of the variable resistor’s range. So, for the flex sensors I’m using, which range from ~80K-400K, 82K seems reasonable. Now, ideally, I’d like to get full rail-to-rail output, even if it means clipping the edges of the input range (some input clipping would actually be desirable, since it would give a “dead zone” on either end). However, I’m not entirely solid on op amps, so I have a few questions, mostly about achieving rail-to-rail outputs.
-The op-amp I have selected (Microchip MCP6024, which contains 4 op amps, because I have 4 sensors) is rated for rail-to-rail inputs and outputs. Due to variance in the resistors in the Wheatstone Bridge, especially the flex sensors, it’s possible that, at the low end, there may be a negative voltage differential across the op amp’s inputs, though both voltages will always be positive wrt ground (the Wheatstone Bridge is using the same V+ and ground as the op amp rails). Do I understand correctly that this should result in a 0V output, assuming that the negative rail is tied to ground? I don’t ever want a negative output to occur. If this is not the case, I’ll have to calibrate the fixed resistances (probably by using a potentiometer in place of one of the fixed resistors) so that the differential input is never negative, but then I’d lose the input clipping, which I would have liked.
-On the high end of the outputs, it should be just a matter of selecting a feedback resistor to select the proper gain, right? I get an input range of ~1V, and I want a rail-to-rail output range of 3.3V, so I need roughly a 3.5x gain.
-Is driving an op amp rail-to-rail considered “bad”? Is it harmful to the device, or to other devices in the circuit? The inputs aren’t going to be driven rail-to-rail, but I would like the outputs to be.
The reason I would find input range clipping/clamping desirable is that these flex sensors are connected to the fingers of a glove, and it would be desirable to have “dead zones” at both the “fully flexed” and “fully relaxed” positions.
I’ve attached my current draft schematic for a single sensor. The 80K-400K range on RFLEX is known from measurement (though it varies from one sensor to the next, +/- 10%), so the 82K values for R1-R3 are selected based on that, I haven’t yet calculated the proper value for RF.