Wednesday, April 10, 2013

Variable Induction System for Aprilia V60

It't almost an year that I'm working on this project. I've started with the electronics, then to the mecanics, and now back to the electronic and the software. To be honest, I know very well that I'm doing it mainly for fun: the torque increase will be nearly zero, only the max tourque will shift by apx. 1000 RPM.
In essence, the V.I.S works as: at longer duct a negative wave, caused by the descending piston and the inertia of the gas in the longer duct, accelerates the air column in the duct. At resonance rpm the inertia causes the air to ram into the cylinder just before the inlet valve closes. This results in a considerable gain in volumetric efficiency and hence increased torque. Since the resonance Frequency change with engine RPM changing, the air duct must change its lenght. Clearly a complete variable induct system would be the optimum, but in a motorbyke there is not enought space. So, usually it can be implemented only a dual duct: short for high RPM and long for low RPM.

So, in figure it looks like:


For the electronic, I'll use Arduino since is a cheap and flexible hardware, the needed computation power is not so much anyhow...

The whole system is therefore:

Where:
* Arduino acquire the Aprilia's engine RPM and the trottle position
* when RPM > 6000 and trottle > 60% the servo has to move into the position where the duct is overall short (it is achieved by lifting up the top duct).

Friday, October 12, 2012

Explanation


Carbon fiber intake

Here the Stefano's creations:

Saturday, September 22, 2012

RAM intake electronic

Regia is the system description diagram

Monday, September 3, 2012

Wednesday, August 15, 2012

Sunday, December 13, 2009

XE164 Injector pulse measurement

XE164 has to acquire, measure and sincronize to the INJ-in signals (one for each motorbike injectors).
The best way is to use a dedicated XE164 peripheral: the CAPCOM2 unit.

The CAPCOM unit is designed for capturing, measuring various signals in respect to a base timer. The idea is the following:
- a timer is resetted and started once necessary (TIMER7)
- various I/O port signals can be used to capture the timer value at the signal trigger.
Since the same I/O port signal can be used on various capturing units, MaxPowerCMD will:
- INJ-in rising edge is used to capture the delay between the 0 degree and the injection firing time (let's call t1)
- INJ-in falling edge is used to capture the time when the motorbike ECU likes to stop the injection pulse (let's call t2)
Therefore it will be possible to calculate the injection pulsewidth by subtracting t2 from t1, D=t2-t1.

Once the pulsewidth has been calculated, the CAPCOM timer can be reset, so to be ready for the incoming capturing phase.

To configure properly the XE164's CAPCOM is only necessary to estimate correctly the timing scale that the injector events require.
Supposing that the motorbike engine runs at 10000 RPM as max speed, so each injector will fire every 10000/60 Hz, so about 166Hz.
The second parameter to be considered is the measurement accurancy: each injection pulse could be around 2msec, so at least a precision of 0.1msec is required.
0.1 msec x 65535 = 6553.5msec is far enough.