Maker Pro
Maker Pro

RPM, speedo, analogue circuit reader, via USB...?

N

Noozer

Jan 1, 1970
0
I'm looking to take readings from several sources within an automobile. I'm
hoping to do this using either USB, or wired ethernet. It's been several
years since I built a circuit, so I'm asking here for any input, links,
pointers, etc. that you may have.


1. I'd like to be able to measure engine RPM... from the distributor on an
HEI ignition, or from the newer multi-coil ignitions. I just need something
that will count "x" pulses per "y" amount of time. ("y" would be a standard
clock built into the device - say 1/10th second.)

2. I'd like to also measure driveshaft RPM. I'll use this to determine
speed. If I can use the pulses from an ABS system instead of the driveshaft
it would be even better. Again, just tell me how many pulses are occuring
per "y" amount of time.

3. I'd like a method to measure the analog signals from sensors like the
temperature sensor, voltage sensor, O2 sensor, etc... I guess there's no
getting around using a DAC here. To make this universal I'd need to be able
to set the "0" voltage and the "High" voltage to match the sensor. (eg. Gas
guage may read 3v for empty and 12v for full)

4. I'd like to be able to implement some kind of controller for all this to
connect to a PC. USB or ethernet seem to be the way to go these days. Are
there any devices that simplify using USB or ethernet?

5. I'd like to also be able to specify binary outputs or read binary inputs.
For example I may want to use a 6 bits output to my radio to choose a
station preset. I might want to use a 4 bit input to sense if any doors are
open.

As far as actually controlling the device, I'd simply want, say, 3
registers:

0 - WRITE only = specify which sensor/output to read/write. 8 bits to allow
up to 256 sensors/outputs.
1 - READ = the current value from that sensor specified by register 0 or
WRITE = output value - 8 bit
2 - WRITE = Used to indicate that the data on register 1 should be send to
the output device specified by register 0. The value written here will
specify the amount of time that this STROBE line will stay low.
3 - WRITE - 8 bit. Specifies resolution of clock used for RPM type sensors.
(quarters of a second). Writing 40 to this register would indicate that the
RPMs counter should indicate "pulses per 10 seconds"


....and now that I've got this all written down in one place, it seems like a
big task. I've seen several of these ideas put into practice a while back,
but never together such as this. It shouldn't be too complicated to do if
broken down into smaller tasks.


....Any suggestions?
 
Top