For the tach signal, you could put a magnet on the compressor pulley and determine rpm with a Hall Effect sensor. The other choice would be to use a Schmidt Trigger to get a square wave from your spark coil trigger circuit.
Ideally, you need feedback from your throttle control, otherwise it will be difficult to regulate the throttling up and down. Without feedback you will probably get off-on type response instead of a percentage type response.
My rig already has a crank position sensor, as well as a cam position sensor. Both of those feed the vehicle's ECU, so I would imagine one of those would work for the arduino as well.
Here's the thing about the throttle control code that I'm not sure about. I'm envisioning something like this:
SET TARGET RPM TO 1500
DO
READ TACH SIGNAL (RPM)
IF RPM < 1500, ADVANCE MOTOR (PWM Signal that will open throttle)
ELSE, DECREASE MOTOR (PWM Signal that will close throttle)
LOOP every 15-20ms?
I realize that's not code, but rather a way to convey what I have in my mind. It seems to me, that a program like that wouldn't need feedback from the electric control motor, as the RPM will basically be the feedback. The more that electric control motor opens the throttle, the higher the RPM will be, and so forth.
Let me know what you all think of this program idea!
Thanks!