Wed Mar 23, 2016 12:12 pm
You may need an absolute encoder for this, rather than an incremental encoder. The ABS sensor is incremental. It doesn't kow where it is, but it knows how the wheel is moving. Since steering wheels don't routinely do full rotations, and you might want to know the steering angle when the system starts, before the steering wheel is moved, consider absolute position encoders that can tell you that.
A potentiometer attached to an analogue to digital converter (ADC) could be used, if you can tie it's rotation to the steering. One way to do that is to fit a toothed gear to the steering column and another toothed gear to the potentiometer shaft, and link them with a toothed belt. It might be possible to use a 3D printer to print a two-part gear that can clamp around the column without requiring much disassembly.
Another option is a grey code absolute position encoder. This has several markers at 1. 1/2, 1/4, 1/8... revolution spacing. Multiple optical, electrical or magnetic sensors detect the markers to produce binary grey code position value that you can read with GPIO.
The idea of attaching something to the back of the steering wheel could be used to fit a disc on which a printed pattern is attached. Optical sensors could detect white/black under the sensors to read the position.
Grey code, like binary code, gives you 2 to power n positions. n = 8 sensors/markers would give you 256 positions that can be sensed (1.4° resolution) . n = 10 would give you 1024 (0.35° resolution). Accuracy will depend on the pattern and sensor placement.
Be very careful if modifying a vehicle that will be used on public roads. You may need an engineering inspection and notification to insurers to be legal. Any possibility of jamming the controls would a no-no.