How to connect the Magnetic Sensor with arduino for my Tachometer Project

There is a big engine for which I would like to make an RPM Meter with Arduinio...

There ia a MAGNETIC PICKUP SENSOR already installed over the flywheel of the engine which has several teeth..

I would like to connect this magnetic sensor to the Arduino's interrupt pin..Please tell me how do I connect it..

I do not know the exact make and model of the Magnetic Pickup Sensor, but it produces 0.8Volts at 300RPM of the engine..

Is there any need of using an OP AMPLIFIER or I can directly connect the sensor to arduino..??

1 Like

Read this (section on Inductive pickups) for the pre-amp circuit. the arduino ADC could detect a voltage of 0.8V but that is really
not the proper way to interface the signal. You should use the pre-amp shown here which will convert the sensor to a nice clean
square wave pulse for the arduino.

What if I only use this part below

Instead of using this

1 Like

Just to clarify, the circuit I recommended was actually designed for Inductive pickups and you have a magnetic but I couldn't find a circuit for a magnetic pickup and the inductive circuit is the closet thing to it and would work.
To answer your question, if you tried to "skip steps" or "take shortcuts" you will have an interface that is not as reliable and harder to program. At the very least you should have an op amp amplifier and a comparator instead of the 555 but the circuit recommended is the best signal conditioner I could find. I wouldn't recommend using the part you suggested because it will just make everything else more difficult and unreliable.

What other op amps can be used for a better performance..??
As this project should not fail...

I found that if the interrupt pin wire is too long it receives a lot of EMI and HV pulses from the surroundings..
The circuit above is using an SCR to pickup only HV pulses as it will be picking pulses from the ignition output..

In my case it is all low voltage ac pulses.. so i think the SCR is not needed..

Joy:
There ia a MAGNETIC PICKUP SENSOR already installed over the flywheel of the engine which has several teeth..

Is the sensor already connected to anything else? Connecting a single sensor to multiple devices is not a good idea.

There is a big engine for which I would like to make an RPM Meter with Arduinio...There ia a MAGNETIC PICKUP SENSOR already installed over the flywheel of the engine which has several teeth..I would like to connect this magnetic sensor to the Arduino's interrupt pin..Please tell me how do I connect it..I do not know the exact make and model of the Magnetic Pickup Sensor, but it produces 0.8Volts at 300RPM of the engine.. Is there any need of using an OP AMPLIFIER or I can directly connect the sensor to arduino..??

Ok Joy,
You have more than a few posts to your record so you are a "Newbie-newbie" but some of your comments indicate little experience with electronics. If this is the case, it saves time if you "fess-up" on your first post "I have little or no electronics experience" so we can tailor our answers to suit you so your brain won't explode.
Take the following from your previous post for example:

I found that if the interrupt pin wire is too long it receives a lot of EMI and HV pulses from the surroundings..
The circuit above is using an SCR to pickup only HV pulses as it will be picking pulses from the ignition output..
In my case it is all low voltage ac pulses.. so i think the SCR is not needed..

Here is the actual description from the link you are referring to :

The pickup pulse is applied directly to a SCR (thyristor) that discharges completely the inner capacitor on the SP1, this cause filtered pulses in the line that goes to the SP1 to avoid other short pulses to fire it. The other components placed with the SCR are provided to filter the pickup pulses. Only current pulses should fire SCR. If you place the inductive pickup near a HV cable, it will catch HV pulses, or EMI pulses. This pulses go through the pickup cable to the conditioning circuit as common mode signals (inside the two wires), but are filtered with the 10 nf capacitor and the resistor to prevent the SCR to be fired.

Note this part:

Only current pulses should fire SCR If you place the inductive pickup near a HV cable, it will catch HV pulses, or EMI pulses. These pulses go through the pickup cable to the conditioning circuit as common mode signals (inside the two wires), but are filtered with the 10 nf capacitor and the resistor to prevent the SCR to be fired.

Look at what you wrote (how you misread it)

The circuit above is using an SCR to pickup only HV pulses as it will be picking pulses from the ignition output..

That is not what it says,
It says this:

Only current pulses should fire SCR If you place the inductive pickup near a HV cable, it will catch HV pulses, or EMI pulses.

and goes on to explain what happens to those UNWANTED EMI pulses:

These pulses go through the pickup cable to the conditioning circuit as common mode signals (inside the two wires), but are filtered with the 10 nf capacitor and the resistor to prevent the SCR to be fired.

