In my quest for ECU solutions I found this yesterday http://www.diyefi.org/ A group project to design an ecu. A prioject well outside my abilities but there have to be a few people here with the right skill sets and interests I would think. I'm having a lot of trouble finding anything that will deal well with the V12 I'm building (http://www.ferrarichat.com/forum/showthread.php?t=170171) so now I need to figure out how to talk a few of you electronics and programming types to step up to the plate and get me 1 euc that will : 1. Handle 12 Ignition outputs 2. Handle 24 fuel outputs, 3. Have fuel and ignition maps that are at least 16 x16, 24x24 would be better On the nice to have list: 4. light a check engine light when something is wrong. 5. Ion knock detection 6. Traction control Ok who's in?!?!
I am not "in" because of time constraints and too many other projects in the fire. However, I've been thinking about doing this for several years for the following reasons: 1) It would be fun. I've seriously considered ripping the ECU out of a used Honda Civic and building one from scratch just for a learning exercise. 2) I hope to own a 360 someday and know that at some point in the future ECUs will start to fail. 3) I salvaged the 7.3L turbo diesel from my previous truck after it was totalled and would like to design an ECU so I could play with the engine. My tact will be to start from scratch with a standalone microcontroller because I have experience there and don't want to deal with constraints from someone else's design. This requires programming in C (or some of its object-oriented variants) or assembly language. I've designed many real-time controllers in the past, but nothing recently so am not real familiar with the latest and greatest hardware. The web site you listed looks like a good start. Another good community to tap into is based around this magazine: www.circuitcellar.com For starters, regardless of how you proceed, I suggest that you begin by analyzing your timing requirements and diagram the processes you wish to implement. By "timing" I am not referring to ignition timing, although that will be included, but how long and how often the real time processes you want to implement need to occur. My method for doing this is always to envision "slowing the world down." Imagine you can make time slow down by several orders of magnitude for everything but your own sensory system and brain. Now you can walk around and think about things as they occur in slow motion. I also strongly advise you become familiar with the concept of state machines. If that term is new to you don't let it scare you. It is simply a logical way to keep track of the state of different things going on and is often the key to breaking up a complex system of operations into a collection of simple tasks. State machines are easy to implement on a microcontroller and are often used in timing-critical processes. They also make it easy to debug a system and spit out error codes, so implementing a rudimentary OBDII diagnostic system would fall right into place here. Lastly, start simple and don't even think about traction control for now. That will involve control theory and sophisticated feedback algorithms and is a huge project compared to just making the engine run and respond like you want. Not only will it require more compute power, but it will require a good knowledge of math and control theory. OK I said I'm not in, but if you decide to implement state machines and need help designing them, I can pitch in there. That really should happen before you think about anything else. I see from your profile that you are an ME so I am likely preaching to the choir re. most of the above. If that is the case, I envy you because this sounds like an awfully fun project, especially designing traction control. Glad you are doing this! I don't have your expertise with engines so I will be following closely and hope to learn a lot from your efforts.
Just as an aside - as many of the specialized cars age, those electronic components are going to need replacements. This might be a good idea for an enterprising technical developer. Perhaps something of a "generic" set of control computers could be developed which could take the place of the hyper-expensive or just unavaliable original circuitry? They could be specifically "programmed" for each application, but might not need much hardware changes. Hot button issue with me, BTW - my 1995 Rolls Royce Silver Dawn has just lost the environmental computer in such a way that it would not run the AC compressor. Replacement part lists for around $4,000 and is currently NOT AVAILABLE. We had to wire across it so as to run compressor all the time in the AC mode. Sponsor RUF Autocenter heroically came up with a specialist who could do this and took care of it for me as a new owner! Yes, I know - Rifledriver is going to see this and say "I told you so." But, I reply - If you cannot take the jealous ridicule, you should not be driving the flying lady!!!
Don't worry I'll just watch. Sounds like you got a good place taking care of you though. I do think there will be a market for generic programmable 4-6-8 cyl units. Makes a lot of sense especially since Ferrari, Benz and Bosch all go up in price exponentially as the cars get older. If designed with optional inputs for different systems and maybe a way to set baseline injector time etc. Seems like there is a future, possibly even a current market.
Agreed - I remember the hot rodder's lament back in the early 70s when they started to phase in smog control, some early fuel injection systems, electronic ignitions: HOT RODDING IS DEAD - they have killed us with robotics! Now look at how far the aftermarket has come in electronic performance aids - chips, injection units, etc...I think that if it happens, it will probably be led by some of the more innovative SEMA suppliers who realize that there is a potential market. BTW, they are still working on the Silver Dawn, and all of a sudden my "Immobilizer" fouled up on the 993 (by GAWD - if I were in Porsche marketing I would have come up with something else to call your security system) - so anyway, I am driving the old primative Testarossa this week - with it's brand new timing belts and so on. Hans thinks I caused the Rolls Royce troubles myself by speaking in jest about Lucas Electrics.
I have very little knowledge or experience that is helpful in designing an ecu. I know what the engine wants and understand why the options out there arent great for may application but I dont know controllers and know very little programming. I can learn if I have to but Im hoping some people with some knowledge may want to take up the cause. The diyefi guys appear to know electronics, but made a very common mistake by creating a board with 12 ignition outputs but only 6 fuel and thought they could handle a V12 but they can only control fuel properly on a 6 cylinder with moderate performance. A shame because it looks like they picked a set-up that could have easily handled the required fuel outputs but they just didnt understand engines enough to know they needed them. I d aftermarket ecus are pretty much defined by answering the wrong question. The question isnt how many channels are required, that is an OEM question aimed at cost control. The performance question is how many channels could you use. Maybe the diy board and code are a good place to start though. Its all open source, open design and this total performance type version could be a sister project.
I need at least 24 fuel and 6 ignition outputs. A 4 cyl ecu is 4 and 4.....so I'd need 6 of them to get enough fuel outputs. no good. Then the acceptable number of ECUs has to be 1 with 4 O2s, 2 with 2 O2, 4 with 1 O2, 8 with 2 O2s, 12 with 1 O2 because there are 12 header tubes with 4 collector and you have to be able to know what the O2 signal means.
What do the two fuel outputs per cylinder do? Why do you not need 12 ignition outputs? Educate me please. So you have three tubes each going into four collectors? Can you list ALL input and output sensors you will need please. Everything from throttle position to cam sensors, temp sensors, etc. One suggestion for approaching this project is to break it up into 4 sequential steps: 1) Analyze and document. List all I/O requirements and document with flowcharts and state diagrams everything that will be happening. You might want to read up on UML (Universal Modeling Language), but it can be intimidating reading if this is not your area. Not to fear, it is just a simple concept that looks intimidating because it has become formalized to death by anal managers. It is a good concept though. There are formal documentation tools designed specifically for this, but MS Word and MS Visio will work just fine to do the same thing. 2) With timing, memory, and I/O requirements documented in step 1, choose a microcontroller board, keeping in mind cost of development tools (compiler, debugger, etc.). 3) Design a software framework to implement the necessary processes. At this point other design goals come into play, namely ensuring that the code is robust and easy to debug. It needs to have a watchdog timer and fall back to failsafe default outputs to all I/O pins if it loses its brain. 4) Code the application. I recommend C++, but I can't help here. There are other approaches that may be better. This is just what comes to mind for me, based on my experience. I wouldn't worry about anything but #1 at this point and I and others can help with that. I do think it's important to begin by thoroughly documenting the process you want to control. I've seen many projects falter and suffer and drag on seemingly forever because there was no clearly defined detailed master plan for everyone to fall back on and use as a basis for communication and head-scratching. If something doesn't work right it is a lot easier to go back and look at state diagrams and think things through than look at software. If there is a problem it is easy then to see if it is a design problem or a software bug.
WoW !!!! Don't have a clue what you are talking about but I am pressing my pants and shining my shoes for school. DRIVE ON !!!! (pun intended)
And you think putting together the V12 is taking time... I will assume you already have talked to the various aftermarket ECU makers and they have no interest in what's you're doing. Being in the software develpment business for over 30 years, I hate to re-invent the wheel (or ECU in this case). Perhaps if you could find a product that does the bulk of what you want, you can put together an agreement that will allow you access to source code in exchange for (1) signing a non-disclosure and (2) turning over the rights to final product. Of course, the above assumes you have no designs on turning this into a business / money maker. As stated before, the first step is the functional flow chart start to finish (again, if you have someone else's source code, this this phase will be significally easier - you will know what has been proven to work - I'm sure you understand reverse engineering). Anyway, once you have the functional specs, you will be in a good position to evaluate your options. Fun stuff... as a hobby.
I'm not trying to be a software designer......I'm trying to talk the software desingers into a new project The problem is nobody has the hardware to handle the job so even if I could sweet talk someone out of their source code it wouldn't solve thew problem. The diyefi source code will be out there and the megasuirt souce and tuning code is ot there.....so all you'll need to do is adapt, it should be easy right?
The more hp per cylinder you try to make, the larger the turn-down ratio on the injector needs to be. Also the high % of the fuel you try to inject into the air stream while the stream is moving to prompe better mixing the larger the turn-down ratio gets. Together these 2 make idle and low power fuel control difficult. Then when you add high flow port and long duration cams low end mixture control becomes almost impossible for a single large injector. On a race engine it doesnt much matter what happens in the low power part of the rpm range as long as it stays running. A street car on the other hand spends most of its time in the low range and it has to work right. The solution is 2 injectors. One small and one large. The small injector can operate in its ideal range to say 30% throttle then the larger injector begins to fire and handles all the remaining fuel needs .but this requires 2 fuel outputs per cylinder.
I should add this too. For idle and low power the very best place for the fuel injector is down in the port spraying right at the back of the valve because that is where the best mixing occurs. This is the where most all OEM injectors are mounted.....but it's way too close to the valve for high rpm mixing and hp suffers a bit. For high rpm the injector wants to be mounted at the top of the cylinder runner right in the middle of the stack or bell mount and spraying straight down the runner. Ducati puts their injectors here but the idle and off idle performance really suffer. F1 engines have both as fas as I can tell and I am setting my engines up with both. A small injector in the port, a large injector up in the bell mouth and in theory it will run good from idle to the planned 9500 redline.
I'm throwing a monkey wrench at you here Mark, I know you ended up with practically a newly machined engine. any chance of making the heads DI, you can go back to 1 injector for your needs as the direct injection cools the combustion and requires far less fuel.
I am just going to throw a couple of ideas in here...... don't know how practical they are.... Possibility - 2 ECUs - one very simple one controlling idle circuit, one controlling throttle circuit. Use a couple of injectors spraying into the plenum for idling purposes, then an injector on each cylinder for the throttle duties. Idle circuit runs all the time and is pretty much a set and forget system only requiring engine temp. inputs to lean off as temp. rises.... in theory. Then use an off the shelf solution to handle the throttle duties as you no longer require multiple outputs. OR - split the engine in two and run two ECUs essentially running a V6 or in line 6 each... split it bank for bank or cross the banks, whatever works for firing order. A two ECU system definately works (eg 348) and bypass's the difficulties of having a multiple output ECU which may enable you to source an off the shelf solution... may even be able to switch off an ECU and run on 6 in an 'economy' mode to get high MPG! OR rip the engine management off an exisitng set up where a manufacturer has done all the hard work for you!! Example, pull all the injection stuff off a BMW 750 or similar and then re-map to suit, would be an awful lot easier.... Hey, if the BMW V12 is good enough for the McLaren F1 it should be good enough for Fcars and the McLaren F1 ran two injectors per cylinder on the V12 although I don't know what the rest of the injection system was based on- some research in that area perhaps? I bet it would be standard parts Bosch or similar... I am big fan of not trying to re-invent the wheel... injecting performance V12s has been done, so it must be possible to adapt an exisitng set up to your application. Starting afresh with a new ECU is admirable, but a tough solution... you only have to look at the amount of work the Megasquirt guys have done to get to where they are now, literally thousands of hours of development by numerous individuals, some of them highly qualified - do you really want to start that process from the beginning again? Just thoughts.....
Maybe you should talk to these guys. They're running a Merlin V12 with a megasquirt. 24 injectors, 24 plugs and a lot of noise. Redline's a -lot- lower though. http://www.youtube.com/watch?v=j1X4-fBQFzE
That would be very difficult. Low and high need to make a hand-off at exactly the right time and there arent any ecus set-up to to sync so they could make a hand-off like that. Its not 2 simple ecus either as Id still have 12 injectors each. This was the original plan .and its still a problem. Not only is there no ecu with 24 fuel and 12 ignition outputs there isnt an ecu with 12 fuel and 6 ignition either. Motec makes an ignition expander so 2 motecs with 2 ignition expanders for about $10,00 would do it. The other option is to brake it into 4 3 cyl engines and run 4 6 or 8 cyl ecus. This is my plan is the custom thing doesnt go anyway ..it would be a pain it the a** to tune, but once setup it would work just fine. very difficult without source code and I'd still be stuck with at least 2 ecus. I'm not a big fan of reinventing either. The problem is the type of person who normally decides to build an ecu is an electronics professional and the driving force is something along the lines of Im not paying $2000 for a $200 of hardware. The second thing they do is start making completely incorrect simplifying assumptions like sequential injection is a luxury and cylinder trim maps are just plain silly. They then set out with the primary goal of building an inexpensive ecu and there are lots or options that follow this model. What I need is probably $500 worth of hardware and it doesnt exist in a single unit. I need software that understands its just flat impossible to exactly flow match 12 ports and 12 fuel injectors and I need trim maps. Motec has trim maps .but you pay big time for their stuff and I still need 4 boxes.
Oh you can do it and it will run.......but "it runs" is about all you can say. The MS unit is much too primitive to deal with what I'm trying to do, even 12 of them would not be up to the task. The word is a MS3 is coming out that will have 8 fuel and 8 ignition channels so I could use 4 of those...but I still dont thing they caught on that their expanded 12x12 maps are not adequate for most high performance applications so the new unit will be no more useful to me when it comes out than the old unit. The VEMs is a much better option and I may still go that way.