Stel een reeks druksensoren in

Ik werk met een flexiforce pressure sensor 25 lb.

Ik moet er 6 parallel lopen en ik gebruik een Arduino Uno. Ik ben geen elektrotechnisch ingenieur (lees: ik ben een grote computerwetenschapper) en dit is een schoolproject. Ik gebruik een spanningsdeler voor een enkele flexiforce om het bereik te testen en ik weet niet wat de beste vaste weerstandswaarde is om te gebruiken om een ​​groter bereik te krijgen.

Ik gebruik momenteel een weerstand van 200 Ohm en bereik van 0 tot 30 (volledig bereik is tot 1233)

Hier is het aanbevolen circuit:

enter image description here

Met de Arduino kan ik het versterker-ding niet maken of heb ik een negatieve spanningsingang. Kan iemand een manier uitleggen om 6 van deze sensoren in een array met de hoogste gevoeligheid te krijgen? Kan ik een 9 V-batterij als een versterker gebruiken?

6

4 antwoord

In dit antwoord heb ik laten zien dat de optimale serieweerstandswaarde

\ $ R_S = \ sqrt {R_ {MIN} \ cdot R_ {MAX}} \ $

where \$R_{MIN}\$ and \$R_{MAX}\$ are the minimum and maximum resistances of your sensor. The Sparkfun page speaks of between infinity and 300 kΩ. If we assume 10 MΩ as maximum value then your series resistor should be 1.8 MΩ (rounded to nearest E12 value).

These are pretty high values, too high for an ADC, which, like Mathieu says, likes a impedance of less than 10 kΩ. So you'll need to buffer the divider with an unity gain buffer opamp:

enter image description here

Note that a common opamp may have an input bias current as high as 1 µA, and this could distort your reading. A CMOS opamp like the MCP600x has a much lower input bias current, 1 pA typical for the MCP600x, which won't deteriorate your reading.

4
toegevoegd

In principe hebben deze sensoren een weerstand die afneemt wanneer druk wordt uitgeoefend op hun contactoppervlak. Van wat ik kan zien is de afname in weerstand een ruwweg hyperbolische (1/x) functie van de toegepaste kracht, en de verandering is in feite van 5 MegOhms tot ongeveer 300 kOhms ("hard drukken" van de SF-pagina).

Als u een weerstand van 200 ohm gebruikt als de onderste poot van een spanningsdeler en deze sensor als de bovenste poot, zou ik voorspellen dat u een bereik van ongeveer 0 V zou zien zonder druk toegepast en 5 * 200/(300e3 + 200) ~ = 0,003. Als je de 200 ohm omhoog haalt tot 300 kOhms, zou ik verwachten dat je boveneinde omhoog gaat tot ongeveer 2,5V. Hoe groter de bovenste weerstand, des te dichter komt je volle schaal op 5V, maar hoe langzamer je reactietijd zal zijn, omdat het lijkt alsof je een condensator laadt/ontlaadt door een grote weerstand. Het is ook niet van plan om de sensoruitgang voor u te lineariseren.

De inverterende versterkerconfiguratie die zij suggereren is gebaseerd op het principe dat de stroom die in de negatieve terminal van de opamp stroomt via de sensor gelijk zal zijn en tegengesteld aan de stroom die "in" de negatieve terminal van de opamp stroomt. Het is te zeggen:

(V_n - V_T)/R_sense = (V_out - V_n)/R_F and V_n is driven to GND by the op-amp (so that the positive and negative terminals are at equal potential) so:

V_out = -V_T * R_F/R_sense = -V_T * R_F * (1/R_sense)

We weten dat 1/R_sense = geleiding van de sensor ongeveer lineair is met betrekking tot de uitgeoefende druk uit de gebruikershandleiding (dwz druk ~ 1/R_sense, of druk = a * (1/R_sense) + b voor sommige a en b) zo:

V_out = -V_T * R_F * [(Pressure - b)/a]

Dit heeft het voordeel dat u een uitgangsspanning krijgt die lineair is ten opzichte van wat u aan het voelen bent. Bovendien kunt u a en b bepalen door kalibratie op twee (of meer) vaste waarden. Ten slotte kunt u het bereik en de helling van de uitgangsspanning aanpassen door R_F en/of V_T af te stemmen. De uitdaging is dan dat je V_T nodig hebt om negatief te zijn met betrekking tot je opamp-voedingsspanning.

Een manier om dit te bereiken is een 9-volt batterij met de positieve pool van de batterij aangesloten op GND van je op-amp en de negatieve terminal is V_T (effectief op -9V). U wilt dan R_F kiezen zodat u een geschikt bereik van V_out krijgt volgens de bovenstaande formules. Tijdens het stemmen mag V_out de op-amp-voeding niet overschrijden (waarschijnlijk 5V) of de versterker zal ook knippen. Er zijn meer geavanceerde manieren om een ​​negatieve spanning te genereren, bijvoorbeeld door een andere op-amp als een inverterende buffer te gebruiken (zoals geïllustreerd door U2 in dit circuit dat een virtuele GND creëert in het midden van de voedingsspanning), maar ik denk dat de eenvoudigere aanpak van jou zou moeten werken, anderen kunnen spreek in als ze het er niet mee eens zijn.

Om een ​​lang verhaal kort te maken, denk ik dat je hun aanbevolen circuit moet volgen met behulp van de op-amp. U kunt een DIP-pakket met daarin vier rail-naar-railversterkers zoals deze versie , dus met twee van die chips, een 9V-batterij en sommige weerstanden denk ik dat je alles hebt wat je nodig hebt.

2
toegevoegd

Zie deze link geleverd door CNMAT over het maximaliseren van het bereik met een spanningsdelerconfiguratie.

Ook belangrijk, voor een goede conversie van analoog naar digitaal, moet de ingangsimpedantie van de ADC niet meer dan 10 kOhm bedragen. Om deze reden zal een op-amp (enkelvoudige voeding, rail-to-rail) die wordt gebruikt als eenheidsversterkingsbuffer de nauwkeurigheid van uw metingen verbeteren.

To maximize range, remember that you can also enable the external Analog Reference (Vref+) on the Arduino, see: http://arduino.cc/it/Reference/AnalogReference

See here for another possible analog front-end to use with FSRs: http://apollo.upc.es/humanoide/trac/wiki/PressureSensors

Een opmerking over het gebruik van een transimpedantieconfiguratie is pick-upruis, zie "Overwegingsoverwegingen" .

1
toegevoegd
0
toegevoegd
Hoewel dit in theorie de vraag kan beantwoorden, zou het de voorkeur verdienen om de essentiële delen van het antwoord hier op te nemen, en de link voor referentie.
toegevoegd de auteur Jeffmagma, de bron