I’ve been working on my own datalogger lately. I’m using an arduino uno, together with a BMP085 pressure sensor and a LPR530AL gyro sensor.
The goal is to measure height & angular velocity from the rear wheels in a ford fiesta R2. I’ve set up the arduino with both sensors and the program is working fine.
I’m using this data together with the data from the car’s ECU to put up a measurement of the different energy states in the car (Kinetic energy, potential energy…)
However, in order to synchronize the data from the ECU with the data from the arduino, i want to attach the ABS wheel speed sensor from the car to the arduino. This way i can read the wheel speed from both the ECU and the arduino, so i can put them next to each other with the rest of de data from the arduino (heigth, angular velocity).
I’m having quite the trouble getting a conclusive speed value on the arduino.
The signal from the ABS sensor (a 2 wire Hall effect sensor) is shown on the screenshot from an ossciloscope below. The frequency of the signal is then used to measure the speed.
When the wheel is standing still, it gives a 0V signal towards ground, when its spinning the signal is at 0.9V.
I need to count the pulses and deduct the frequency of the signal in order to define the wheelspeed… I just don’t really know how to do it.
Should i use an intterrupt and an internal counter on the arduino uno? Or is there an other way to do this?
Anyone has any experience with programming this kind of setup? I know the basics in arduino but i’m having a lot of trouble understanding interrupts & timers… If i can count all the pulses per second, i can deduct the distance traveled per second, thus the speed in m/s. (I don’t know yet how much pulses are in 1 wheel revolution, have to take the wheel apart for that. For now i’m just trying to get a pulse counter working…)
Thanks for your help
tm5.bmp (192 KB)
tm2.bmp (192 KB)
tm5.bmp (192 KB)
tm8.bmp (192 KB)