Hello guys!
Recently i had this idea on my mind that i should make a car ECU with Arduino Uno. What i wanted to achieve was to be able to control exact ignition timing and also to be able to control exact injector open time. Lets say i got a marking on a flywheel, which is sensed by a Hall sensor. It gives me the exact position and rpm of the crankshaft, the problem is that precision of the ignition i want to achieve is like 1/10th of a degree. By doing simple math we can tell how fast i need arduino to be which is ( 7000revs/min(max engine speed) * 360deg(flywheel is a wheel and wheel has 360degrees) ) / 60sec(minute has 60 seconds) * 10(because i want the resolution 1/10th of a degree) which is 420000 1/10th of degree every second. And i thinks thats like too much for arudino to handle. Basically what i want to do, is for example: after Hall sensor senses the point on flywheel - wait the time that flywheel needs to rotate 172.5degrees, and at that exact time produce a spark at the sparkplug. Second thing is after Hall sensor senses the point on flywheel - wait the time that flywheel needs to rotate 160degrees then open injector for exactly 0.8milisecond and close it. The question is - can Arduino handle this kind of speeds(420000 complex operations per second)? I got 2 separate Uno's so like i can make 1 controll ignition and the other one control injection. Or maybe i am thinking about it in the wrong way.
Sorry for my super bad english, i hope you got what i meant.
And also thanks for help.