Sunday, December 4, 2011

Introduction to Engine Management with an Ardiuno

Modern automotive engines are a marvel of design and control. The technology being pumped into them for the sake of power and environmental friendliness are increasing every day. Current powerplants coming out of the German camps can individually control valve timing and lift, as well as multiple spark and fuel injector discharges per combustion cycle.

Along side the development of these engine technologies, projects such as the MegaSquirt are popping up; allowing end users to, more or less, bolt on EFI as a standalone to engines that might not otherwise ever see this level of control.

The MegaSquirt community has units that come pre-programmed and calibrated, almost "ready-to-run" out of the box for some makes and models. Units and software for Ford, Chevrolet, as well as some foreign brands like Honda which have variable cam timing are all available.

In a weekend, with some spare parts, and an Arduino, the intrepid hacker can model their own MegaSquirt-like stand-alone engine management system (albeit very rudimentary).

I'd like to talk about this process, and some nuances that might be important along the way.

First things first. Any engine basically requires three things to operate:
  • Fuel
  • Fire
  • Air
Older engines utilized carburetors and distributors to manage these. Newer engines use an array of sensors, actuators and computers to do the same job.

Our Arduino, along with some peripherals, and a few junkyard items, can function just like a newer engine computer.

For the sake of simplicity, lets focus on two things:
  • Engine Speed / Crankshaft Orientation
  • Air Fuel Mixture
Knowing where the crankshaft and pistons are in relation to their speed is crucial in triggering injector pulsing and ignition firing.

Knowing your current AFR in relation to your desired AFR is crucial in determining injector pulse width and more intricate things such as spark advancement or retarding.

In a few more posts, I will discuss this topic in more depth, and go over some examples of a basic implementation with a small 4-stroke engine.

Stay tuned.

The application of this is left as an exercise to the reader, with the hint that one should look into simplistic mapping strategies such as Alpha-N for a solid starting place.

Wednesday, August 31, 2011

Vision Quest

The native Americans used to perform a rite of passage in which a boy would venture into the unknown for a period of time, to attune with the spirit world and afterward become an apprentice in the tribe. They called this a vision quest, and it usually involved some heavy food deprivation and mushroom induced hallucinations.

Fasting and shrooms in the wilderness; the natives knew what being a man was about, that's for sure.

While I'm not necessarily looking for placement as an apprentice in society, I do think I need some time to get back in touch with things.

The past few years, with emphasis on the last few months have really put me into a declining state of mind, and I'm not too keen on finding how deep the rabbit hole goes. I've seen several friends of mine figure it out first hand, and it always left me wondering how things got so bad.

I've decided, in a rather haphazardly manner, that a vision quest is in order. Perhaps with more food and less shrooms, but the idea is still firmly there.

Hopefully the complete disconnected nature of the situation will help move things in a more positive direction. I'm feeling, more lately than in the past, that this 100% connectivity to everyone and everything is collectively destroying just as much as it helps create.

I rather liked when I broke up with someone, being able to forget they exist. Instead I'm greeted with mobile photos of their most recent Friday night exploits.

Or the event of my bosses Facebook Chatting with me about jobs I need to get finished at work.

Details and rants aside, I'm taking a week away from the modern world to get back in sync with simpler things.