Pages: [1]   Go Down
Author Topic: Increasing flex sensor sensitivity  (Read 1441 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm working on a project that's using a 2.2 inch spectra symbol flex sensor (https://www.sparkfun.com/products/10264) mounted on a glove to control a servo.  Testing with a multimeter revealed a resistance rage of about 20k to 80k, so I constructed a voltage divider (5v connected to the flex sensor, and a 47k resistor going to ground), connecting the output to the A0 pin, as with any other resistive sensor. 

Something isn't working properly, though, because when I look at the values from the analogRead function, they only range from about 1 to 6.  I checked to see that the voltage divider was working with a multimeter and got values ranging from .5 to 2v, but for some reason the arduino isn't properly detecting the change.  Replacing the flex sensor with a variable resistor produced normal analogRead values from ~22 to 1024, and a few other sensors also seemed to work normally. 

I tried changing the value of the resistor in the voltage divider, and found that even when it was removed completely, the value continued to stay between 1 and 6.  The datasheet for the flex sensor recommended the use of an impedance buffer, which I tried, but that failed to produce any significant change.  Of course, I had never used an op-amp before, so I might have been constructed incorrectly. 

Any ideas as to what might be going wrong, and how to fix it? 
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 217
Posts: 13742
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Can you post your code used?
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It's just the stock example code included with the arduino IDE:

Code:
/*
  AnalogReadSerial
  Reads an analog input on pin 0, prints the result to the serial monitor.
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.
 
 This example code is in the public domain.
 */

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // print out the value you read:
  Serial.println(sensorValue);
  delay(1);        // delay in between reads for stability
}
Logged

Dubuque, Iowa, USA
Offline Offline
Faraday Member
**
Karma: 47
Posts: 2523
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Did you try bending it in both directions? Bending them in one of the directions results in little resistance change.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes, I'm quite certain that I'm bending it the right way.  The problem seems to be with the way the sensor and the arduino are interacting, since everything works fine when I look at voltage changes with a multimeter, and when I use a different type of sensor. 

Edit:  I found a different op-amp chip and used that for an impedance amplifier, and everything is working just fine now.
« Last Edit: October 27, 2012, 08:14:16 pm by Ethliel » Logged

Nice, France
Offline Offline
Full Member
***
Karma: 11
Posts: 237
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Edit:  I found a different op-amp chip and used that for an impedance amplifier, and everything is working just fine now.

And thus, to help other people who come across this thread, you are going to say which op-amp that was and how you used it. Right?
Logged

Pages: [1]   Go Up
Jump to: