I have ordered this ARM board to build a EFI system around, written in
ARM
compiled
BASIC.
It should be here in a few days DHL.
We shall see how it goes.
I should have something running in about a week.
Paul Lamar
Paul,
Could you give us the info on this board so we could consider buying one
also.
I am thinking of some developments to our robotics products.
Zoltan
Here is the ARM board. It has infinite expansion potential.
http://www.mikroe.com/eng/categories/view/16/arm-development-tools/
I am working on two systems. I am working on a parallel approach as well
with
a real simple and old CPU (8051 not a C8051) controlling mostly hardware.
If you are interested in the simple system let me know. It will very
limited but it
is quicker to build and program I hope. I will be testing some of the
hardware in a
few days. I'll know then if it is going to work.
Paul Lamar
Hey Paul,
I was thinking about leaning on the way home tonight. How about this.
Put a rheostat/pot in the cockpit that adjusts a simple voltage divider
so that the output can be varied across some arbitrary range.
Connect said output to the A side of an A/D.
Read the knob position from the D side of the A/D and use that as the
multiplier for the pulse width generator.
You wouldn't even have to use a high fidelity A/D. Eight bits would be
overkill for our purposes. Set the knob in the center and use that as
the base. Higher is richer, lower is leaner.
Mark LaPierre
That is what I planned.
Paul Lamar
There is a web page where a guy took the Arduino and made an EFI for his
lawnmower. He specified pulse width based on resistance, and connected a pot
to the gov of the mower. He also had another pot where he could fine tune
it the PW as he needed to.
Here is his Code:
/*
LiquidCrystal display with:
LCD 1 (0V) to arduino ground pin 14
LCD 2 (5V) to arduino +5 V
LCD 3 (V0) to output from potentiometer 10kOhm connected between +5 V and
GND
LCD 4 (RS) to arduino pin 12
LCD 5 (R/W) to arduino ground
LCD 6 (E) to arduino pin 11
LCD 11 (DB4), 12 (DB5), 13 (DB6), 14 (DB7) on arduino pins 7, 8, 9, 10
LCD15 (LED+) through resistor 12 Ohm to arduino +5 V
LCD16 (LED-) to arduino ground
*/
#include <LiquidCrystal.h
#include <Servo.h
LiquidCrystal lcd(12, 14, 11, 7, 8, 9, 10);
int InjectorPin = 13; // Control chip to Injector connected to digital
pin 13
int potpin = 0; // analog pin used to connect the potentiometer
for injector pulse
int Govpin = 5; // analog pin used to connect the potentiometer
for Gov Value
int val;
int Govval;
int UpdatePause;
void setup()
{
BootMSG();
pinMode(InjectorPin, OUTPUT); // initialize the digital pin as an output:
}
void loop()
{
Govval = analogRead(Govpin); // reads the value of the potentiometer
(value between 0 and 1023)
Govval = map(Govval, 0, 1023, 1,1000); // scale it 1 to 1000 )
val = analogRead(potpin); // reads the value of the
potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 20); // scale it to use (0ms to 20ms pulse
)
digitalWrite(InjectorPin, HIGH); // set the injector on
delay( 1000 - Govval + val); // on pulse width
digitalWrite(InjectorPin, LOW); // set the injector off
delay(25-val); // off pulse width
UpdatePause++;
if( UpdatePause 8 )
{
UpdateLCD();
UpdatePause = 0;
}
}
void UpdateLCD()
{
lcd.begin(20, 4); //lcd.begin(columns, rows)
lcd.setCursor(0,0); // Position cursor on line 0 char 0
lcd.print("Pulse Width "); // Print a message to the LCD
lcd.print(1000 - Govval + val);
lcd.setCursor(0,1);
lcd.print("GOV Value ");
lcd.print(Govval);
lcd.setCursor(0,2);
lcd.print("RPM "); //unused
lcd.print("0000"); //unused
lcd.setCursor(1,3);
lcd.print("Battery "); //unused
lcd.print("00"); //unused
}
void BootMSG()
{
lcd.begin(20, 4); //lcd.begin(columns, rows)
lcd.setCursor(0,0); // Position cursor on line 0 char 0
lcd.print("Redneck EFI"); // Print a message to the LCD
lcd.setCursor(0,1);
lcd.print("Version 1.0");
lcd.setCursor(0,2);
lcd.print("Powered By Arduino");
lcd.setCursor(0,3);
lcd.print("Copyright 2010-2011");
delay(2000); //display boot screen for two seconds
}
I also have a version for a turbo Miata that I am going through to see how
it works.
Kevin Alderman
--
The Rotary Engine News Letter. Powered by Linux.
ACRE NL web site.
http://www.rotaryeng.net
You Tube key word PaulLamar2
Copyright 1998-2012 All world wide rights reserved.