Injector tester (tiny project) - Page 1
Forum section: electronics / projects

author: omglol
author_rank: Regular Contributor
timestamp: June 22, 2015, 02:22:24 pm
content: Hello to all!I am trying to make automotive (gasoline) injector tester/driver. At the same time, I am actually trying to learn how to design PCBs, although my first project (3-phase inverter for induction motor) was quite more complicated.I am designing the whole thing around ITS724G driver and ATTiny24 MCU, because I already have them both. I am using 2 switches (turn ON/increase frequency and turn OFF/decrease frequency) and 2-color LED to indicate the state. I am especially confused about the LED (part number 150141RV73100), since I am not really sure how to read the datasheet and which resistors to use when running them at 5V. Anyway, can somebody check my wiring/layout and give an opinion? Many thanks!

author: omglol
author_rank: Regular Contributor
timestamp: June 22, 2015, 02:30:28 pm
content: I am sorry, I missed the section. Can somebody move this thread to Projects? Thanks.

author: BennVenn
author_rank: Regular Contributor
timestamp: June 22, 2015, 08:52:28 pm
content: Gasoline injectors come in two variants, High impedance and Low impedance and the driving currents/waveforms are different for them both. Your circuit will be ok for High Impedance injectors but running a low impedance injector will cook the injectors solenoid.Take a look for Low impedance injector driver IC's which will be able to drive a high imp type too. They are also called Peak-Hold drivers where a large current is delivered to rapidly switch the injector on then a lower current is applied to maintain its state.This can be done using PWM from your MCU but causes a great deal of electrical noise and requires current feedback.Also, for your MCU software you could think about algorithms that will determine the dead time + flow rate of the injector under test. Dead time is important when tuning an ECU as is flow rate, but flow rate is an indicator of how 'dirty' the injector is which may be more what you are after.Very cool project, commercial units are not readily available nor cheap. I'd be interested in buying a finished model off you if you are interested in making a small batch

author: omglol
author_rank: Regular Contributor
timestamp: June 22, 2015, 09:09:52 pm
content: Thanks for the info. I know about injector types (I run a car workshop), but this is just v0.1 alpha version, so I would just like to see *something* working.Moreover, in Europe, almost all cars have high impedance injector type.For beginning, I won't be looking at the flow rate via algorithm, but rather just use a few predetermined frequencies and then observe the difference in spray pattern and total sprayed quantity at the end of the test. This is how most of the usual gasoline testers work (diesel are completely another world ... much more complicated).Anyway, what about the design itself? Do I have any major flaws in it?

author: BennVenn
author_rank: Regular Contributor
timestamp: June 22, 2015, 10:37:31 pm
content: Your LED's from the data sheet suggest 30ma max current with a 2.4v forward voltage. Test conditions on the sheet are at 20ma so I'd aim for around about that current draw. 2.4volts from your 5v supply leaves you with 2.6volts, to flow 20ma at 2.6 volts you will need a 130 ohm current limiting resistor for each LED. Your 100ohm resistor on your schematic will pass 26ma, within the max rated for the LED but from memory the AVR can only source/sink around 20ma? Might need to look into that and size your resistor to keep it well under the limit.You might want to look at a bit more capacitance on the 12v supply, located very close to the driver IC. Current peaks will be quite high and large capacitance will help absorb some of the back EMF generated from the injector closing.Also think about some capacitance across the switches to help with de-bounce. A switch won't open and close cleanly and if you skip this in the design of the board, you'll need to do it via software. Both is best but software debounce is usually done with a delay loop monitoring the switch state. This adds some lag in the user interface.SW1 is tied to the reset line. I haven't used the ATtiny in quite some time but its larger brothers keep that line reserved to reset the device. If you disable the /Rst pin via its fuses you will not be able to re-program the device with an ISP programmer. Also, Why not add an ISP socket to the board? How are you planning the program it otherwise?And last, If you are not going to use a pin you should tie it to VCC/Gnd and not leave it floating. You could drive it high/low via software if you like too. Just something to keep in mind.Add a large ground plane to your PCB, its free and will make everything run a lot smoother. Also increase the track width of all current carrying traces - as large as is practical. You could even run the traces on both sides of the board and tie them together with via's.That is all I can think of. Oh and maybe a few mounting holes?As for the algorithm, it isn't too complicated. I usually run something like 4,000 pulses at 0.4ms, 2,000 pulses at 0.6ms, 1000 @ 1ms etc. plot that on a graph and you'll get both flow rate and dead time and the non-linearity region of the injector. All very useful stuff.Ben

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 23, 2015, 04:25:47 am
content: You can actually determine when a solenoid valve operates by monitoring the current.

author: omglol
author_rank: Regular Contributor
timestamp: June 23, 2015, 09:20:25 am
content: Thanks for the info.I never did deboucing by using capacitors, always just in software ... so - thanks, that is something I did not know. What value of capacitance should I choose for this?About programming - I will mount the MCU in a socket, and I will program it externally via my Batronix BX48 programmer.

author: omglol
author_rank: Regular Contributor
timestamp: June 23, 2015, 05:07:14 pm
content: Anybody?

author: BennVenn
author_rank: Regular Contributor
timestamp: June 23, 2015, 07:31:58 pm
content: I've always used 100nf in conjunction with the internal 10k pull-up. You could work out the time constant and look at the waveform on a scope to see if it will sufficiently dampen the noise. Or just go 100nf and you can always add some software debounce