Development Plan

Official FreeEMS vanilla firmware development, the heart and soul of the system!
Post Reply
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Development Plan

Post by gearhead »

Like we have discussed, the project is a large one, but there is much on the web to learn from. To move forward, we need a plan. My suggestion, and I throw it out there, is to develop a very simple basic engine management program to create a base learning from as a first step. In the business, we call this a 'breadboard'. It is not necessarily representative of where we will end up, but it shows the basic intent and we will be able to learn a lot from it. We could call this a V0.01. It should be Speed Density based and have a cam wheel input and be suitable for a 4 cylinder engine running wasted spark.

I'll throw out what is needs to have and you can add what I missed:
1) missing tooth crank wheel
2) Cam wheel (1 per rev)
3) std engine sensors: TPS, MAT, IAT
4) WB02 - 0-5V analog input

5) 1 channel minimum fuel injector output
6) 2 channel minimum spark output

This will allow for the development of the wheel decoder, basic dwell and the injector timing. The goal is to have an engine idling on this and be able to rev it up. Not even driving it.

Thoughts?

Gearhead
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Development Plan

Post by Fred »

You forget MAP, battery reference, and serial comms.

As much as I would like this to go to "market" as quickly as possible, I'm VERY wary of spending time developing throw away code. I did a lot of that on my last project and I'm not keen for a repeat. Especially when It's my time I'd be wasting.

However, provided that the code is suitably modular and well designed from the get go there is nothing to stop certain parts being swapped in and out.

I also believe that building it and seeing whats wrong is the wrong approach and will lead to hacky messy code. With a thoroughly thought through design from the get go the majority of code written can be "right the first time". I don't believe that doing it right will take significantly longer than doing it quickly and wrong.

I propose to do the first engine position decoder based on a non missing tooth crank wheel with a single cam trigger. This will be dead simple to write and have the exact same interface with the world as the more advanced missing tooth setup. This will get us up and running more quickly with full position information and accurate timing for both fuel injection and ignition.

The number of injection channels isn't particularly relevant as the code will be identical, just less or more of them.

Configurable stuff is going to be the hard part, as such, the first iteration won't have a lot of configurability but rather be hard coded and compiled for either 4 or 6 or 8 cylinders at first. Later we can work out how to make this variable in code.

I have a 4 cylinder here to test with, and I have friends at home in New Zealand with 4, 6, 8 cylinder engines that are keen to try this out.

The code for actually calculating the pulse width and timing based on environmental factors should be able to be written once well and extended as needed.

I can't see any engines running from this inside the next 4 - 24 weeks, but by about the 24 week mark I'd expect that something would be either close to running or running well in a basic way.

How does that sound to you?

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: Development Plan

Post by gearhead »

That sounds fine. I'm flexible. I just want to get it out in the open as to where we are going and developing the steps to get there.

Gearhead
User avatar
Fred
Moderator
Posts: 15431
Joined: Tue Jan 15, 2008 2:31 pm
Location: Home sweet home!
Contact:

Re: Development Plan

Post by Fred »

Gearhead,

The way I'm feeling at the moment leads me to believe that your goals of a stripped out unstructured basic but working version running an engine in the short term is going to be a reality, possibly sooner than I was expecting.

It will most likely be in the form of a fixed or close to it configuration with minimal tunability. We can set up one of the ADC channels as a master fuel trim as a temporary measure to aid in making it work on an engine ASAP.

Once we are there, we really need to stop and look at the best way to put a good package together that meets my needs of being extensible and clean as well as fast and accurate :-)

Admin.
DIYEFI.org - where Open Source means Open Source, and Free means Freedom
FreeEMS.org - the open source engine management system
FreeEMS dev diary and its comments thread and my turbo truck!
n00bs, do NOT PM or email tech questions! Use the forum!
The ever growing list of FreeEMS success stories!
gearhead
LQFP112 - Up with the play
Posts: 120
Joined: Sun Feb 03, 2008 9:30 pm
Location: Chicago, USA

Re: Development Plan

Post by gearhead »

Well, that sounds great! I still feel that this is a good first step. Then we can step back and see where we and to go. I agree with 'clean and extensible' as well. fast and accurate is a given. microsecond PW calcs with full 16 bit precision carried throughout and ditto on the spark side.

Gearhead
Post Reply