DC motor as tachometer - reading negative voltages

I want to use small DC motor as a tachometer. The output of the motor is about -5 to +5 V and 1 A, if I'm measuring that correctly. How do I connect the tachometer to the Arduino so that I can safely measure it's output voltage?

I've found two solutions, but I don't understand them. One is to use two half-bridge rectifiers, one to measure positive voltages, and one for negative. I've tried making that, but didn't succeed. How would this circuit look like? Where exactly do I connect tach outputs and where is is Arudino ground and adc?

Another solution is to use a voltage divider and 'add' the voltage to the tach output. I've found that the motor starts drawing current from the arduino if I connect it that way, so I suspect some diodes are needed, but I don't know how.

Thanks.

One is to use two half-bridge rectifiers,

Just use a single rectifying diode because the negative half of the waveform is just the same as the positive one.

Grumpy_Mike:

One is to use two half-bridge rectifiers,

Just use a single rectifying diode because the negative half of the waveform is just the same as the positive one.

Does this look ok? I assume I would need two of these, just with reversed diodes.

                             gnd
A-------  +----------------+----------------- Arduino gnd
                   |                                  |
                \    /  Diode          ----   Pot
                   V                             |      |--------------  Arduino adc
                   |                               |__|
                   |                                  |
 B-------+-----------------+

Sorry about that. I thought the code tags set a monospace font.

So, the diode goes parallel to the motor, and the pot goes parallel to the diode?

Or do I make something like this:

If so, do I need to limit the current from the motor? And which end, goes to arduino adc, which to arduino gnd?

serial diode - kathode to pot..

Or do I make something like this:

Yes that is what I was describing. That will let you count pulses from your tacho. However if you want to get an average DC voltage to measure then you need a capacitor across that resistor.
If the voltage from the motor exceeds 5V peak, then you need that resistor to be a potential divider with the arduino fed from the center point ( analogue in ) with the arduino ground connected to the lower connection.

do I need to limit the current from the motor

No because the circuit will only be drawing as much current as that resistor demands by ohms law.

Great. I think I understand now.
Big thanks!

Grumpy_Mike:

Or do I make something like this:

Yes that is what I was describing. That will let you count pulses from your tacho. However if you want to get an average DC voltage to measure then you need a capacitor across that resistor.
If the voltage from the motor exceeds 5V peak, then you need that resistor to be a potential divider with the arduino fed from the center point ( analogue in ) with the arduino ground connected to the lower connection.

Ok, I can get this to work with only one direction of the motor, either positive or negative. If I want to to measure both negative velocity and positive velocity, I get very weird results on the voltmeter. From your post I figured I need two circuits like that one pictured, each for one direction of current, and then I would read potentiometer wiper outputs with arduino.

I can't find anything on google, but that might just mean I'm using wrong terminology.

In place of the one diode you need a full wave bridge rectifier, that's four diodes.

Ok. I can do that.
So, how would I tell from the arduino which voltage was positive, and which neg?

Well you could have the original circuit as well to act as an indicator of direction.

Ok. I'll try that.
Would this also work?
A and B are tacho outputs.

A---|>|-----pot-----|>|----B
A---|<|-----pot-----|<|----B

No because with e lower circuit you get a negitave voltage on the arduino and you can not measure negitave voltages.