Saab 900 SPG/T16S with Megasquirt

Megasquirt MS1 install on a Saab C900 


 If you are looking for a HowTo install MS as ignition control, it is here

The rest of this site is my notebook of changes and is probably useless to anyone but me.

Background: early 2005 

Ignition:

I decided to go with crank triggered ignition. EDIS requires a VR sensor and a wheel with 36-1 teeth. There is very little room on the front pulley, but a B202/B212 with crank triggered ignition has a hall sensor and a shutter wheel which is nicely packaged behind the harmonic balancer. Current plans are to create a special shutter wheel and use the standard hall crank sensor and wire this up to the EDIS to get spark. This is not as electrically clean as using a VR sensor, but it should work. It complicates things because EDIS is basically ‘stand alone’ and will run with 12V and ground and give 10 BTDC all day long. The hall sensor requires a voltage source and that we shift its output voltage to make it swing +/- for the EDIS unit. The hall sensor will give a square wave from 0 to the rail voltage. The EDIS needs the falling zero crossing to trigger. This is easily done with a resistor network on the VR negative line to make it appear that the waveform is +/-.

Other options:

Flywheel Triggering: a series of teeth could be machined in the flywheel and the ford VR sensor could be mounted to read this. It could be dowel pins as well.

Pulley Triggering: Machine a disc with a series of slots, mount this to the back side of the harmonic balancer and make a sensor to read this disc. This is the simplest from a manufacturing perspective, but I still have not worked out all the geometry to make this work. There may also be a way to get a VR sensor in there to read these, but I need to see what I can work out.

I did breadboard the EDIS for the Saab in '05/06, but decided to use generic wheel instead. It should work with a custom trigger wheel and an EZK hall sensor. If anyone is interested in making this happen, contact me on the msextra.com site. I'd love to lend a hand. Since I made a 36-1 pattern on the back of a flywheel and made a second cam sensor, I really do not need to do this.

As an addendum, I ended up going through dizzy triggered ignition, to wasted spark with MSnS-E 'generic wheel decoder', to dual wheel sequential spark with a DI cassette, finally.

Fuel:

Basically a straight forward setup. All the hardware is present in the C900. My goal is to use the OE LH housing, place the MS board in it and make a pigtail to connect the DB37 of the MS to the pins on the LH unit. It has been done before and will make for a tidy installation.

MS requires the stock sensors minus the Air mass meter plus an intake air temp sensor which needs to be fitted in the intake elbow near the throttle. This will require an aluminum bung to be welded and tapped in the intake elbow. If anyone here does this as well, make sure to mount the IAT as close to the intercooler as possible so that it does not suffer from radiator wash heating it up. Also, due to the stock placement of the intercooler, it would really benefit from a puller fan on it to keep intake temps down in the summer. I have not yet done this, but am thinking about it and having MS control the fan.

The IAT I selected was used on ‘90-’95 Saab 9000 turbos and has the proper plug to mate to the LH 2.4 harness (the EGR temp sensor plug will be used)

IAT Part number 88 59 886

Also, a throttle positions sensor, which is a potentiometer, is required. Luckily, there are a few Bosch parts that will just plug in.

The throttle potentiometer is from ‘91-’93 C900 S and Base model cars with the B212 engine as well as on 91-95 9000s will work nicely.

TPS part number 88 57 195.

The MS unit has the MAP sensor internal to it, and will require a tee to connect to the boost gage hose. This is done iunder the dash. 

Idle Speed control: I will be using the existing 2 wire LH 2.4 AIC and driving it from the MS. I’ll be using the Closed loop idle and warmup functions.

The injectors, coolant sensor, o2 sensor, relays, etc. are already wired in and working. I’ll just use the existing wiring.

The hope is to be running on this in late May 2005

 

2005, 24 April

