I have a contact/photo rpm meter but it is acting funky and would like to create a simple meter for some testing.
I've created the pic code and seem to have gotten it to work but need some sensor to debug it. The pic code basically counts the time between pulses. I do not use the ADC but rather the digital inputs and monitor when the pin goes high. The code does have built in dead time to prevent multiple countings.
My idea was to stick a magnet on the device I want to measure the rpms(flywheel) and use a coil of wire as the sensor.
The problem is that I'm getting much lower voltage than I expected. Faraday's law says the voltage on the coil is the number of turns times the change in flux. The change in flux depends on the rpm's but I'm simply using my hand to move the magnet across the coil. I get something like a sinusoid damped(or alternatively the derivative of the erf function). I have about 200-300 turns and the coil is getting unwieldy.
This is fine but it most I get about 30mV(surely to be much larger with the flywheel at full speed). What I'm thinking of doing is simply using an opamp or bjt to act as a switch/comparator but the only problem I see is that the noise may add extra pulses.
Is there a simple way I can increase the noise floor, say, by offseting the ground of the op amp and effectively setting making dc negative relative to the opamp. I'm thinking that I could add a resistor to the -V of the op amp. I only have a + supply.
Or is there any better way that doesn't involve to much work? It doesn't have to be completely perfect as I am taking an average for the rpm's and can through out outliers. The main thing is to get the input to the pic to act digitally.
I know there are a god awefull number of ways to do this but something simple with minimum and common parts is what I'm looking for.