Hello!
I'm (still) working on a device that is a small test-bench for a moped's digital dashboard. It can test almost all functionalities of the dashboard. Almost all
On the front wheel of the moped, there is a multi-poles ring magnet, and a Hall effect latch sensor
(A1220 datasheet), to calculate speed.
Similar to this illustration :
There is 16 pulses per revolution of the ring magnet, and let's say the top speed of the moped is 200 km/h (the dashboard's LCD display will show max 199 km/h). The wheel circumference is ~1800mm, and 200km/h = ~56 m/s, so at this speed, the wheel spins at 56 / 1.8 = ~31 revolutions per second, and the hall sensor is triggered on and off, at a frequency of 31 * 16 = ~500 Hz.
So I would like to have a device that is able to generate a magnetic field that can be detected by the Hall sensor (which will be inside the test-bench enclosure), at a frequency between 0 and 500 Hz that can be set by an arduino program (which I can make).
I don't want to get rid of the Hall sensor and simulate the speed directly by an arduino, because the purpose of the test-bench is to test the circuit of the dashboard : if the speed is not displayed on the LCD, then I know there is a faulty component on the PCB of the dashboard.
Of course the first idea I have, is to "simply" replace the wheel of the moped, by a motor with a variable speed between 0 to 31+ revolutions per second (~2000 RPM), and attach a ring magnet with 16 pulses per revolution to it, and control the speed of the motor with the arduino.
But I would prefer if it was silent, with no moving parts, and as small as possible. Is there a better way ? I've searched about
using a coil or electromagnet but I'm not sure if it's applicable in my case.
How would you do that, if you were me ?