Measuring a negative analog input

Hi I'm a) a complete noob, and b) trying to read the output of a 'yamaha breath controller', which expects to see -9v at one terminal, and gives an output value between 0 and -5v.

What are my options for measuring this without zapping my board?

I'm eager to learn, but just starting out, so take it easy please!

Thanks! This seems like a really helpful board.

Another possibility is to use an op-amp to invert the signal from the controller.

I'm aware on the motorcycles and musical stuff that Yamaha makes. What is a "breath controller"? Post a link.

Makes sense. My first thought was something along the lines of a breathalyzer, which I didn't figure was right. But, then, I'm not a musician, so I don't have the background for a lot of the music/midi questions.

If it truly is a negative signal here is a circuit designed for -7V to 0V in:

http://ruggedcircuits.com/html/circuit__14.html

It should work well enough for -5V to 0V.

-- The Rugged Motor Driver: two H-bridges, more power than an L298, fully protected

circuit designed for -7V to 0V

Interesting. According to the data sheet the TLV2271 inputs are only good to 0.2V outside of the supply rails. Here you're feeding an input well below the negative rail and not common mode with the non-inverting input. I'm kinda surprised this works.

My approach would be to scrounge a 5V dc-dc converter off an old computer motherboard and use a random low voltage op-amp with the +/- 5V split supply to do the inverting, but if this TLV2271 circuit works, great.

The op-amp keeps both of its input terminals at about 0.1V due to negative feedback. It doesn’t matter that the input voltage is negative. The op-amp never sees the negative voltage. Because of this 0.1V at the inverting input the breath controller must be able to sink about 0.1-(-5)/130k = 40uA of current.

Here are some simulation results if you want proof:



The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, light sensor, potentiometers, pushbuttons

Thanks for the replies. I guess I should be a bit more detailed. The 'breath controller' I am talking about is a Yamaha BC3 (or BC3a - same thing). A schematic of a similar controller (the BC1) can be seen here:

I think the only difference is that the BC3 has gain and offset controls.

Rugged_circuits - would the circuit you proposed work in this situation do you think?

Off hand, yes, it looks like it would work.

-- The Quick Shield: breakout all 28 pins to quick-connect terminals

One simple possibility: If this breath controller is a standalone, battery operated device (no wires connected to anything else), then you could try arbitrarily re-defining “ground” to be the -9V battery terminal, and then you will have a 0 to +5V signal for the Arduino

Actually no, don’t do this, the output value would be between +9 and +4V…

The inverting opamp circuit makes sense so long as its output is via a protection circuit to prevent the Arduino’s analog input being driven negative. A 10k resistor and a rectifier diode potential divider would suffice I think. Anode to GND, resistor from opamp to the diode’s cathode (which also goes to the analog input).