Subject: Testing your EFI on the bench
From: Rotary Engine
Date: 5/26/2010, 1:07 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.


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.