Subject: Testing your EFI on the bench
From: Rotary Engine
Date: 5/26/2010, 1:38 PM
To: AAA Put this in the To box



It would be handy if you could test your EFI with out having it on the
engine. In other words in the shop.

What you need is a Crank Angle Sensor AKA CAS simulator and a hand vacuum
pump for the MAP sensor. The vacuum pump is no problem as they can be had
for around $20 in auto parts stores.

he Crank Angle Sensor simulator is just a variable
frequency variable pulse width generator.  Unfortunately
manufacturer of these device want several hundred dollars.
It took me a few hours to make one suitable for testing an
EFI system from parts I had lying around.  Nothing you
can't find in Radio Shack.  I was only interested in 7500
RPM as that is worse aircraft engine case so this one is
fixed frequency...  fixed pulse width out.  With a couple
of pots it could be made variable frequency.  Here are all
the tools you need and a picture or two of the device.  If
enough people show an interest I will do a pc board and/or
an assembled unit.  My guess is $50.

   Paul Lamar

   Paul--
   Sounds like a VERY worthwhile project of significant interest to
   many of us!

   Paul Vermillion

   Thanks. It is getting very close to working.
   My main limitation is learning the idiosyncrasies of ZBasic.
   The manual was written by a computer science professor
   and I am a Dick and Jane person :)

   Speaking of that Mark, how is the book on ZBasic?


   Paul Lamar

   Still waiting for it to arrive.  I guess it was shipped via slow boat from
   China.

   I am making good progress learning this ZBasic but there is still
   a lot I don't understand. Don has been very helpful. He could use
   a lot more examples in the ZBasic Language Reference Manual.

   Paul Lamar

   I may stop by the Half-Price Bookstore and see what they have.  Who knows
   what I might find.

   Mark

   I don't think you are going to find anything on ZBasic.
   Plenty of books out there on QB and QB is fun to learn
   but there are so many real time extensions in ZBasic
   as learning QB will not be much of a help.
   It will certainly give you the basics of programming
   pardon the pun :) Some say it will spoil you :)

   BTW the A to D only takes 26 usecs so a 3 rotor would
   be no problem if that were the only limitation.
   Apparently the real limitation right at
   the moment is sending data to the net book using
   the USB. That takes about a millisecond and we only have
   four to work with on a 2 rotor and 2.66 milliseconds
   on a 3 rotor at 7500 RPM.

   Currently my USB port is set to 19,200 bits
   per second but there is an implication using USB 2
   that this could go 5 times faster or 115,200
   bits per second. All I need do is figure out
   how to speed up my USB port.

   Do you have a USB 2 port on your net book?

   Another alternative is store the data and send
   it out to the net book while the RPM is lower
   than say 6000.

   Paul Lamar

  Paul,

  According to the eeepc user's group, it can handle USB 2.0, but it may not
  currently be configured for it.  I'll have to check tonight after work.  My
  gut feel tells me that it is configured for USB 2.0.

  Mark

  Don suggested a couple of com programs. Currently we (you and I )are using
  the com program built into the IDE. That would give one easier
  control of the bit rate.

  "Paul Lamar wrote:
  Is there a stand alone communication program that will
  receive data from the AVR debug.print or console.write?"

  "Many. I've used TeraTerm and Bray's Terminal. A search using "terminal
  emulator" and similar terms should turn up several options, most of which
  should be no-cost."

  Last edited by dkinzer on 20 May 2010, 13:16 PM;

  Paul Lamar


Paul,

Sounds like that would solve the problem.

BTW, for clarification, is it your intent for this program to run both the
ignition and the fuel injection?

I'm assuming the answer is yes based on your ignition schematic published
yesterday.  What additional circuitry will be necessary to accomplish this?


Mark

Very little. I just forgot to put the ign commands in this morning.
Only adds a couple of usec.

OK here it is.

*******************************************************
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  'develop only
'do 'check and wait for CAS
for x = -10000 to 10000 'develop loop 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 develop loop

sub rotor1()'it is 22 degrees BTDC
Call PutPin(14, zxOutputHigh) ' trigger ign on rotor 1
dim add1 as integer
add1 = GetADC(82)'MAP sensor val must be an integer
Call PutPin(14, zxOutputLow) ' turn off ign trigger on rotor 1
Debug.Print "  Micro Time = " & CStr(add1); 'send data
end sub 'rotor1

sub rotor2()'it is 158 degrees ATDC
'Debug.Print "rotor 2"
End Sub  'rotor2

**************************************************

It just occurred to me. I am sending the data to a USB
stick. I'll try sending it to the hard disk and see if
that speeds it up. I think it will.

---------------------------------------------------

I tried it. That cut the com time down .2 ms.
from about 1 ms to .8 ms. We are getting there
faster :)

BTW that is a clunky 5 year old HP Lap top.
A newer computer with a faster hard drive would
be faster still.

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.