explaining that the 10nF cap will prevent them from triggering the SCR.
So your statement here:

so i think the SCR is not needed..

is not valid because you do not understand the function of the SCR in this circuit. In this circuit the only function of the SCR is to generate a very brief negative-going trigger pulse for the 555 Timer IC. If you look closely at that schematic you will see the output of the 555 is labeled "To uController" indicating this circuit was designed SPECIFICALLY to generate pulses to be counted by a uController. My point ? Don't make draw conclusions about electronic circuits if you don't know electronics. If you want to know , ask. If you don't know , say so. You're not really qualified to say whether or not the SCR is needed if you don't know what it is doing in the circuit.

Is there any need of using an OP AMPLIFIER or I can directly connect the sensor to arduino..??

No, not necessarily , the circuit we just discussed doesn't use an op amp. I prefer to use op amps whenever possible and there are some that are ideal for use with an arduino (see attached datasheet).
If you want to use an op amp circuit you should have a first stage gain of 3. Coincidently, that's perfect for a Non-Inverting configuration because the gain = (Rf/Ri)+1, so if R f (feedback) = 2 x R i (Input) then the gain = (2/1)+1=3.
The second stage should be an open loop comparator which will convert the sinewave shaped pulse to a squarewave which is better for uC interfacing. Here's an example of a comparator:

[ http://www.circuitstoday.com/op-amp-comparator ](http:// http://www.circuitstoday.com/op-amp-comparator)
Here's an example of an RPM program:

http://arduinoprojects101.com/arduino-rpm-counter-tachometer/

Now this:

I found that if the interrupt pin wire is too long it receives a lot of EMI and HV pulses from the surroundings..

That's because , not being familiar with electronics, you are probably not aware of Inductive or Mutual coupling which is the tendency of signals traveling in UNSHIELDed wire to pick up interference .You need to get some shielded cable from an electronics store. The kind of cable you would ask for would be micro-phone wire cable which is very small diameter , very flexible and shielded. ("2 conductor Shielded microphone cable"). That will prevent the interference you are referring to . Last but not least, The inductive pickup circuit I linked needs to be modified. The input element represented by the coil symbol needs to be replaced by your magnetic pickup and your circuit needs to share a common ground with the arduino. The cathode and anode of the diode in parallel with the 1 k resistor should be your connection points for your magnetic pickup.

LT1215.pdf (339 KB)

op_amp_circuit collection_AN-31.pdf (382 KB)

I am sorry for what I have commented above without reading properly.. :zipper_mouth_face:

But i am lucky to have guidance from a gentleman like you who is taking his precious time out to make me understand things instead of ignoring a novice .. :slight_smile:

The link which you have given me at very first i had that for a long time..

http://www.sportdevices.com/rpm_readings/index.htm

I used the first circuit there 2 years back to make a RPM meter for my motorcycle..

But in that circuit I did only use till the BC547 transistor and connected the output from the transistor to the interrupt pin of arduino and eliminated the 555 timer..

Everything worked fine, only problem used to be is sometimes High Voltage pulses used to reset the arduino and hang it..

So that is the reason I am thinking of using an op-amp to solve it and have a better input on the interrupt pin to have more accuracy..

I am reading all the links given by you and post my problems/questions..

Google "tachometer signal conditioning circuits"
and "tachometer magnetic pickup signal conditioning circuits"
and "RPM magnetic pickup signal conditioning circuits"
and "RPM pickup signal conditioning circuits"
and "RPM signal conditioning circuits"
draw a schematic of what you think you need and take a photo of it with your cell phone and post it and we'll check it out.

If I am using this circuit here as an amplifier..

My concern is that the sensor produces a voltage as low as 0.06 volts and the IN4148 in the circuit will have a voltage drop of 0.6 volts..
Will this cause a problem..??

Look at page 18, this may be what you need or a facsimile there of.

Yes thats the exact thing I was looking for..

So I hope I can do this

IMO use a LM339.
May have to play with 20meg feed back resistor for your particular pick up coil.

@LarryD : Why would you suggest LM339 over 139 ?

@Joy : Did LM139 work ? Or you found something else ? Please share

Thank you

I always use 339 in projects as I have ~100 days f them.

Joy:
Yes thats the exact thing I was looking for..

So I hope I can do this


[/quo