How to read signal from Crankshaft Postition Sensor in motorcycle

I am trying to build digital tachometer for my motorcycle Yamaha FZS600 Fazer 2002. I have a problem with reading signal from CPS sensor. It is hall effect sensor, I suppose. I found the plug of it. It has two wires. One is GND so the other must be the signal. I have no oscilloscope to probe it so I connected it to the soundcard oscilloscope through the voltage divider and op-amp as can be seen in below schematic.

How to read signal from Crankshaft Postition Sensor in motorcycle

How to read signal from Crankshaft Postition Sensor in motorcycle

– Schematic created using CircuitLab

I adjusted the R1 and R2 values with a 10k potentiometer and got signal presented in picture 1. It looks nice (it looks like it would be no problem reading it with a uC).

How to read signal from Crankshaft Postition Sensor in motorcycle

In the next step I connected the same circuit to a analog pin of an Arduino and uploaded simple program to constantly read voltage on that pin and transmit it through serial. The result can be seen in picture 2. That doesn't look like the waveform from picture 2 at all. First of all the signal read by a soundcard is inverted but it is reasonable. The signal read by an Arduino is meaningless. The question is what is the proper circuit to read a signal from such sensor.

How to read signal from Crankshaft Postition Sensor in motorcycle

The LM358 is single-supplied from 12 V with a 1uF capacitor to GND. Adjusted values are: R1 = 9.27 kOhm R2 = 1.79 kOhm

With no voltage divider or with smaller R1 it seems that my circuit disturbs motorcycle's ECU reading of CPS and the engine runs unevenly or stops.

Replay

It's called aliasing - if you don't convert the analogue signal to digital at a fast enough rate you get near enough garbage. Consider this picture of a sinewave sampled at too low a rate: -

How to read signal from Crankshaft Postition Sensor in motorcycle

Imagine the brown waveform is your analogue signal. The arrows are when the Arduino samples the brown signal and the blue dotted line is what you might construe those samples to mean i.e. nothing like the original signal because you are sampling at too slow a rate. You need to "sample" at a rate that is greater than twice the highest frequency of interest such as here: -

How to read signal from Crankshaft Postition Sensor in motorcycle

However, you should be able to see that the above sampling will miss nuances in the waveform that change too quickly.

Category: sensor Time: 2016-07-28 Views: 0

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development

search

Front-end development

Database

development tools

Open Platform

Javascript development

.NET development

cloud computing

server

Copyright (C) avrocks.com, All Rights Reserved.

processed in 0.201 (s). 12 q(s)