ABS Diagnostic Project - Design Algorithm

In the last note, we have talked about how ABS sensor works, what is their output and why do we need to develop this kind of projects.

In this note, I'll try to explain mechanical design, what kind of logic will we follow and what will be our software algorithm.

    What is unknown in equation?

We can consider this problem as an equation. What would we do to find unknown 'x'? We need to collect known in a side and unknown in other side.

When we rotate ABS sensor, we will have an output signal and this signal might be correct or incorrect. Our main goal is to determine this signal accuracy.

So the unknown is the accuracy of outpur signal. We need to compare this signal with the known parameter. But..
    
    What is known in equation?

Well, we do not have known parameter yet. We need to create it!

If we drive wheel with a motor that has attached encoder, we should have same angular speed in the sensor output with motor encoder.

In this point our known parameter is the encoder output. You may come up with question that "How can we make sure that encoder provide correct output?". Well you are absolutely right but this is not the topic of this note. We will assume that motor encoder generates 100% correct output.

I chose this motor for my project. It has incremental quadrature encoder that has two channel. It can provide 48 pulse in every rotation without reduction gear. It has 1:64 reduction gear mechanism and it can provide 48*64 = 3072 pulse in every rotation of gear shaft. It is quite good resolution. Perfect!


    What do we expect as input and output?

As an input we will have 3072 pulse which represent one turn of encoder motor. In the output we expect to caount 72 pulses based on our ABS sensor structure. To diagnose every tooth of ABS sensor tone wheel, we need to count input pulses for each pulse of output. Basically we are trying to write equation that represent 1 pulse of ABS sensor output in terms of encode motor input.

We can right this equation easily.

1 Pulse of ABS Sensor Output = ∑ Pulses of Encoder Motor for 1 Tour / ∑ Pulses of ABS Sensor for 1 Tour

1 Pulse of ABS Sensor Output = 3072 / 96
1 Pulse of ABS Sensor Output = 32 Encode Motor Input

In engineering we always have to think about tolerance. So based on datasheet of my ABS sensor, I need to use +-3 pulses when I calculate. We haven't desing mechanic yet. We should keep in mind this result might be multiply gear/pinion rate based on mechanical design.

1 Pulse of ABS Sensor Output = (32±3) * (Pinion Gear Rate of Driver Between Motor and Wheel)


Here is the algorithmic flow char and mechanical design chart.










Comments