Any general discussion around the firmware, what is does, how it does it etc.
User avatar
By Timus
#45095
Well, in arduino max PWM is 255(100% output), sadly speeduino is using its own custom code to generate pwm which max value is only 100(100% output), anything above 100(101-255) is limited to 100. So TS config is ok.

Closed loop wmi was not as much tested as different modes, its depend on fuel injector PW to calculate wmi PW.

Lets see what number we should put in wmi table to get some reasonable results.

Closed loop is calculated like that:
wmiPW = (PW + wmiOffset) * 10 * wmiTable(MAP, RPM) / 100

Lets assume that:
RPM = 6000
Map = 150 kpa
PW = 20ms
wmiOffset = 0ms

And we want to find table cell value that will give as wmi max pwm value of 100:
wmiPW = 100

100 = (20 + 0) * 10 * wmiTable(MAP, RPM) / 100
100 = 20 * 10 * wmiTable(Map, RPM) / 100
100 * 100 = 20 * 10 * wmiTable(Map, RPM)
(100 * 100) / (20 * 10) = wmiTable(Map, RPM)
wmiTable(Map, RPM) = 50
wmiTable(150, 6000) = 50

That's mean that to achieve 100% wmi PWM at 6000RPM, 1.5Bar load and injector PW of 20ms you need to have value 50 in table, anything below that will limit wmi PWM, anything above will still be 100%.

My advice would be to use open loop, which is much easier to tune and use. :)
Last edited by Timus on Tue Sep 01, 2020 3:39 pm, edited 1 time in total.
User avatar
By Jaap Struyk
#45144
Timus wrote: Sat Aug 29, 2020 10:02 am Well, in arduino max PWM is 255(100% output), sadly speeduino is using its own custom code to generate pwm which max value is only 100(100% output), anything above 100(101-255) is limited to 100. So TS config is ok.
Clear and understood, not nice from coding POV but I'm sure there is a reason for why they did it like that.
To make WMI more clear on this I changed the ini file to limit cell value to 100 instead of 255:
Code: Select all
        wmiTable    = array,  U08,    0,[8x8],    "%",        1.0,        0.0,   0.0,       100.0,      0
Timus wrote: Sat Aug 29, 2020 10:02 am Closed loop is calumniated like that:
wmiPW = (PW + wmiOffset) * 10 * wmiTable(MAP, RPM) / 100
Thanks Timus, I will have a look at all variables involved, open loop works very well but can't stand it that closed doesn't work as I expected. The idea that fuel pulse width is in control is something I like very much so will try to figure out what's going wrong.
Timus wrote: Sat Aug 29, 2020 10:02 am My advice would be to use open loop, which is much easier to tune and use. :)
Doing that for the moment and working very very well! Nice work man!
By vandea05
#45456
At risk of derailing this thread, what control scheme are y'all using for WI? Controlling pump speed via PWM, or running the pump at full noise and pulsing the solenoid?
By vandea05
#45490
I may be gravely mistaken, but it appears the bulk of this thread is about water injection using PWM, possibly using the VVT output. Further, my query regards not the Speeduino aspect of WI but the physical hardware, the pump and valve.

So.. are the guys running WMI controlling pump speed or valve opening time?
User avatar
By Timus
#45576
It seem like no one is using it yet. So you should do some testing on your own and see whats works best for you. If your pump is not using more than 10amps you can start with pump only setup.
User avatar
By Jaap Struyk
#45580
vandea05 wrote: Tue Sep 22, 2020 4:08 am I may be gravely mistaken, but it appears the bulk of this thread is about water injection using PWM, possibly using the VVT output. Further, my query regards not the Speeduino aspect of WI but the physical hardware, the pump and valve.

So.. are the guys running WMI controlling pump speed or valve opening time?
I am building my engine with a mechanical (methanol) pump for water and Bosch EV14 injectors controlled by the PWM signal, copied the injector driver part from the speeduino PCB for that.
Planning on starting it up en Februari so no clue if it works until then ;-)
User avatar
By DeeEmm
#47043
Sorry it's taken so long to get back to this. I now have all of the parts here for testing but am recovering from spinal surgery and so have not been able to put it all together yet. Unfortunately I'm still out of action until well into the new year.

