I found some GPS modules supporting dead reckoning. But none of them mentions how to get wheel tick info from vehicles. I am not aware the CAN bus can provide wheel sensor data. But indirectly, I could generate the wheel tick from speedometer reading by a MCU. My concern is the speedometer always reports higher than actual speed required by law, which may confuse the GPS location calculations. Any suggestions? Thanks.
1 Answers
If the GPS module wants wheel tick info, it probably does not know the wheel size and thus compares the wheel ticks to speed obtained from satellite signals to calculate the wheel size. So, if this is the case, and if you have access to the speedometer output, you could design a circuit that simply ticks at a rate proportional to the speedometer output. Of course, you may want to design the rate in such a way that the estimated wheel size is within the range of usual wheel sizes.
If the GPS module for some reason needs to be pre-programmed with the wheel size, in this case you will just use the same wheel size programmed to the GPS module and programmed to the MCU that converts the speedometer output to ticks.
If you really need to have accurate speedometer reading, you could have some kind of correction algorithm such as linear correction or table based correction. For example, if the vehicle already mangles somehow the speedometer output by offsetting it, you may need to correct the speedometer data by applying the reverse of the offset. You can probably test this by comparing speedometer speed with GPS-obtained speed: if the speedometer speed is always something like 1.05*GPS_speed, then you can use the speedometer signal directly. But if the speedometer speed is 1.05*GPS_speed + 5 km/h then you need to subtract the 5 km/h from the speedometer speed.
- 15,535
- 13
- 62
- 104