Skip to content

Jehanzeb1973/Ardu_ECU

Repository files navigation

Ardu_ECU- Arduino based ECU for model Jet Engines

Easy to build and use Engine Control Unit (ECU) for model Jet engines :

  • Based on Arduino code and running on ESP32 based hardware
  • ECU configuration using a simpe web browser
  • Engine operating parameters displayed using a web browser interface
  • Use off the shelf components for electronics e.g. Brushed or brushless Speed controller for starter motor and fuel pump control MOSFET module for gas valve solenoid control Glow plug driver module for providing power to glow plug.

Table of Contents

  1. About the Project
  2. Project Status
  3. Project Videos
  4. Getting Started
    1. Dependencies
    2. Building
    3. Installation
    4. Usage
  5. Release Process
    1. Versioning
    2. How to Get Help
  6. Contributing
  7. License
  8. Authors
  9. Acknowledgments

About the Project

  • Initial testing done on J66 model jet engine only
  • Currently uses only two parameters from engine 1- Exhaust Gas Temperature and 2- Engine RPM
  • EGT is measured using a K-type Thermocouple
  • Engine RPM is measured using a magnet in spinner nut and a hall sensor to detect engine RPM

Back to top

Project Status

Although based on Arduino framework, current Arduino code uses some libraries which are specific to ESP32 and will not readily compile for other platforms.

Release Version:

  • Current ECU release version is Rev 11. This version has been tested with gas start engine and is working fine with no known issues.

Test Version:

  • Current test version is ECU Rev12TC10. This version uses different pinouts due to more sensors. This is still under test with not all code fully tested. Being released for community to test and release.

New Features include:

  • Kero Start --Tested and working
  • Ability to save and load configuration files -- Tested and working
  • Realtime Serial data logging -- Tested and working
  • Ability to read pressure sensor --Tested and working
  • Ability to read load cell --Tested but has errors
  • New starting methods included are open loop throttle start and pressure sensor start --not tested

Back to top

Project Videos

Dependencies

  • #include <soc/pcnt_struct.h>
  • #include <driver/pcnt.h>
  • #include <Wire.h>
  • #include <U8g2lib.h>
  • #include <Preferences.h>
  • #include "RunningAverage.h"
  • #include <FS.h>
  • #include <SPI.h>
  • #include <SD.h>
  • #include <MAX31855.h>//url = https://github.com/enjoyneering/MAX31855
  • #include <ESP32Servo.h>
  • #include <EasyButton.h>
  • #include <AsyncTCP.h>
  • #include <ESPAsyncWebServer.h>
  • #include <DNSServer.h>
  • #include <WiFi.h>
  • #include <ArduinoJson.h>

Getting the Source

ECU-Rev11 is the latest firmware

Installation

Upload to ESP32 Devkit V1 using Arduino IDE

Usage

Each release will refer to hardware and software configuration for usage. Current code is compiled on Arduino 1.8.19 and is running on ESP32 Devkit V1. The electronic schemetic is included in repository

Back to top

Release Process

Release will require testing on an actual engine. Test conditions and results are to be shared with the release version

Versioning

We are using whole number versioning. We will not do a major or minor release Current Release is Rev 11

ECU Rev 10 Notes

Added a slider control on Page1 to switch off WebServer. This is helpful in actual flying jets as you dont want a transmitter next to your RC receiver. Only WiFi is switched off, other functiond work as normal Software corrections-DynamicJsonDoc moved from global to local- Removed OLED Displays, Updated Page 4 for battery voltage and maxLoopTime- Added Page 6 to track engine and ECU lifetime usage

Back to top

ECU Rev 11 Notes

  • Major hardware redesign
  • Changed Pin assignments and added 4 wire SD card capability
  • SD Card functions running on Core 0 while Main loop is running on Core 1.
  • Changed data range to 0-1000
  • At each power up two files are written to SD Card. ** 1) Settings file with all the settings at power up and ** 2) Data file with engine operating data from power up till the ECU is powered off
  • Added sd loop time and data file name info on Page 5.
  • Added buttons on page 5 to reset error,manage files and change ECU modes.
  • Added page 7 to be able to download and delete data files
  • Added Fuel Solenoid capability. Added Two LED's to Show WiFi State and SD Recording state.SD card pinout as below http://3.bp.blogspot.com/_8JZhVVmpICU/TH_Pxa19MHI/AAAAAAAAApg/pgSppwx0gY8/s1600/SD+card+pinout.jpg
  • Added ability to change ECU Webserver WiFi SSID and Password on page 2
  • Added option for Magnetic (1 Pulse per revolution) or Optical (2 pulses per revolution) RPM sensor
  • Implemented tempGradient check to limit sharp rise in exhaust temperature (tempGrad and maxTempGrad variables)
  • Implemented lookahead for temperature and stop increasing fuel flow if exhaust temp will increase above maxTemp in 3 sec (tempGrad x 3)

Back to top

Contact Us

For any help, suggestions, proposals you can send me an email at jehanzeb@digipak.org

Contributing

All contributions are welcome. If you want to share your version on this repository or share a link to your version, we will be glad to do so. We have limited resources to review other peoples work so any contribution will be taken as is and not reviewed.

Back to top

License

Copyright (c) 2022 Jehanzeb Khan

This project is licensed under the GNU AGPLv3 License - see LICENSE.md file for details.

Back to top

Authors

Back to top

Acknowledgments

Back to top

About

Arduino Based ECU for mini Jet engines

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published