I am chasing some help in the best way to build a tachometer for my grape harvester. I have 8 different moving parts that I need to know the RPM for. I was thinking of installing hall effect switches on all motors and converting them all to RPM. On two of these it would be good to trigger an alarm if the RPM is zero either audible or an LED or both.
I was thinking maybe a Raspberry Pi but there sounds like there might be easier solutions with a Pico.
My power supply is going to be 12 volts via the battery on the harvester.
I also need to know ground speed usually in the range of 2 to 5 KM/hr. I was thinking of converting the revolutions of a tyre to speed. I know the distance travelled by one complete revolution of the tyre and by possibly fitting 4 magnets to the wheel we would get a more accurate RPM due to the low revolutions if only one magnet, then converting to speed.
On top of this I would like to read oil pressure and engine temperature. These I think would require a sensor that outputs either voltage or current.
I am not fused if its all on one screen or if each is on its own screen with an alarm LED for zero RPM on two.
Any help or feedback would be great. I have some limited programming knowledge and fairly extensive electronic knowledge.
you could use hall or other sensors to generate pulses. Then possibly use the Arduino “pulseIn” to measure the duration of the high and low times, add these together to get the total duration then calculate the rotational speed. Basic but just might work. You will have to use the “timeout” part so the thing does not sit and wait all day for a pulse. Description of all this in the Arduino Reference here
Typically RPM or rotational distance is measured with an encoder, these come in optical and magnetic forms.
For this project a Pico would be perfect, no need for an operating system and more usable IO.
And there are 3 ADC lines available, for other analog sensors (limited to 3.3V though you can step down the voltage).
The only rotary encoders that Core stocks which would handle continuous mechanical rotation for long periods are very high precision and corresponding high price. They are much more than is needed for reporting RPM. A simple magnetic or optical sensor that ticks once per revolution will indicate RPM while putting a much lower processing load on the MCU, so that multiple sensors could be monitored from one device. Also, a magnetic or optical sensor has no moving parts - an important feature for maintenance.
An optical sensor might be suitable where it could be sealed so it would not be contaminated by debris. It would require an installation that either interrupted or reflected a beam of light. An optical reflector has the advantage of requiring wiring to one point only, but might be difficult to keep clean.
A magnetic sensor is less likely to suffer from fouling, but requires that a magnet is attached to the rotating part.
Note that the reed switch has a switching time that will limit the maximum RPM that it can measure. A Hall effect device could measure to a much higher speed.
Do you need to know actual RPM or just if the rotating bits are going around.
If you just need to sense rotation that would be easy with some 555’s. Just arrange the sensor to take pin 2 to ground and keep resetting the timer. When rotation stops the 555 times out and activates some alarm or other indication. The time out period would be set to accommodate the expected rotation speed.
Oil pressure and temperature are a different matter but if you run into too much trouble Repco, Supercheap or other auto accessory retailer could help I am sure.
But all this is not as much fun as using RPi or Arduino or similar I know. Just a belt and braces alternative.