OK, I have been running the MS on the stim and have received a reasonable msq file for my engine. I have spent some more time planning, as I still do not have a trigger wheel. My plan is to eventually mount the MS board in the original LH box and re-use most of the engine harness. As it is, I can use a lot, but still need to add a shielded pair for the PIP and SAW of the EDIS module.

Current Megatune Config (msq)

Current VE Table (vex)

DI88 Advance table (vex)

Current Spark Table (vex)

LH 2.4 Wiring Diagram

Megasquirt Diagram

 

Pigtail Wiring table

Megasquirt pin (DB37)

Function

Bosch LH 2.4 pin

20

IAT (on the EGR Temp plug)

23

21

CLT

13

22

TPS signal

3

23

O2 sensor

24

26

TPS (5V reference)

2

28

12V Supply

35

                        7 

                  Ground

                       17

30

AIC

33

32

Injectors

18

37

Fuel Pump Relay

20

37

Main Relay

21

 

EDIS wiring

The EDIS has a clean tach output signal (pin 11 on the 4cyl version I am using – CTO). I’ll keep this circuit separate from the engine management, since it is there. I’ll run a wire to the original ignition module harness plug (pin 7) which triggers the tach signal on the dash. Originally, this was also run to the LH unit (pin 1) for a tach signal, but I will not connect these 2 at the MS pigtail since the EDIS requires a shielded cable and the PIP and SAW are needed at the MS. I need to get the PIP (EDIS pin 1) and SAW (EDIS pin 3) to the MS unit (pins 24 and 25) and these need to be shielded. These will be 2 single plugs running out of the LH enclosure. This is suggested so that the ‘stand alone’ EDIS unit can be evaluated without interference from the MS trying to impose a spark table. To do this you need to be able to unplug the SAW signal line.

EDIS mounting

I’ll make a bracket that allows me to mount the coil pack from the 2 bolts on either side of the plug valley that hold down the valve cover. The EDIS module may be mounted on the upper cross member near where the coil is currently. I am also considering mounting it where the current ignition amplifier is to keep it cooler. On the Ford products, it was mounted on the fender, so this may be a better idea, though the wiring is a bit longer. I do not want to mount it by the exhaust if possible.

EDIS trigger

I decided to do the flywheel. There is a hole in the rear plate on the engine directly under the throttle body and 2 screw holes on the block. I made a first example.

 

bolted up, used a Saab C900 ABS sensor and it seems to work just fine at cranking, but with only 3 degrees advanced. I need to move the sensor. The second iteration of this flywheel was made with a 0.25" ball end mill to keep the stresses down.

2005, May 10 Weekend Soldering/Wrenching

Am now running on MSnS-E 024s9 with PWM idle, no spark yet. Two issues that were a bit difficult to figure out. 1) the power relays. I wanted to use the existing harness and not cut it up.  LH 2.4 has 2 relays both triggered from the LH ecu. MS  requires that the main relay be controlled by the power switch. Every time I powered it up, and shut it down, the fuel pump continued to run. In diagnosing this problem, I ended up with a full #1 cyl (2X) and a full intake manifold. full of fuel. The mosfet driver (for the injectors) shorted causing the injectors to be on continuously. With this and the fuel pump running, I had a dangerous situation. Luckily nothing happened other than a lot of 93 octane on the floor. 

Basically, the main relay (LH pin 21) allowed a sneak path to power up the MS power supply. About 7V appeared here with the path being through the main relay contacts and the main relay coil. On the MS board, D7 allowed this path to +12 and the power supply.My solution was to let the relays dump their spike into the trap for the injectors. I pulled D7 left leg and soldered it to the R32 lower leg. 

The other problem was the PWMidle control. MSnS-E outlines the setup of an idle control circuit for a Ford valve. I initially thought that the Bosch valve needed an inverted signal, but it was mainly that the setup did not deliver enough current to drive the IAC solenoid. It is a 2 wire solenoid on LH 2.4 cars and not a 3 wire rotary motor like on many. Simple to wire up, but difficult to get it initially set up. It needs more current. The IAC coil is 8 ohm and the ZTX650 is a 1A transistor. It needs to be bigger. I am using a 7A mosfet and it works. 3A NPN TO220 would work, but I would be happier with a 5A part. All the settings are around 50% DC. 