I plan to test both pump speed and solenoid opening using PWM and compare results. I expect that the results would be the same however the pump controlled solution would be much more efficient as it does not have a pump running into a full head of pressure against the metering valve.

My only concern (not really a concern, just an observation I want to test) is propagation delay: With the solenoid controlled system the solenoid can be mounted close to the nozzle and so it would be much more reactive than having a pump mounted remotely, however I suspect that whatever this difference is, it is most likely negligible (in a majority of cases).

The big question for me is the number of engine cycles that the system takes to become effective versus the number of engine cycles that it takes before detonation occurs. I would have only thought that this is only an issue for fringe cases where the tune is reliant on the WMI for detonation control and even in these cases it should be possible to tune the WMI to suit.

Of course these are hardware / tune based considerations and not Speedy / code related.

If the outcome is as I expect, the choice of hardware configuration would largely be determined by how aggressive the tune is, with the simpler pump-speed controlled system being suitable for all but the most extreme cases.

I'll post my results up when I've done the testing but unfortunately that will not be until the new year.

/DM
User avatar
By Timus
#47052
Great, can't wait for results!

I was thinking about this propagation delay problem and I came to conclusion that we could possibly build our water injection system to mimic fuel injection system where between pump and fuel injectors there is a pressure regulator, that way our water measurements would be more repeatable over time/conditions and pump would not need to keep pushing water against solenoid.
User avatar
By AndyPonting
#52816
DeeEmm wrote: Sun Dec 13, 2020 2:39 am Sorry it's taken so long to get back to this. I now have all of the parts here for testing but am recovering from spinal surgery and so have not been able to put it all together yet. Unfortunately I'm still out of action until well into the new year.

I plan to test both pump speed and solenoid opening using PWM and compare results. I expect that the results would be the same however the pump controlled solution would be much more efficient as it does not have a pump running into a full head of pressure against the metering valve.

My only concern (not really a concern, just an observation I want to test) is propagation delay: With the solenoid controlled system the solenoid can be mounted close to the nozzle and so it would be much more reactive than having a pump mounted remotely, however I suspect that whatever this difference is, it is most likely negligible (in a majority of cases).

The big question for me is the number of engine cycles that the system takes to become effective versus the number of engine cycles that it takes before detonation occurs. I would have only thought that this is only an issue for fringe cases where the tune is reliant on the WMI for detonation control and even in these cases it should be possible to tune the WMI to suit.

Of course these are hardware / tune based considerations and not Speedy / code related.

If the outcome is as I expect, the choice of hardware configuration would largely be determined by how aggressive the tune is, with the simpler pump-speed controlled system being suitable for all but the most extreme cases.

I'll post my results up when I've done the testing but unfortunately that will not be until the new year.

/DM
Bit of a thread bump but I operate both pump and solenoid at the same time. The pressure stored in the line between the two is sufficient to provide instant misting when activated.

But for the real reason I'm here!!

I've been trying to operate wmi via speeduino (v0.4) rather than a boost switch, but without much luck.

I only use one of my HC outputs (7) for boost control. 4,5 & 6 are available.

These are the setting I've been using to test -
Capture.JPG
Capture.JPG (48.94 KiB) Viewed 5033 times
Hardware wise, I've got pump and solenoid powered through a relay, switched by pin 4. I don't have anything wired to pin 63.

Do I need 63 switched? I want the wmi to always be active and enabled. I do have a level sensor on the tank which illuminates on the dash when low but I don't want the ecu to utilise this as the sensor isn't located too near the bottom of the tank. I'd rather the tank run dry than have the system inactive with 1L reserved in a race situation (water is being used only to help with IAT's and is not a requirement for safe running)

Thanks Andy
  • 1
  • 7
  • 8
  • 9
  • 10
  • 11
Vr Conditioner Noise when cranking

you could set 'skip revolutions' to 3, then it wo[…]

I uploaded logs and last tune and dyno plots look[…]

Hi, I am trying to assign Signed values to the x-a[…]

blitzbox

I've finally figured out why MAP and Lambda weren'[…]

Still can't find what you're looking for?