The Basics Of The EMS World
FreeEMS is an Engine Management System (EMS) with Free (as in freedom and price) source code and hardware designs. Typically you need an EMS when you modify a car. The reasons for using an EMS like FreeEMS include some of the following:
- Fuel injection and/or electronic ignition on an old carburettor/distributor/points engine
- Transplant a newer engine into an older car without some things the original ECU needs
- Any power adders, such as turbo, supercharger, nitrous, camshafts, ITBs, extractors, etc.
- Education and learning about EFI and electronic ignition systems on engines
- Data-logging and fine tuning
- Controlling more solenoids than an OEM (GM/Ford/Toyota/Mazda/etc) ECU can
- In the case of FreeEMS, running custom control strategies
What You Need To Know
- What type of car/boat/plane/lawnmower/snowblower/etc you have
- What type of engine it has (manufacturer, model, cylinder count, displacement, manifold style, etc)
- What type of sensors it has (RPM/Position, temperature, pressure, etc)
- What type of control hardware it has (solenoids, coils, injectors, etc)
- What power adders it has (camshafts, turbo, supercharger, nitrous oxide, etc)
The distributor(s) or cam angle sensor(s) or crank angle sensor(s) or some combination of the above require a piece of software called a "decoder" to be read and made sense of in the FreeEMS internal software (firmware from here on). Inside these devices are metal disks, wheels, cogs, pulleys, etc with physical patterns on them such as this one:
These physical patterns get read by Variable Reluctance, Hall or Optical sensors and produce a matching electrical signal that is conditioned by the circuits in a FreeEMS box and then read by the decoder software.
EDIT: All built decoders should work to get your engine running. You can see a sample of the possibilities here: http://builds.freeems.org/firmware/dev/ ... -defaults/
This is a temporary solution, and a web page will be put up fairly soon to display this information in a more convenient and clear manner.
Once you're sure that you understand what that means and have determined whether your RPM/Position sensors are currently supported or not you can tackle the appropriate next step.
Your RPM/Position Sensor(s) Is/Are Supported
If not, skip this section! If so, fantastic, skip the next section!!! :-)
Your RPM/Position Sensor(s) Is/Are NOT Supported YET
Don't be sad! :-( You have some options! :-) In order of desirability:
- Provide information and testing to assist a team member to develop a decoder for your setup (preferred)
- Develop a decoder for your sensor setup yourself (If you have the skills, please do!)
- Retro fit a sensor style that is supported (This shouldn't be necessary, but isn't difficult)
- Use some other system that will work for you (If you need a solution now, do this, carefully)
- Wait quietly for one of the team to develop a decoder for your setup (You could grow old in the process)
Can FreeEMS Do What You Need
- How many coils do you have?
- What type are they?
- Can they be driven in pairs?
- How many injectors do you have?
- What type/size are they?
- What essential accessories do you have?
- How do they work?
As for the accessories, there is very little accessory specific code right now, however it should be straight forward to develop it as and when required. IE, just ask! :-)
When you're sure that you both want to run and can run FreeEMS on your setup, read this thread: viewtopic.php?f=54&t=1166
Thanks for reading, I hope it was helpful! :-)
Fred.