Oh, yes, you need to disconnect and cap the ELCD (charcoal cannister ) vacuum line. I am working on a drive circuit for this as well as an A/C relay control, but those are still in development.

It is running and I am tuning it to get the performance to meet or exceed the OE Bosch LH system.


 you can see here that I 'stretched' the EGR temp sensor cable and welded a bung on the elbow for the IAT.


This is a simple Al bracket to hold a LH 2.4.1/2.4.2 TPS. issue is that the cable hits the IAC hose. A 2.l tb would be a better solution.

2005, June 27

I have been running since May 8 on fuel and trying to get the map tuned in. Basically, I have been struggling with PWM idle more than anything. It needs some 'mods' to play nice with the 2 wire Bosch AIC. It does not like 1% resolution of duty cycle. at 0.5% it will regulate reasonably well, but at 1% it hunts around. To get that with MSnS-E, you need to slow down the clock to 50 Hz from 100 and double the duty cycle values you put in there. I am happy where it is right now... but then I recharged the A/C...

To use A/C with this you need to pull a pin from a plug in the RHS fender. It is a blue wire on pin 4 one one of those 6 pin plug packs. This is the wire that connects the A/C relay to the old TP Switch. We are using this wire for the new throttle pot and with this hooked up, the MS gets 5V on the wiper of the pot and it goes to WOT. With this pin pulled, it works normally, it just is that the kickup and restore idle values need to be adjusted, so it has trouble.

2005, July 1

I messed around with spark on Sunday and a bit more on Monday night. I finally got it going, but with a little help... I am a single man shop and could not do all the checks by myself and guessed at the polarity of the hall sensor and initially used Schematic 1. Well, that was wrong... I got it running with that, but then switched to a variation of schematic 2 and it seems to work properly. I still have not checked to see if the stock ignition module has dwell control or not, so I am running dwell control in 025e. Maybe today at lunch I'll check it with a scope. I put a 1k pullup resistor on my spark output (Led17) like it says in the edis documentation. This is not mentioned in the  MSnS docs. It may or may not be necessary. It is probably taken care of in the ignition module. To get the hall signal, I cut the lead to pin 6 on my module. It is a brown wire. I fed the side from the hall to pin 24 on the MS and then fed pin 25 (led 17 output) to pin 6. I used a shielded cable for this with shield ground taken care of back at the MS. The circuit mod is a bit different than on the MSnS site. I pulled the non-band  end of D5 up off the board and connected it to 12V through a 1k resistor. I replaced R10 with a 1k resistor and made a jumper from the hole that D5 non band end went into to XG1. This is almost the same, electrically, as schematic 2, but I take care of the 12V source internal to the MS and only require an IN and an OUT to the MS.  Twist the distributor a bit more clockwise and set the trigger to 40 degrees and a static advance of 20 and verify that it reads 20 deg advance with a timing light. Twist the dizzy until it reads 20 deg. Then type in -10 to make it run off the map. The map here is from the Saab DI-88. It is very conservative. I am running 21 at idle 9 at full boost. Oh yeah, I am now on 025e at this point.

2005, July 4

Finally got around to checking for dwell control on the ignition module. It does not have dwell control capability. Not a problem, as the later code MSnS-E does. I switched it on and used a 6.2 ms crank dwell 3.5 ms running dwell and 0.5 ms discharge. Seems to work but all 16V C900s have dwell control modules (139 type). The i16 C900s and some 9ks have 124 style modules which are dumb and need MS to control dwell. I tried different trigger settings and the best one seems to be 40 deg. Also the only way I can get it to start is with time based crank timing. Trigger return will not wiork unless your trigger is far enough ahead of your return such that the return is 10-20 dbtdc. In the case of the Bosch dizzy here, if the trigger is 40 and the return happens 40 deg later (as it was measured), you are at tdc for cranking and it will be VERY hard to start. If your trigger is at 60 and 40 deg later you have your return, crank timing would be at 20 dbtdc which works very nicely.

