Hi, finally a progress (after a weekend full of attempts) on making idle to work. There is idle valve with 2 coils and 3 wires. No electricity the valve is semi-open, applying current on the first coil then valve starts to close. IF apply current on second, starts to open. This is how it looks. My main goal (together with controlling idle) is to make the idle management efficient, as above 50% on coil brings to much heat.
- idle_fig1.png (306.95 KiB) Viewed 6614 times
Some history, the original valve that match to vehicle harness is with 2 pins, normal closed with additional screw to manage base idle, but I have to change the throttle body (and the whole engine
and current throttle body is with this beast. Initially I was thinking let’s keep the harness, I will put 12V on the 2 wires and will make one short to chassis. Also, Mega2 was present that has only one PWM for idle (or at leased I do not know for another config), so I did a small pcb with atiny45 that was reading the PWM from mega, do simple translation to feed 2 high side drivers – sounds complicated as not possible to manage the board from TS. So I abandoned Mega2 and goes for u_rusefi
.
In rusEfi there is something called double solenoid mode. So far so good pin for idle was decided to be 3 or Lowside 2. For second pin it must be 7 or Lowside 1. Then hoe, not possible to select if from available pins.
- idle_fig2.png (34.87 KiB) Viewed 6614 times
So I was thinking what I need to manage the solenoid some PWM that will keep it closed on the first coil could be constant. Then from idle to manage the second coil in order to change the quantity of air passing through the valve. Then I found a new (for me) feature FSIO.
As it is written win WIKI (
https://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic): lexible Logic is the fanciest-schmanciest feature of rusEfi. Flexible Logic allows advanced users to get unprecedented level of configurability for custom outputs and engine control. rusEfi supports up to 16 flexible outputs, each of these could be either an on/off or PWM signal. In case of a PWM signal the frequency is defined in the configuration and the duty cycle is dynamically controlled by the evaluated expression. – very nice exactly what I need.
NOTE: in order to save changes to the board, the engine revs must be 0. I have to disturb Andrey for this (I’m so sorry)
There are 2 screens in TS that must be updated to make it works. I have started with simple case let’s have a constant PWM on pin7 (Lowside 1). On the screen below we will define output one to be manifested on pin 7 with frequency of 460Hz.
- idle_fig3.png (48.91 KiB) Viewed 6614 times
Then a condition that is defining the duty cycle of PWM must be set. Here the syntaxis is not so human readable. What is set up means that duty cycle will be 16% in case revs are above 1300. Just for reverence 0 means no duty cycle 1 means 100%
- idle_fig4.png (28.98 KiB) Viewed 6614 times
Following pictures illustrate how the valve is working
When rpm is above 1300 and idle is 0%
- idle_fig5.png (552.97 KiB) Viewed 6614 times
Yellow is the fist coil blue(magenta) is the second coil
- idle_fig6.png (723.88 KiB) Viewed 6614 times
Note when connected to car I will increase the % on the first coil just before engine stall, and make it works till from 1300 to 2000 rpm to be used as engine brake.
Now let’s open that valve I put manually 60% on manual in TS (note gauge shows something else (duno why)
- idle_fig7.png (586.48 KiB) Viewed 6614 times
Now the scope looks like (a bit ugly) 75% duty cycle..
- idle_fig8.png (564.44 KiB) Viewed 6614 times
And of course, the valve is almost open (almost because PWM on first coil)
- idle_fig9.png (525.9 KiB) Viewed 6614 times
Than I play with frequency of the PWM, started with 60Hz, too big vibration slowly going up until 700Hz when valve is stable and noise is very low.
To be continued….. when put on the car