® Version 2.2 Main Board Description
Megasquirt® Version 2.2 Main Board
The theme of the V2.2 main board changes (the previous MS version was the V1.01 main board) is two-fold - the first and most important was to implement circuit changes and modifications which we found useful from the vehicles currently running the MS V1.01 system (we are up to 42 known vehicles as of 5/24/02!). The second part of the "theme" is to make the board a little more flexible for DIY modifications, and the eventual addition of ignition.
If you are looking for the V3.0 main board details, start here.
It is very hard to implement every requested feature in any system. In addition, the whole philosophy of the MS system is to be on the extreme low-end of the EFI controller spectrum, capability-wise. MegaSquirt will run your car/boat/etc., and it will run it well. In addition, the system is simple enough for a person to fully grasp what is going on regarding engine fuel control, and simple enough to install and tune. However, the system will never be a complex system with tons of I/O, etc - there are other systems out there (like EFI332 and a plethora of other commercial offerings) which address this area.
Enough of an introduction - the following is a description of the V2.2 hardware changes/improvements:
Megasquirt® Version 2.2 Board Schematics in PDF Format
MegaSquirt® Version 2.2 PCB Layout in PDF format
MegaSquirt® Version 2.2 Bill Of Materials in PDF format
Modification to the tach input circuitry, including the John Zener diode, Wing diode, and Ed capacitor. Also, the wattage of R10 was increased to 1/2 watt. Usage of these new components are driven by end-application. It is recommended to install the Wing Diode for all setups. The John Zener is used for some specific ignition systems which do not pull the load all the way to ground potential - the application of this diode depends on installation (it is recommended to install a jumper in place of the John Zener for first ignition tests - if noise or lack of triggering is present then the diode should be installed). The Ed capacitor is used for stock Kettering ignition coil applications (points/condenser), other applications should omit this capacitor.
Diode D20 was added to prevent the destruction of the FET driver U7 in case of accidental power polarity reversal.
If you look on the "output" circuit page, you will notice a modification to the method of which flyback voltages transients generated by the injectors are "clamped". On the V1.01 boards, each driver had a diode which was back-biased directly across the injector. This diode position in the circuit worked well in clamping the kickback produced when the injector current is released, which protects the driver FET from overvoltage, as well as operating very cool during PWM current-limit mode, since the voltage drop is only 0.7 volts. However, this circuit configuration recycled the kickback current through the injector(s), which tends to lengthen the closing time - the amount of time depends on the number of injectors and their impedance, but the delay is in the tenths of milliseconds region. This was not a problem in most applications, because the injector close time was a constant value each time the injector cycled, and showed up as an offset which was simply tuned out when setting up the VE table.
However, there were a few installations where large injectors were employed, with the resulting idle pulse widths down in the 1.0 millisecond region. The problem here is with such a short pulse width, it is difficult to tune the idle due to both the resolution of the MS system (0.1 ms time) and the fact that short open times are dominated by fuel delivered during the opening time of the injector. So, for large injector setups with short idle pulse widths, the slower injector closing time imposed by the simple recirculation diode increased the magnitude of this effect.
So, a more conventional flyback diode placement was tried in the field, where a Zener diode is placed backwards around the driver FET. What occurs is when the injector closes, the flyback voltage builds until it exceeds the Zener diode breakdown voltage (around 36 volts or so) and then the excess voltage is conducted around the FET. This allows the injector to close faster than in the recirculating setup on the V1.01 board. And, the resulting faster closing time helps out those with short idle pulse widths.
Now, the wrinkle of this is that the MS utilizes a Pulse-Width Modulation (PWM) mode for current-limiting of low-impedance injector setups. When the PWM mode is activated, the resulting PWM waveform causes a flyback spike for each on-to-off current transition, which has to be clamped. So, the power dissipation requirements of the Zener diode is significant when the PWM mode is active. Trials indicated that even 5 watt Zener diodes do not survive long with certain injector setups.
To help with the power-dissipation issue, a transistor circuit was employed to sink the heat generated during the PWM current limit. The transistor Q1 (PNP) acts as a large Zener diode - the resistor from emitter to base keeps the transistor off until the voltage exceeds the breakdown rating of the Zener diode between the base and collector. This transistor (TO-220 package) is heat-sinked to the ground plane of the board, which provides plenty of power dissipation for any injector setup. So, the result is fast injector closing time and good power dissipation for flyback currents.
The source of a processor reset which plagued a few installations has been tracked down to the tach input triggering. The reset occurs most often for setups using a Kettering ignition setup - points, condenser, coil. What is occurring is when the ignition coil fires, the inductive kickback causes the reset. Remember that there is no clamping - voltages can spike very high on the primary. The V1.01 boards have the opto-isolator wired up such that the LED and the emitter is tied to the ground plane. In other words, the opto is not really isolating. So, the coil inductive kickback spike flows thru the LED and the power ground plane. For electronic ignition and regular tach signals, this is not a problem because there is clamping to keep the kickback voltage under control. But, for a condenser/points setup, the kick is not clamped, and can be large enough to cause a processor reset.
I verified this on the V1.01 board by lifting the LED cathode pin on the opto-coupler, and running a separate wire back to the engine block . Reset problem disappeared when wired this way. By doing this, the input circuitry is completely isolated, and the return point is the engine block. When I made the first MS unit for my setup, I had the opto wired up with a separate return ground for the LED. I later tied the opto to the ground plane in an effort to reduce the number of wires running back to the engine. Looks like an option was required.
What I have done with the V2 board is to allow the user the option at construction-time of either tying the LED cathode to the ground plane, or routing it out one of the DB-37 unused header pins to be run as a separate wire to engine ground. As indicated above, most setups can tie the cathode to the ground plane and be done, and they will not experience problems. But, if you require more noise immunity for your setup, and do not mind the extra wire to the engine block for a coil return ground, you can run it out the DB-37 connector.
On the CPU page, you will notice an addition of a header, JP1. This is the much-talked-about header which allows one to plug on another card for features such as ignition, etc. This header has +5V, ground, and the SPI channel communications lines to the processor (CLK, MOSI, MISO), and three empty, non-assigned pins which connect to jumper pads (more on this in a minute). The MS processor is configured as master (via the resistor R14 pulling up *SS to +5), so any card plugged onto the header needs to be in slave mode. Also, everyone grab your pencil and write this down: the board [x,y] position of the new header, pin #1, is [2.720, 2.360], where board origin is on the lower left of the board (near the LEDs) - you will need this if you plan on making your own add-on board.
Iit is impossible to accommodate everyone's wants and desires for I/O, so what I have done is set up the board such that the end-user can configure the board the way they want. Notice on the "CPU" page, there are the boxes X0 to X10 all over the place. These are jumper pad locations which terminate to a jumper hole on the PCB. These holes allow the end-user to wire up the board in any configuration using jumper wires. Ports X0 to X5 hook into the port A I/O on the processor - these are general-purpose I/O which have the added feature of interrupt capability and software-configured pull-up resistors. X6 and X7 hook into the spare ADC channels, X8, X9, and X10 come off of the new JP1 header for the CPU daughter card. On the "Connector" page, X11-X14 bring out unused DB-37 pins on the output connector. So, there is more than enough user-configured I/O to choke a horse! As time goes on, if a particular I/O setup emerges as being very popular, then the MS board may evolve to reflect this setup. And, for those who may inquire why I did not bring out all unused I/O pins on the processor, the reason was due to board layout - these were easy for me to accomplish without me having to change the whole board around. If you absolutely have to have every I/O port, then you should look at something like EFI332.
Bootloader entry is now handled by a two-pin header H1, instead of shorting a resistor.
I left the diodes D1 - D4 on the schematic, even though they are not needed. I will indicate on the new BOM that these are there for those who do not believe that the processor's internal reverse-diodes provide enough protection. Once again, the end-user gets to make the choice. The recommendation is not to install the diodes (do not jumper the unused diode positions - just leave open).
The output FETs have been changed to the insulated plastic-variety IRFIZ34N, which eliminates the mica insulating setup during assembly. Long-term bench testing (several hours) with a 1.5 ohm injector load at 8000 RPM and 100 MAP resulted in no detectable heat from the FET driver stage, and this was with no PWM current limiting! Since no driver modifications were required to support the IRFIZ34 FETs, the original IRFZ34N devices can also be used without any additional changes.
© 2003, 2008 Bowling and Grippo. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks.