signal inversion and amplication?

Hi there,

I am nearly finished with converting a 1991 Geo Tracker to an all electric vehicle. Unfortunately, I recently discovered that the tach sensor, buried deep in the motor, isn't producing the expected signal. I've been told that the distance between the sensor and the motor shaft is too large so rather than seeing a signal going positive between an expected 4 and 10 VDC, it is going negative by .5 VDC.

Taking everything apart to adjust that sensor is at least a month long project so I'd rather solve this problem differently.

I am able to monitor the signal produced on an old 2 channel Kenwood O-scope. The sensor is generating a nice clean square pulse so I'm hoping I can build something that will modifiy the signal to one that the motor controller can use to detect the motor speed.

Here is a description of the current setup.

After letting the scope warm up I connect the scope to the tach signal from the senor and the signal ground and adust the trace to show zero volts. I then switch on the EV's ignition which powers up the motor controller and the rest of the EV. Once the controller boots up (it contains a fair amount of computer intelligence) the voltage on the tach sensor line between the sensor and the controller jumps to roughly .5 to .7 positive VDC.

As soon as I apply throttle and the controller starts to turn the motor I can see the voltage drop to zero with each pulse. In this case, the motor sends two pulses per revolution.

The controller is expecting a positive going signal between 5 and 14 VDC. The controller supplies a regulated positive 12 VDC to the sensor. The connection between the motor controller and the tach sensor is 3 wires: +12 V, Signal Ground, and the signal wire.

So my immediate question is if it is possible to use an arduino to monitor, invert and amplify the signal voltage at the same time? The signal rate will range between 0 and 11 Khz.

The max rpm of this motor must be kept below 5500 rpm to avoid destroying the motor so having a tach signal that the controller recognizes is critical because the controller will automatically restrict power to keep the motor below the programmed rpm. Once the controller sees an acceptable signal, it will generate another signal to run the original tachomoter in the vehicle's dash.

Any suggestions?

Thanks,
Peter

You might be able to accomplish the inversion with a single NPN transistor. I'm not an electronics engineer but this is how I think it would work.

Connect a resistor (1k?) from +12 to the Collector of the transistor. This acts as a pull-up. The signal back to the controller connects to the Collector as well.

Connect the Emitter of the transistor to Ground.

Connect the Base of the transistor to your sensor through a resistor (100 ohm?).

When the sensor is HIGH the transistor connects Collector to Emitter (signal output to ground) so the output is LOW.

When the sensor pulses LOW (0v) the transistor stops conduction and the pull-up resistor pulls the signal output to 12V.

Yep, inversion and amplification is what transistors are good for.

the distance between the sensor and the motor shaft is too large so rather than seeing a signal going positive between an expected 4 and 10 VDC, it is going negative by .5 VDC.

I don't see how the line length could cause the voltage to shift by over 4v. The grounds are commons aren't they?

a positive going signal between 5 and 14 VDC

Is that a 5-14v square wave or 0v to anything about 5v?

I had trouble following, exactly what voltages are you getting?


Rob