I have a GM Ecotec LAF engine but no ECU and I want to make an ECU out of an arduino uno. I just need to control the 4 spark coils based on the crankshaft and camshaft sensor.
I don’t know, but you probably will end an order of magnitude faster than an AVR class cpu.
Memory might be an issue as cell with the uno (calibration values, etc.)
Idk either but speeduino exists and im not sure what all it does but im looking to do this for free and all I have is a uno.
No! I do not feel you have the electronics background to be successful with this endeavor.
I highly recommend you spend some time with the following so you know what you are getting into.
Here is some information you should read.
Valuable Resources for Automotive Electronics:
- STMicroelectronics Application Note AN2689:
This application note provides guidelines on protecting automotive electronics from electrical hazards, focusing on design and component selection. Reading this will greatly enhance your understanding of automotive circuit protection.
Read AN2689 - Analog Devices: Automotive Electronics Design:
This article distills key insights into designing automotive electronics, offering practical advice for engineers.
Read the article - Diodes Incorporated: Transient Voltage Suppression in Automotive:
Learn about techniques to protect automotive circuits from transient voltage, which is critical for ensuring reliable operation in harsh conditions.
Read the article - AEC-100 Standards Webinar:
This webinar from Monolithic Power Systems provides a detailed overview of AEC standards, essential for understanding automotive electronics requirements.
Watch the webinar - Understanding Automotive Electronics, An Engineering Perspective by William B. Ribbens:
This comprehensive book offers an in-depth look into automotive electronics from an engineering perspective, making it an invaluable resource.
Access the book - Check this for OBD ISO9141 Code Meaning & How To Fix
Being an Arduino rookie I would initially agree with those telling you making it into an ECU might be a bad idea. I don't have enough knowledge on the Arduino boards to talk about performance, but one think That wasn't addressed yet (and a big problem for car electronics) is vibration, and the Arduino boards just aren't made to deal with it.
If you are looking for a good alternative to OEM ECUs I would recommend you look into Megasquirt. It's a generic ECU built for educational purposes, and very popular among car enthusiasts.
I second that suggestion.
Most of the ECU's get potted and I can't see a Arduino being very happy with that setup.
I guess I should clarify that im electronics engineer and have been working with arduinos for a long time despite not being very good at writing code for them. I know very well how to set up the hardware and the engine im using is modern and all of its inputs and outputs already run on a 5v system and have built in protection. My issue is reading the weird cam sensors that have a unique waveform and figuring out the relation between crank and cam and when to fire. Im not a programmer and chat gpt cant write code to save its life so I was wondering if anyone has already written code to do this or if someone can look up the waveform for that engine and figure out when to fire the coils and write code to make it run.
And for now the arduino is being powered by my laptop but in the final build it will have a regulated 5v supply coming off of keyed ignition. I have a small arduino to control the cooling fans in my truck set up this way because I converted it to electric fans. It works extremely well. I do hardware not software.
Aftermarket ones are extremely expensive and I have no money. Also vibration wont be an issue because the engine isnt in a car anymore. Its going to be used for other projects and ,once finalised, will be covered in foam in a water resistant box. My only concern about performance is i dont think a uno will be able to read and write fast enough to meet 7000 rpm.
Maybe this link could help you. It's in Portuguese, but using closed captions, you should be able to understand it easily.
Cheers.
/000 rpm on a 4 cylinder are 234 sparks per second. I'm just learning the Arduino, but that doesn't sound like it's gonna have a hard time getting to that speed.
Are you gonna make it a lost spark system?
No each coil will be connected to its own digital pin and I will have both intake and exhaust cam sensors and the crank sensor because I tried a waste fire system with just a crank sensor and it ended up firing a coil when the intake valve was open and it exploded the plastic intake. Thats why I need code to read the relation between the crank and cam sensors to do each coil.
If it will upload, here's a pic of a waveform from this engine. Top line is
Crank sensor, next is intake cam, then exhaust cam, then i think injector pulse but it doesnt really line up with the crank signal so im not sure on that one. Either way I have no idea how to put that into arduino code and read all those sensors and tell when to fire a spark on each cylinder.
Hint: The coil will not spark until its input is turned off. You will have to take into account the time needed to 'charge' the coil.
I believe the dwell is 4.5 ms for these coils but since they're smart coils I cant remember is high is spark or low is spark. These coils have a 12v keyed ignition and a 5v control pin with separate 12v ground and 5v low reference. I can make the coils spark easily the issue is timing it with the cam and crank signals.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
