Logger part might be a project down the road, so I'll concentrate on the sensing part.
It's for an actual car that doesn't have built-in steering angle sensor.(If it did, I'd only have to talk to the ECU via CAN or OBD2)
I'll have to attach it to the bulkhead, and probably run a belt/pully system on the steering shaft.
The design criteria that must be met are:
Under $100, not counting Arduino board itself.
Easy to make
Better than 1 degree precision.
Withstand noise, vibration, some heat.
minimum operating range of 2.4 turns lock-to-lock (about 864 degrees)
The type of sensors I've looked at are optical encoders, potentiometers, and string pots.
The string pot that I'm using as the benchmark is this:
And I can't seem to find a cheaper alternative elsewhere, or I just might not know where to look.
Optical encoders look somewhat doable, getting an encoder wheel could be easily laser cut out of wood or brass, or even 3d printed, except I'm not too sure about it being able to withstand vibration. Also, the optical sensor would have to be aligned precisely, and I don't have the facilities to do that.. unless there is a cheap off-the-shelf optical encoder that's already in the right form factor.
I'm looking into:
It's a 10 turn pot, and although the description in written poorly, I think it means that I can have 1024 point resolution over 10 turn range. It isn't much, but IF I were to employ a 1:4 shaft to sensor ratio, then I could probably achieve ~0.88degree per point resolution.
10lap = 3600deg = 1024pts
3.515625deg = 1pt
IF 1:4 ratio
THEN .88deg = 1pt.
I suppose I can use this guy:
But since it's restricted to 300degree, I'd have to use 3:1 ratio, but I'll get unacceptable resolution.. I think.. (it's 5am right now)
This I kind of like:
I wouldn't have to worry about gearing all that much, which is nice, cost it a bit high, but well within budget.
Looks nice, but I won't ever need 6000rpm capability.
I like the optical encoder idea, though, if it works and can be done cheaply and easily. That's how most high-end gaming wheels do it anyways(but then they're not subjected to vibration all that much).
I would have liked it to be an absolute position sensor since I'd only have to calibrate it from time to time, but then it would add complexity.
But relative position sensors need to be calibrated every time at start up(not a problem for gaming wheels), but it'll be PITA to do it every time, especially for a car that doesn't have power steering and wear race tires.
I've also looked at some OEM steering sensors on ebay. Not cheap, and bulky since it normally resides in the steering column.
.... Any ideas welcome....