First question, do I need to have the opto if I have a MOSFET driver? I figure it is good because I can isolate my uP circuit completely. Otherwise, I'd need the uP grounded to the car battery (bad short circuits...).
For inversion, I am pretty sure I want inversion because optos invert (I think). Does this mean I have to "flip" my opto so the PWM input goes in the collector and the emitter is grounded? On the DigiKey page, it says that it is inverting and "low-side." Can you see the next circuit I draw to check it again? I calculated the LED resistor to be 21 Ohms. (3.3-1.6)/100 = 21. What should the pull-down resistor value be? 20k is what I've seen with Arduino-style applications. I will go with that for now.
Thanks for the link, by the way. That was actually really interesting. Now, I'm considering throwing in an EGR, if I can get a good O2 sensor to help manage fuel control. I might even consider the amount of bypass for the EGR as a means of throttle. Of course, that would mean I'd have to modify my piston head, but I have no problem with that. I have a few extras lying around. My engine will be a combination of GDI, Valvetronic, Miller, Lean Burn (only 15:1 AFR), and IDE (I place the two spark plugs near the injector). This is actually a project for my high school's Supermileage Team. We compete with other high schools for the highest fuel economy. I am retrofitting a 3.5 HP Briggs & Stratton L-Head engine to have OHV, fuel injection, and spark control. I'll be playing around with it as soon as I get it built so that I can actually mess with things like spark timing.
What do you think is better for direct inject, to inject right after the intake closes, or to inject so that there is about .5ms between the end of the injection and the spark ignition? I programmed the uP for the former, but I could re-write the code for the latter easily enough. Also, I am adding a powered intercooler (running off of Peltier coolers coupled to thermocouples running off the engine waste heat) to the air intake instead of pre-injection because of how hard that would be to program. What about fuel heating though? I have heard of teams doing it, so it might help. I'm not sure.
Finally, this is a little esoteric but what about regulating fuel pressure using another MOSFET with PWM (like everything else I guess). The Gnd line from the fuel pump would be regulated to provide the right amount of fuel for a given pulse width. For example, the pulsewidth would be a constant 1.7ms (or something of that nature). Because 1ms is used in opening the injector- and it's assumed that no fuel is injected in that time- 0.7ms is active injection time. Then, by varying the fuel pressure, the amount of fuel being injected is regulated. This eliminates problems with timing the fuel injector to the Hall sensor (and synchronizing it with the valves and spark). Maybe, if I do a LOT of math, I could find a way to use all throttling methods, except a throttle plate, at once. Anyway, let me know what you think. Thanks!