2005, July 20

Damn, it has been a while. I have refined the advance table and just installed a LC-1 WB02. Wow! what a difference. You can tune for a lean cruise and see what is going on. You can also refine the boost so that it has appropriate AFR under boost. Highly recommended. I got mine from DIYAutotune.com. MS Tweak works VERY well to get it near stoich. Especially after many iterations of tuning. you can really hone in on it. The problem is that you iterate around and modify some bins that allow a mod of others and it takes a while. I got more done tonight in an hour than in a month! and that was driving, logging, reading the log and modding the table and driving again. I really wish I had a co-pilot. It'd be even faster. anyway, I have updated the VE bin and spark bin. The spark bin really helps it accelerate into boost. It does not have that dead spot anymore. MS really has a nice roll-on now and is very smooth compared to LH.  Oh yeah, I have been working on idle control a lot lately. I still stand by the notation that the Bosch 2 wire AIC needs at least 0.5 DC to regulate idle. In addition, I have re-written the idle code to be seeded. It used to require a static value to kick it up into the range above 700 rpm to regulate idle. Now, it looks at the last idleDC value and adds a couple to it to act as a dashpot. Kickup (if it drops below 700 rpm) is a calculated value based on MAT and a minumum DC. It works reasonably well, but I think a PD control would be even tighter. I just need some quality time to code it. as it is this works. I havenot posted it here, but it is on the MSEFI  site under new idle code based on 025e. Let me know if you like it.

2005, Aug 22

