I am highly encouraged to say the least.
This was done in 4 milliseconds. To put that
into perspective that is two times every
revolution at 7500 RPMs. A millisecond is
1/1000 seconds or one one thousandth of a
second. Amazing!
The first picture to look at is the scope output.
The top trace is a function generator out putting
a saw tooth wave form. This is fed into pin 82
which is an A to D input channel. This will become
the manifold pressure sensor.
The bottom trace shows two simulated CAS pulses
about 4 micro seconds wide each with 4 milliseconds
between them. The scope amps were set to two volts
per vertical division.
The second picture shows the test set up.
The CAS simulator I built is on the right.
The function generator is in the back left.
Here is the successful extremely simple ZBasic program.
The injector pulse width output is still to be added
but that takes only Usecs as does the rest of it.
************************************************************
Sub Main ()
Call PutPin(12, zxOutputLow) ' pin 12 CAS 1 will be at logic zero
Call PutPin(13, zxOutputLow) ' pin 13 CAS 2 will be at logic zero
dim x as integer
'check and wait for CAS
'do
for x = 1 to 10000 'develop only
If (GetPin(12)=1) then
Call rotor1
end if
if (GetPin(13) = 1) then
Call rotor2
end if
'loop
next x 'develop only
end sub 'main
sub rotor1() 'it is 22 degrees BTDC
dim add1 as integer
add1 = GetADC(82) 'MAP sensor val must be an integer
Debug.Print "rotor 0ne A to D = " & CStr(add1)
end sub 'rotor1
sub rotor2() 'it is 158 degrees ATDC
Debug.Print "rotor 2"
End Sub 'rotor2
************************************************************************
Ultimately the rotor 2 program will be identical to the
rotor 1 program. It is not filled in yet to keep the size
down.
Now here is the kicker. Reading the A to D takes the most time.
If one cannot do that in 4 ms and all the other stuff that
needs doing game over. That statement applies to this timed injection
approach only. There are other ways of doing EFI.
If we had to add a hardware high speed A to D it would
not cost much. This is the log of what happened.
Downloading file "E:\3rd-efi.zxb":
.............................
Download complete.
Verifying download:
.............................
Verification complete.
ZBasic v3.0.3
rotor 0ne A to D = 761
rotor 0ne A to D = 586
rotor 0ne A to D = 372
rotor 0ne A to D = 544
rotor 0ne A to D = 918
rotor 0ne A to D = 257
rotor 0ne A to D = 63
rotor 0ne A to D = 771
rotor 0ne A to D = 605
rotor 0ne A to D = 64
rotor 0ne A to D = 533
rotor 0ne A to D = 439
rotor 0ne A to D = 53
rotor 0ne A to D = 696
rotor 0ne A to D = 943
rotor 0ne A to D = 625
rotor 0ne A to D = 48
rotor 0ne A to D = 690
rotor 0ne A to D = 455
rotor 0ne A to D = 289
rotor 0ne A to D = 678
rotor 0ne A to D = 460
Paul Lamar
--
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site.
http://www.rotaryeng.net
Youtube key word PaulLamar2
Copyright 1998-2010 All world wide rights reserved.