Electronic – arduino – Sensing magnetic pulses from a rowing boat impeller

arduinohall-effectmagneticsswitches

I'm a mechanical engineer at uni who has some basic experience in electronics and programming. I'm building a system for my rowing boat to help me with my training. This will give me feedback on a variety of things like speed and rudder position. I'm using an arduino to build the project. I'm having a little trouble finding out what to use for the speed sensor. I have an rowing boat impeller which looks like this:

enter image description here

Basically the flow of the water causes the impeller to turn. Either side contains a magnet so there is effectively two pulses per rotation. The problem I'm having is picking up the pulses of the magnet. I bought a cheap reed switch to test this out and it only picked up when the magnet of the impeller is almost touching the switch. This is not ideal as it the impeller fin holds the impeller about 15-20mm from the hull of the boat. The sensor needs to be also mounted inside the hull therefore you have to factor in the thickness of the boat which is 5-10mm. So overall I need a sensing range of about 30mm. I've read that reed switches can sense up to 40mm effectively and read that the pull in range is to do with sensitivity (the lower the AT the higher the sensitivity.) Now I'm assuming this 40mm includes a strong magnet as the impeller uses a weak magnet I assume this is less. This website is doing the current thing that I want to acheive. They are charging £240 for the sensor. They will not tell me what sensor they are using. They claim they can measure accurately up to 60mm away and have measured up to 200mm on this website: http://www.peachinnovations.com/moreboatsensorfeatures.htm. They are using the same imepeller as me. I guess they are not using a reed switch. So basically my question is what are they using? And if it is a reed switch can you help me find one which would be suitable as I am struggling to know which ones are. Another website also claims they can measure up to 11" here: http://www.nkhome.com/support/troubleshooting/speedcoachgold.html (about a third of the way down)

Best Answer

The way to do this is with a Hall effect sensor. I like the Allegro A1324.

A1324

It's a simple device. Give it 5v and 0v on pins 1 and 2. Pin 3 gives a voltage proportional to the magnetic field. You can sample this with an ADC, or you can use a comparator to convert this analogue value into a digital square wave.