Need bigger injectors... I did the 'option 2' APC mod (http://www.900aero.com/ -Tech -Version 2) Now I have more boost than fuel. I will be getting a set of 35lb injectors to cure that. I am running AFR targets. Pretty responsive. A couple of things I noted. 1) It would be helpful to have the TPS leads in a shielded cable and grounded back at the MS. I have not yet done this, but it would be helpful, I think, for some odd noise I am getting on occasion.  Not a crucial deal, just a good idea. 

The next steps are boost control and EDIS.  I do not know when I'll get to them, but I'll probably have EDIS before boost control... We'll see. As it is,  I am very happy with the performance, roll on throttle, fuel mileage, etc. Still trying to get an acceptable PWM idle control with A/C, but that is a minor consideration. I hope to have something coded in a month or so, but we will see. As it is, I have been trying to maintain my idle code separately from the official code tree...

2005, Nov 1

I did a further distributor mod to improve startup. I was using time based cranking advance and it took a few extra cranks to get started. I then messed around with trigger return. Once I figured out what that was, I knew I had to further advance my spark trigger from 40 (which gave 0 deg crank advance with trigger return) to 55-60 deg. The only way I could do that and still have the rotor pointing to a tower when the plug fired was to rotate the hall sensor clockwise a bit more than where it sits when connected to the vacuum/boost capsule. To do this, I needed to make some sort of bracket to hold it there and not have it loose. I built a bracket from an old dashpot, but did not like it. It looked too crude. I then made a loop of 0.025" dia lockwire. The loop goes once around the pin on the plate that the hall sensor is fastened to. The ends of the wire are then looped around the screws that used to hold on the vacuum/boost capsule and then the screws are tightened and a piece of black tape covers the hole. With the sensor plate rotated against its stop, I was able to get a 60 deg trigger and then my cranking advance becomes ~20 which allows for a pretty snappy crank.


I have the Trionic injectors now. With a 2.8 bar regulator they give me a Req fuel of 8.8. They are rated at 34.2 lb/hr with a 3 bar regulator, best I can tell. Idle is smoother. I did have to adjust a lot of values, though: acceleration, crank, warmup and afterstart. I had it reasonable after a Saturday. Then I got stranded for a warm start because I had set my warm crank (no afterstart warmup because it was >120 deg F...) too low and it would not catch.


 oh yes, I decided to remove the AMM that I was no longer using. I took a dead AMM and removed the guts, made a plate for the top and screwed it on with the original gasket. I ground off the alignment pin to install it upside down so that you do not see the 'modification'. I had the AMM still installed just in case MS left me stranded. When I put in the Trionic injectors, it would no longer run with LH, so I decided to take it off.

Current idle code: Ubipa was nice enough to let me run his idle code. He developed it for a different valve and I have finally had time to mess with the code for this Bosch 2 wire valve. His code does some really nice things such as gently fade to dashpot and back down. This seems to enhance idle stability because it is less prone to stall. Once I am happy that it is stable and tunable, I'll post it here and at MSEFI. Stay tuned!

Fuel info

This is the map (approx) that I was running with the trionic injectors. It is a lot different than what I was running before. This is an interrim map and the current map is listed above.

The map was generated with this AFR target and VexMe. Apparently, MT can autotune a map to AFR targets, but I have not yet been able to figure that out. My goal with this target map was to approximate 12:1 along the WOT load line. I had to add more fuel at peak torque to keep it from pinging (10.5:1). I get decent highway mileage (30+ US MPG), but around town it is a bit thirsty (22). I think a bit more spark and fuel tuning and I'll pick that back up a bit. We shall see.

2006, April 25

A lot of development has happened. I put on a new clutch in Dec and installed the second flywheel I machined. It has a 36-1 pattern machined in the back side. Next, I made a bracket to 'read' this tooth pattern with a hall sensor. Now, most wheels are read with a VR sensor, but my V2.2 board does not have a VR signal conditioner on it. I remembered using these for reading indy car wheel speeds and they seemed to have plenty of bandwidth and are relatively cheap. I got mine from DigiKey. It works great!

Hall Sensor

Initially, MS was driving the Bosch dwell control ignition module with generic wheel and one spark output, but then I switched to a VB921 to drive the single coil to great effect. I noticed I had much better spark energy especially at high boost (>180kpa). I then went to wasted spark and wired up 2 VB921 outputs to drive an EDIS coilpack. This worked, but initially, it was so noisy with the non resistor plugs. So much so that it would not even idle and MS kept resetting. I switched to resistor plugs (BCPR7ES) and it idled. It still had some more noise than with the single coil, though. I did not like how the install looked or fit (I actually dented the hood from the inside slightly during a hard accel) and eventually added a cam sensor and bolted a DI cassette on. Much cleaner install and plenty of spark energy. It was a struggle at first to get timing right. I also had to modify all the spark outputs to drive this as the 2n2222s were not turning on hard enough and I had a 2V value instead of a 0V. I pulled the 330 ohm resistors on the micro pins to allow the DI cassertte to pull up these to 12V now have a good solid 12V - 0V pulse train on all 4 outputs. To run the cassette properly required a simple code change that James helped me with. I will work with him to have this as a simple setting in the dwell portion of the MT setup. (this has been added to MS2/E) If you need it, look here:

Dwell change to drive DI cassette

Upon building my second MS unit for this car, I realized that I never changed my hall effect input from 'inverting' inverting hall input that I needed to drive my Bosch module. With this input arrangement, the dwell code change is necessary. With a noninverting hall input or a VR sensor, it may not be a problem. I have not tried it.

This is my simple 1 per rev cam sensor:

Cam Sensor Drawing

It has an aluminum cap retained by a couple set screws on the end of the cam shaft. In the face of this cap is a neodymium magnet I had around (3/16" dia 1/8" thick). The magnet is placed in a shallow pocket on the face of the cap and is retained with epoxy and having using a punch to swage the aluminum onto the magnet. The plug has a slot machined in its face to allow the sensor to be flush with the face of the plug. It is a US5881 Mylexis hall sensor. Make sure to get the high temp variety. Alignment is pretty simple. Make sure that the S pole of the magnet is towards the sensor and the sensor face is towards the magnet. Try this out on the bench with a DMM to make sure that the orientation is correct. It just needs to sense once in the second crank rotation after #1 fires. It is either correct or 180 deg out. Both sensors are powered by 12V, the same 12V that powers up the MS. I fed them out on the old AMM plug wires after I robbed a mating plug from a dead AMM. The second sensor is only needed if you want COP operation of the DI cassette. From what I read, all you need to do is assure that the capacitor charges between uses. For wasted spark operation, you can probably run 0.9ms, for COP it is 1.6ms after spark 'dwell'. Contact me on msextra is this is not clear. Currently, MS2/E supports this 'time after spark'. MS1/E can be easily modified to deal with it. HiRes MS1/E already has the lines of code in the asm file and needs a minor comment/uncomment edit.

The schematic is here:

Second sensor schematic

I built this on a daughter card that I slid into the top half of my MS. Also on the board is a 4th output transistor (2n2222 circuit like shown on the MSnS-E page). I used the top schematic in the above link (with the moving magnet rotating on the cam). The lower schematic assumes that the magnet is glued to the back side of the sensor so that it senses a tooth. The difference in the schematics are whether it provides a 12V pulse train or a 5V. This is controlled by the pullup resistor to 5V or 12V. I used the 5V pullup for the second hall to give me a 5V pulse train.

 

This really changed the VE table! Now that I have plenty of spark, I can lean out my overly rich top rows of my VE table.

Oh, yeah, I am running 029Q now. It has my current idle code which, though not perfect, is pretty useful. The idle code is pretty complex to set up, but I'll help you through it on MSEFI. I did write up a description in the help section of megatune. If it is not clear, let me know.

As for driving the DI cassette, megasquirt cannot yet use combustion sense to determine which cylinder just fired as it does in the stock Saab installation (you will need a cam sensor) and it does not use ion sense (knock). Ion Sense is very interesting but will require a bit more coding to get it to a) discharge for the appropriate time period to be able to read out that information and b) window the data out on this line so that it is not reading during the combustion phase. As it is, the code mod pulls each spark line low for 1ms to fire the plug. Spec is 0.5ms for it to just fire. To actually use ion sense, it must discharge during the time it needs to read for knock, so it needs to be held low for another 60 degrees according to this:

