Raspberry Pi Learns how to Control a Combustion Engine

For his PhD at the University of Michigan, [Adam] designed a Raspberry Pi-based system that controls an HCCI engine, a type of engine which combines the merits of both diesel and gasoline engines. These engines exhibit near-chaotic behavior and are very challenging to model, so he developed a machine learning algorithm on a Raspberry Pi that adaptively learns how to control the engine.

[Adam]’s algorithm needs real-time readings of cylinder pressures and the crankshaft angle to run. To measure this data on a Raspberry Pi, [Adam] designed a daughterboard that takes readings from pressure sensors in each cylinder and measures the crankshaft angle with an encoder. The Pi is also equipped with a CAN transceiver that communicates with a low-level engine control unit.

RasPi HCCI Engine Control[Adam]’s algorithm calculates engine control parameters in real-time on the Pi based on the pressure readings and crankshaft position. The control values are sent over CAN to the low-level engine controller. The Pi monitors changes in the engine’s performance with the new values, and makes changes to its control values to optimize the combustion cycle as the engine runs. The Pi also serves up a webpage with graphs of the crankshaft position and cylinder pressure that update in real-time to give some user feedback.

For all the juicy details, take a look at [Adam]’s paper we linked above. For a more visual breakdown, check out the video after the break where [Adam] walks you through his setup and the awesome lab he gets to work in.

Continue reading “Raspberry Pi Learns how to Control a Combustion Engine”

EVIC engine


The EVIC is a computer controlled internal combustion engine, utilizing a cam less solenoid actuated valve system. In addition to intake and exhaust valve control, the processor also handles ignition timing. With dynamic valve timing, it is possible to make an engine more efficient. Where a classic combustion engine would wastefully burn fuel, the EVIC can skip power cycles which are not needed. By increasing the valve duration, the CPU enables easy starting. The latest is the EVIC Mk3 which adds an exhaust valve sensor, and 3:1 solenoid leverage. There is a photo gallery with several EVIC engines. The Mk2 Twin is demonstrated in the video embedded below.

Continue reading “EVIC engine”