SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By dmnchief001
#121578
How can I create a -1V from the arduino?

At first, I thought that I could just use an inverting op-amp with a 1/5 Gain wired to the +5V pin on the arduino, but doesn't an op-amp need a negative Vcc?

I need this voltage for a flexiforce pressure sensor.
By waltr
#121585
Yes, an op-amp would need a negative voltage.

There are a few other methods.
1- use a MAX232 or MAX3232 and tie one of the logic level inputs high. The rs232 output will be about -9V and a resistive divider will give -1V.
2- A ICL7660 IC is a voltage inverter.
3- A 555 timer, a diode and a couple of caps can produce a negative voltage.
4- or have the arduino output the square wave

Here are a couple of circuits:
http://www.compuphase.com/electronics/inv555.htm
http://www.csgnetwork.com/ne555c1.html
User avatar
By shimniok
#121603
Never actually built anything like this... But I've looked it up out of curiosity. Google charge pump negative voltage. Also there are various dc-dc converter ICs out there that can create negative voltage from + supply. Maybe use octopart to find some.
By becker
#122035
The easy circuit would be a diode voltage doubler/inverter.

But you don't need it.

Bias the opamp + input with a voltage divider, rather than connecting it to ground. Easier and better than the example they show, which is optimized for the fewest components.
User avatar
By viskr
#122099
If you're only building one of these, I think the best solution is a pre-packaged switcher, like the NME0505.

Tie input side to the 5V supply of the Arduino. Then tie the output + to GND and walla, you've got -5V on the GND output

Yes, its $10, but its done in 5 minutes

If you are going to build lots of them, then a voltage inverter is the way to go, National has a good selection of cheap ones, Linear Tech has higher performance ones.

That NME0505 available at Mouser

http://www.mouser.com/ProductDetail/Mur ... Ry8CGfs%3d
By dmnchief001
#122191
Thank y'all so much for the replies.

The Flexiforce Pressure Sensor has an example circuit: http://www.tekscan.com/flexiforce-sample-circuit

I was recommended to use the MAX202:
http://www.datasheetdir.com/MAX202+RS-232

Will the MAX202 provide the -1V? If so, how to I wire it to the Pressure Sensor and to the Ground and 5V pin on the Arduino?

Also, I'm really interested in the Biasing the OPAMP strategy. I have a 741n. Can I bias this and not worry about creating a negative one voltage? I have limited space on the breadboard

Again, thank y'all so much for your help so far. Please bare with me, I'm new to this!
User avatar
By elevator4
#122201
Hi,
try this circuit instead. By biasing the "+" above GND you won't need a negative voltage.
You may have to play with the pots a while, to make sure that with no force applied, the output is at 0V, and with full force the output is about 5V.
E
You do not have the required permissions to view the files attached to this post.
By stevech
#122287
Easiest way to create a negative voltage:
Take a voltmeter.
Connect the + lead to ground.
Connect the - lead to Vcc.
Observe the negative voltage.

(it's all relative)
By dmnchief001
#122388
Thanks elevator4, but the circuit didn't work. We used your circuit with a feedback resister of 1K. The op-amp got really hot. When using the arduino software, the reading stayed constant no matter what pressure we applied to the pressure sensor.
User avatar
By viskr
#122389
I think elevator4 is on the right track.

The sensor is basically a variable resistor, if you can do the math you don't really need the negative supply.

According to their user manual, no force is about 1M, max force about 50K. So all you really need to do is measure that resistance, which could be done by measuring the voltage of a resistor divider with the sensor and a fixed resistor.

With a 200K resistor connected to 5V and the sensor connected to GND, 0 force would be the 5V, and full force would be 1V. You'd have to calibrate the setup and try to match their transfer curve.
User avatar
By elevator4
#122426
dmnchief001 wrote:The op-amp got really hot.
Hi chief,
there's no way that op-amp can get hot unless some connections are wrong. Can you take a picture of the setup?
Also, as viskr suggested, start without the op-amp, to already get some variation in readings through the arduino code.
E
PS Rs should be much higher than 1K, more like 50-100K
By dmnchief001
#122544
We decided to use a 741 op-amp based on our finding:
http://www.tekscan.com/why-flexiforce-s ... such-lm741

Here is our implementation of the pressure sensor. The 741 still gets hot.
http://i1182.photobucket.com/albums/x44 ... 123744.jpg

Pin1 = nothing
Pin2 = Pressure sensor pin 1; 118K resistor to Pin 6
Pin3 = Wire to Pin 7 (which I have connected to ground)
Pin4 = 5V; 87.5K resistor to Pin 7 (which I have connected to ground)
Pin5 = nothing
Pin6 = A0 on Arduino; 118K resistor to Pin 2.
Pin7 = Pressure sensor Pin 3; 87.5K resistor to Pin 4; Ground on Arduino; Wire to Pin 3.
Pin8 = nothing

We have used a multimeter to get different resistences with different pressures applied. That works like a charm; no opamp needed.

INTERESTINGLY, the resistor connecting Pin 4 to ground does not read correctly when it is connected to any ground!

Any help would be appreciated!
User avatar
By elevator4
#122561
well, you certainly chose the godfather of all op-amps. Unfortunately the '741 requires at least 7-8V to operate, and its output won't be able to swing between 0V and the maximum. It only adds more problems.
The LM324 works off a 5V supply and is able to swing to ground (but not to 5V; more like 4.3V or thereabouts) so I would stick with that one, or better still any CMOS rail-to-rail input and output (RRIO) like the MCP6001/2/4 etc.
-- Assuming the op-amp in the picture is a '741, I believe you swapped the +5V and GND connections. That's probably the reason why it gets hot. It may be fried by now.
-- The 87.5K resistor between +5V and GND doesn't do any good; this should be a pot as in the schematic, with the wiper connected to pin 3 (the + input).
-- always bypass the power supply pins (GND and +5V) with a blocking cap, close to the chip. This prevents oscillations and glitches. Anything above 50nF works.

If you're happy without an op-amp (connect one end of the pressure sensor to +5V; the other end to a resistor of about 100K; then the other end of the resistor to GND). Pick up the signal at the junction between the two; measure with the voltmeter and send to the arduino pin. However, the signal will have a narrower range (say from 0.5V with no pressure to 3.5V at max).
You do not have the required permissions to view the files attached to this post.