Spark-Advance Control by Ion-Sensing and Interpretation

MSEFI article on the DI cassette 

This could be accommodated by a special rewrite of the dwell code, but that is way beyond my skills and time available is short. I would love to discuss this further. If you are interested, contact me on the MSExtra forum (KeithG).

MSExtra Forums 

The remaining tasks are

1) VSS - to have a handy dyno on board

2) driving the ELCD (evap emissions valve)

3) Boost control, though I still rely on APC to reduce boost in the face of knock... It works. and I have modded it to allow much higher boost than stock. It drives the TE05 for all it is worth!

 2007, Feb 6

Thought I'd give an update now that I am on googlepages.

I have been working with a couple contributors on MSextra on the development of the HiRes MS1/Extra code. Basically, this is the MSnS-E 029v release but with high resolution PW control. It is currently at HR_10d2 and can be found here as well (HiRes HR_10g). Our goal is to have all the functionality of the regular MSnS-E, but without PWM control of low impedance injectors. This function uses 2 of the hardware clocks on the chip and we use them to control the PW in microseconds instead of tenths of seconds. It is not truly microsecond resolution as the math for the rest of the variables are 8 bit, so there is some chunkiness in the PW output, but it is still about 2-3x the resolution of the regular code base. What it allows is better control of AFR at idle which should help to meet emissions targets for more vehicles, especially turbocharged vehicles with large injectors and small displacement. I also have my hand in the work on the air density correction and the current idle code in both the HiRes and regular MS1/E variants. In addition, I am working with another contributor on a modification of the code which may help with barometric correction. The only current bug we are aware of is the underflow which presents itself when the PW is very low near or < 1ms. There is another 'issue' which causes the ASE/WUE to be low when using 3 and 4 bar MAP sensors. This does not seem to be present when using the 2.5 bar (stock) MAP sensor.

