There seems to be more interest in this for aircraft use.
Some people I know are trying to implement Megasquirt
(I think) on some experimental aircraft using the traditional
air cooled aircraft engine.
It can be done but I am not comfortable with Megasquirt.
Currently it seems it has evolved to be all things to all
car engines while the aircraft engine needs are more limited.
It also relies on feedback from an O2 sensor which does
not work well on 100LL. Yes I know there is a move afoot to
replace 100LL but that has been talked about for the last
ten years with no real movement. The lead emitted is a phony
issue and not a real problem.
The aircraft application needs more display of engine parameter
and historical data acquisition. In other words what is the engine
doing now and what was the engine doing for the entire flight.
In other words it needs to be combined with an engine monitoring
system.
Also Megasquirt is not well documented IMHO.
For example here is a so called flow chart of the main program.
What is missing in most cases is how, when and why.
Set up Phase-Lock Loop, RTC, Serial, Interupts
Initialization of Ports / Variables
Sample MAP sensor and save as Barometer
Copy Configuration and VE variables from Flash to RAM
Copy Flash Burn Routine from Flash to RAM
Main Loop:
Perform Table Lookup for Barometer and Air Density Correction
Perform Table Lookup for Coolant and MAP Linearization
Determine if in Fast-Idle Mode
Compute RPM, Determine if Engine is Cranking or Running and Flood-Clear
Calculate Warmup and After-start Enrichment
Calculate Acceleration Enrichment/Enleanment
Calculate EGO Enrichment
Calculate VE from 2-D Table Interpolation
Compute Total Enrichment Value (Accel, Baro, Air Density, EGO, and
Warmup)
Compute VE Contribution
Compute MAP/Baro
Calculate REQ_FUEL
Calculate Battery Voltage Compensation
Calculate Final Pulse Width
Goto [back to] Main Loop
Yes the info is there in the C source code but C is the fundamental problem.
One must be an accomplished C programmer to really understand what
is going on. I am not. There is a lot of controversy about this but IMHO
C is a terse and cryptic language. C was invented back in the days when one
used a teletype machine to talk to and program computers. That was 40 years
ago.
Computers are a million times smarter than they were in those days.
You should be able to tell the computer in plain English what you want it
to do. I am not saying voice recognition here. Just be able to type it in.
What do you think about this?
Paul Lamar
Paul,
There are software that are used to tune MS and can be used for
monitoring and data logging such as Mega Tune and Tuner Studio
and others.
Joe Berki
Limo EZ
Yes I know that but it does not IMHO justify writing the software
in cryptic C.
Paul Lamar
C is terse and cryptic because there is a real need to be precise and
unambiguous ..... things which natural languages like English are NOT!
Remember, computers have absolutely no "common sense"
SD
BASIC is just as precise as C. It just requires a bit more typing. Microsoft
used to sell a program called Quick Basic that ran under DOS. The editor (IDE)
was so smart it could detect a miss spelled command or label. That idea could be
greatly expanded with todays far more powerful computers. If you are running
XP it will still run in the command window. I use it all the time. It is so
small I'll send it out now in zipped form. Here it is. I have several prop
design source code programs and a GPS driven moving map source program written
in QB. There are thousands of other free source codes out there. Just put
"QuickBASIC" in google. I would use it for an EFI if it supported USB
ports which it does not. DOS was the closest thing to a real time OS
of all the popular OS's.
Paul Lamar
--
The Rotary Engine NewsLetter. Powered by Linux.
ACRE NL web site.
http://www.rotaryeng.net
Youtube key word PaulLamar2
Copyright 1998-2011 All world wide rights reserved.