2007, Sep 4

New update. I have been running MS2/E for a few months. The 'dwell' scheme required to drive a DI cassette is coded into the MS2/E code base. In the dwell type box, it is called 'time after Spark'. It needs to be set to 1.0ms or more. If you are running Wasted spark, 0.9 to 1.0 should be fine. If you are running COP, run as much as you can. I run 1.6ms. Keep in mind the requirement for the 2.5ms between discharges of the capacitor and the maximum amount of time available between firings. In Wasted Spark mode, it will fire 2x as often as in COP mode. This is usually not a problem until you get to substantial RPMs. You will feel it misfire if you exceed the required charge time. MS2/E has a much improved accel enrich code and has true us injector timing.

2008, Apr 6

I have been asked to document a V3 board modification to run a C900 (LH)

Do not install the PWM circuitry (step 69 in the Megamanual). Also, do not install the current limiting (step 71). You do need to install the regular flyback, step 70. 

This applies if you are running High Impedance injectors. If you need to run Low Impedance, I suggest Jean's Peak and Hold board. If you want to run Low Impedance injectrors with the B&G PWM control, you should do this modification at a minimum:

Look at pin 28 on the DB37. It is the raw 12v input to the V3 board. There are two traces coming off, a large trace going to Q12&Q9, the low Z flyback transistors, and a small trace feeding the 12V reference input to the Microprocessor. Cut the small trace going from Pin 28 to the first junction and, optionally, remove the trace. The trace that runs to the microprocessor for 12V voltage reference is taken off pin 2 of Q12. Cut this trace at Q12 and R3. Optionally, remove the trace from PCB. Run a wire from the proper end of R3 (above the bootloader pin) to the proper pin of C15 (or S12 at Power Supply).
On LH2.4 installs with Low Z, you may be able to use the pin 4 on the LH2.4 plug as the 12V connection for the Low Z flyback. Feed this through the DB37 on a spare pin and run a wire from the bottom of that pin to Q9 pin 2. This will allow the flyback to be 'off the board' and feed back to the same power cable that supplies the injectors.

The only really odd thing about a Bosch install compared to a MS suggested wiring harness is that the main relay is powered by 12V, always on (+30). You need to change the flyback from this output (pin 21 on the LH plug). Basically remove the Diode (D4) and place a 1n4001 diode from the band end hole of D4 to pin 3 on Q9 (this is an open hole since you did not install the PWM flyback).  

For the hall input, modify the opto circuit as per this link:

MSnS hall input schematic 

The resistor should be between 1.3k and 2k. I use 2k and it seems fine for the Bosch hall sensor or my Honeywell GT1. I do the modification a little differently, though. It is a bit cleaner, I think. Basically, I remove the 2 diodes, D1 and D2 and solder a wire from the right side of D2 (removed diode) to the left side of R13. This makes it an inverting circuit and I grab my 5V from nearby.This is for a Dizzy install as well as an EDIS or crank wheel with a hall sensor.

For the cam sensor, I used my home made sensor and it appears that the VR circuit can be set via the pots to be able to read that sensor as well. I set my pots fully CCW then turned R56 about 8 turns CW. You need a jumper from whatever pin you use on the DB37 to the VRin and a wire from VRout to the appropriate pin on the MS chip.

PWM idle valve use the MS/Extra docs: 

MSextra idle valve mod

I use a 5A fet, but the well documented TIP120 works fine. I put a 1n4001 diode from the  right side of D8 to the 12V raw input on the db37 on the bottom of the board. Remember to remove D8 from the board and short or place a shorting wire instead of R39!

The Bosch idle valve is open at 0 DC, closed at 25% DC and should regulate between about 35% and 65% depending on load and ambient temperature.

Ignition:

To drive the DI cassette, (and possibly a Bosch module for a single coil install you may need to do this) I increased the current by changing all output transistor s to 2n2222 (substitute these instead of the 2n3904s that are in the kit) and changed the base resistor from 1k to 470 ohm. Then I soldered a wire from the top leg of the LED to the trigger pin on the DI. You do also need to build an extra output circuit exactly like this in the proto area for the 4th spark output. 

You also need to build a tach output. This is also documented in the MSextra manual pages.

Tacho output 

That should be it, other than making a cam sensor or hacking up a dizzy to get the 1 per rev cam sense.

2009, June 3

Boost control and Knock

I talked about knock a long time ago.  I also considered boost control. I just never did anything about it. Well, now with MS2 and reasonable closed loop boost control, I decided to take the plunge. 

Knock input

This is the easy part. Take a wire from pin19 of the APC and connect it to the input pin of the MS controller. The APC uses an npn circuit to pull a line low which some have used to light an LED as a 'knock light'. Since it is an NPN drive circuit and no voltage is present, you can connect it right to JS4 on the V3 board. I had an old ABS harness and pulled out a couple wires with pins and snapped them into the APC connector. The schematic is on the 900aero web bage. It is under 'Tech' and 'APC theory'. Set it up in MS2 like


 
Boost control

To accomplish this with MS2/MS1 and the normal instructions, you would need to totally re-wire the APC valve and build a high current driver and such. Well, with the schematics on 900Aero we can creatively use the drive circuit and most of the wiring for the APC system, just control it with MS. The APC connector has a number of unused pins on it which are present, just not connected to anything on the board. I decided to use pin9. To control this, I had to make a small transistor circuit in the proto area. The one you can build is similar to the tacho output circuit. The only difference is that you do not want a pullup.


 

 Now the modification to the APC is as follows: Solder a wire to where pin 9 is soldered to the large board which is long enough to reach the top of the 'large board'. Next find pin 8 on the ribbon cable connecting the 2 boards. The ribbon cable has the pin #1 is marked with black and the rest of the cable is grey. Follow the trace on the large board from pin 8 of the ribbon cable. Very near the pin, there is a jumper on the board. Unsolder or cut this jumper. Solder the other end of your wire which is soldered to pin 9 to the side of the jumper that connects to the ribbon cable. Now, you should be able to control boost with the MS if you connect the wire from the APC plug pin 9 to the collector of that small transistor circuit you built in the proto area. No re-wiring of your APC valve is needed.

The schematics are on widde's 900aero.comsite.

Large board 

Small Board 

The board mods are shown here. I recommend soldering the wire on the outside of the board instead of where it is shown in this picture.

 


ą
Keith G,
Aug 21, 2010, 12:31 AM
ą
Keith G,
Aug 21, 2010, 12:31 AM
ą
Keith G,
Aug 21, 2010, 12:08 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:08 AM
ą
Keith G,
Aug 21, 2010, 12:04 AM
ą
Keith G,
Aug 21, 2010, 12:31 AM
ą
Keith G,
Aug 21, 2010, 12:31 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
iat1.jpg
(159k)
Keith G,
Aug 21, 2010, 12:05 AM
ą
iat2.jpg
(158k)
Keith G,
Aug 21, 2010, 12:05 AM
ą
iat3.jpg
(191k)
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:05 AM
ą
Keith G,
Aug 21, 2010, 12:04 AM
ą
no_amm.jpg
(175k)
Keith G,
Aug 21, 2010, 12:04 AM
ą
Keith G,
Aug 21, 2010, 12:30 AM
ą
Keith G,
Aug 21, 2010, 12:04 AM
ċ
veBins1.vex
(2k)
Keith G,
Aug 20, 2010, 11:46 PM
ą
Keith G,
Aug 21, 2010, 12:03 AM