Crank timed ignition: Going back in time.

Discussion in 'Modified Shizzle' started by mikedjames, Mar 21, 2023.

  1. mikedjames

    mikedjames Supporter

    This is not really a how to, more a what I did, even if its not totally sensible.

    The starting point was that I have become a bit fed up with points replacement modules, and with condensers as now sold being a bit short lived if you are unlucky - I managed to get a couple of thousand miles out of one before it failed to start one morning until I swapped the condenser for an older one.. #

    So I could have bought a 123 or a commercial "Black Box" or even an "Accuspark Stealth Black Box" http://accuspark.co.uk/Blackbox.html

    Instead I thought that I could collect components and assemble them into a working crank timed wasted spark ignition system, trading cost of purchase against my time developing firmware.

    So the first decision was to use an old Ford EDIS-4 ignition driver computer/timing module because it has a failsafe timing mode where if you disconnect it from the ECU it just runs on at 10 degrees BTDC timing.
    I paid £36 for one, then found lots at about £24-26 on eBay secondhand - new ones are more like £80-95.

    It has two coil drivers for a wasted spark system. So I went on eBay, looked at pictures of Ford coils and decided that the coil pack off a Ford Ka looked like it had the same wiring arrangement as the EDIS-4 - a positive pin and two direct coil connections, with four posts on top for the four spark plugs. I could buy a new one for under £20.


    The next requirement was that at least in the early days, if I carried around a coil and some spare leads , I could hook up the old ignition system in the field by unbolting the EDIS4 module and the coil pack if they were mounted on a metal panel that used the fixings for the coil. Does not look pretty but just needs an M10 socket spanner and a few minutes threading wiring.
    edis module.png

    I could not use the same spark plug leads as for the stock system as the connector on the Ford Ka coilpack has a small centre pin as opposed to a larger socket for the end of the ignition lead.

    So I bought a set of Accuspark 8mm silicone leads off eBay for £17. I had to bend the "distributor" end clips so they gripped the Ford pins rather than filled the holes in the distributor.

    To connect to the EDIS module, I measured its connector pins, and bought a set of crimp on 1.6mm female metal connector sockets for a few pounds - Brickwerks were selling them at 80p each, I think I got 50 for about £5. I crimped these and heatshrunk connected them, as the EDIS didnt come with a connector wire pigtail like some do.

    For the crank timing I bought a 36-1 timing wheel that fits in the centre of the crank pulley. Because the crank bolt is only so long, I couldnt fit it through the 5mm thick timing wheel plus some spacer shims. So I cut out a disc of 1.5mm steel, and cut a hole large enough in the timing wheel to fit the bolt through. Welded the disc on the back of the timing wheel and ground it all down. Balancing has been done visually by grinding down symmetrically and measurement.
    timing wheel.png

    For the VR pickup, again a secondhand Ford pickup, with a home made slotted bracket mounted to the case bolt so the pickup is at TDC. This makes checking the timing more of a pain as the notches/paint blobs can only be seen from above.

    The timing wheel is mounted so that the big gap in the teeth passes by the sensor at 90 degrees BTDC, essentially lined up with the Woodruff key on the crank. I bought a pack of ten 0.5 mm shims so I could move the wheel forwards and backwards on the end of the crank.

    In order to lock the timing wheel's timing I drilled two holes in the timing wheel and in the pulley and tapped the holes in the timing wheel so I could insert some M4 bolts that go into the holes in the pulley.

    Otherwise its a total pain doing up the big bolt and the timing wheel moves ..
    Its spaced off the pulley by just enough that the edge of the wheel lines up with the core of the VR sensor.

    By using the slotted hole in the bracket and fiddling with bending the end of the bracket, I got the sensor "flying" just right, looking on an oscilloscope.
    One issue is that the timing wheel alignment with the sensor somewhat reflects some runout in the pulley as purchased - it needs a few whacks with a soft hammer ..

    So having got my pulses from the VR sensor, these go straight to the EDIS-4. With the VR sensor wires the right way around, power on to the EDIS-4 and all the plug wires in place on the coil pack, and the driver wires going from EDIS-4 to coil pack, the engine ran, timing looked like 10 degrees BTDC. .

    Then came some investigation - at least one website, the Pico Scope website shows the wrong timing diagram for the control of the EDIS-4 module.

    Electronically this is fairly simple - the EDIS module outputs a "firing time" pulse called "PIP" , and then it starts looking for something to send back a "SAW" timing pulse - about 10 microseconds after the PIP pulse, the SAW pulse should begin, and by varying the length of the SAW pulse, it feeds the desired ignition timing into the EDIS module.
    You do not have to deliver a SAW pulse every time, there is some kind of a timeout before it drops back to 10 degrees BTDC as a default.


    edis schematic.png
    So, electronically I started with an STM32F103 microcontroller module bought off eBay for about £10. That gave me the inputs and outputs I needed for talking PIP and SAW, plus being able to speak I2C, SPI and CAN bus or USB .
    So I decided to use an I2C Bosch BMP280 environmental sensor as a MAP sensor - basically it can cope from 110kPa to 30kPa and can read back fairly frequent sample values. It came in the wrong packaging to have a vacuum hose attached so I carved out a rubber block and clamped it over the PCB.

    Added a little glue and a stub of capilliary tube for connecting the distributor advance vacuum feed and I created a small chamber to hide the 2mm wide module inside . . I reasoned that if there were any very slow vacuum leaks, that would mean that any fuel vapour would never directly reach the sensor because the air going the other way would keep it at bay ..

    I decided to put an OLED screen on the box that holds the electronics, so it can display some graphics and text telling me what the module is doing - just as well for later on ..

    More to follow.
     
    Last edited: Mar 21, 2023
    EggBoxes, 77 Westy, Flakey and 4 others like this.
  2. mikedjames

    mikedjames Supporter

    The firmware development started off using a cheap Chinese logic analyser - it could generate pulses simulating the signals from the EDIS, and it could measure the timing of pulses from the microcontroller.
    So I could sit with a tray with the microcontroller module, and a couple of wires clipped onto the circuit board from the logic analyzer.

    I began by taking code from the rev counter software module of my engine bay computer, as that has been field tested for years , producing steady results. So that allowed me to get the engine RPM from the PIP signal.

    For the vacuum signal, I was using the Bosch barometer chip - it can report at up to 16 times a second but I forgot I had been amusing myself with high accuracy readings - it can read to one Pa pressure so you can tell the difference in air pressure between on the table and a metre above it - its intended for mobile phones. In this mode it reports twice a second.

    So I had to basically create a timing table, and a method for looking up and interpolating timing and pressure X and Y values so that a smooth timing curve would result.
    I know that the EDIS regards below 400 rpm as cranking, and above that as running. I decided to put in a timing advance at low RPM so the engine tends to increase in torque slightly at below 750 rpm ..

    Code:
            int16_t rpmMap[MAX_RPM_POINTS] = {400, 750, 1000, 1500, 2500, 3500, 4500, 6000};
            // column of row values - in 1000-pressure
            int16_t vacuumMap[MAX_VACUUM_POINTS] = {0, 166, 225, 300, 700, 1000, NO_DATA, NO_DATA};
            uint8_t mapping[MAX_VACUUM_POINTS][MAX_RPM_POINTS] = {
                /* Table in degrees. */
                /* row for 0mb = centrifugal only */
                {12, 7, 7, 19, 25, 29, 29, 22},
                /* row for 166 mB*/
                {12, 7, 7, 21, 27, 31, 31, 24},
                /*   row for 225 mB */
                {12, 7, 7, 25, 31, 35, 35, 28},
                /* row for 300 mB*/
                {12, 7, 7, 29, 35, 39, 39, 33},
                /* row for 700 mB*/
                {12, 7, 7, 29, 35, 39, 39, 33},
                /* row for 1000 mB - used when pressure drops off the scale */
                {7, 7, 7, 7, 7, 7, 7, 7},
                /* unused */
                {0, 0, 0, 0, 0, 0, 0, 0},
                /* unused */
                {0, 0, 0, 0, 0, 0, 0, 0},
                /* unused */#
    
    
    or in a more conventional form :
    Code:
      RPM->  400  750 1000 1500 2500 3500 4500 6000
    -----------------------------------------------
       0mB |  12  7  7  19  25  29  29  22
     166mB |  12  7  7  21  27  31  31  24
     225mB |  12  7  7  25  31  35  35  28
     300mB |  12  7  7  29  35  39  39  33
     700mB |  12  7  7  29  35  39  39  33
    1000mB |  12  7  7   7   7   7   7   7
    
    
    I know that has 29 degrees in the 0mB row, tests seem to show that is OK.

    So this is the initial timing map, I discovered one mistake where when you snap the throttle closed, the pressure would drop to below 300mB momentarily, the lookup table code would "fall off " the bottom ot the table, and the software detected the fault and restarted .. So the EDIS would switch into limp mode for a moment then recover in time to accelerate. Still quite drivable as 10 degrees timing advance is OK.

    I spotted this because the OLED screen would flash up some seriously out of range timing values, the EDIS would ignore it, and then the software would reboot. And it could do this about ten times a second..

    Talking to the EDIS, while I know the timer channels on the microcontroller are quite capable of detecting the PIP pulse and producing a SAW pulse automatically, but I relied on having the software running to make sure the SAW pulse was sent out, so if it crashed it didnt just keep "holding" onto some crazy timing value.

    So the EDIS was encouraged to go into limp mode as soon as things went wrong with the firmware.

    I fixed that repeated crash, put in some additional Transient Voltage Suppressor diodes on the connections into the ECU diecast box and tried again.

    I drove it to Volksworld at Sandown - I had no problems on the way to Sandown, or on the way back from the ignition, there was definitely more mid range torque/power.
    The ignition coil and leads were in a box in the back of the bus, the distributor was kept in the engine.

    Half the way back I got indications of lean, hot running, AFR went towards 16:1 without a real loss of power or misfire (the other cause of "lean" indications on a lambda sensor) - I think theres a separate carburettor problem with the "power valve": I have disabled that with a removable solder blob, and I will re-jet the carburettor. .. £20 worth of jets in new sizes bigger than my usual collection have just arrived.

    The other thing I did notice was when gently accelerating you could feel little wobbles in the acceleration as the MAP sensor updated twice a second and the timing lookup changed accordingly. So I have increased the update rate to 8 times per second, as I dont need accuracy, just speed.

    More testing awaits better weather.
     
    Last edited: Apr 1, 2023
    rob.e, Flakey, DubCat and 5 others like this.
  3. theBusmonkey

    theBusmonkey Sponsor

    So all these years you've been telling us you're sat in the bus on the drive 'working from home' , you've actually been.....:thinking: :D
     
    Huyrob, PanZer, 77 Westy and 5 others like this.
  4. mikedjames

    mikedjames Supporter

    Yes, it does happen..
     
    theBusmonkey and paradox like this.
  5. mikedjames

    mikedjames Supporter

    It has now survived about 450 miles of driving with the current version of the firmware, just that subtle hesitation as the vacuum advance "steps" twice a second.

    I have not yet applied the firmware upgrade I had worked on the other day in case I had caused a new issue.

    Now I need to sort out another problem - the box is meant to have a serial data link (based on PLX Devices protocol) that daisy chains it with the other electronics in the engine bay but the fact that it is wired to the ignition coils means it is picking up a lot of electronic "noise", so the data gets corrupted so that the dashboard display only occasionally shows a value.
    So I havent yet been able to get the "Ported vacuum" or "timing advance" readings to come up on the dash display as an option.

    Two possible next steps :
    1. Fit opto-isolators so that there are no ground loops for current to flow on the data lines.
    2. Use CANBUS which is a bit more immune to noise and if I follow standards, allows the gratuitous provision of an OBD-2 socket..
     
    rob.e likes this.
  6. Could you power it from the leisure battery just for testing?
     
  7. iblaze

    iblaze Supporter

    I saw this working at the Vee dub show very impressive. Sort of reminded me of something.[​IMG]

    Sent from my SM-G981B using Tapatalk
     
    redgaz likes this.
  8. mikedjames

    mikedjames Supporter

    Well, its been a few thousand miles of driving and I have been through two major firmware versions, and one abortive attempt from the very beginning:

    The very first version that crashed but recovered so fast it just produced a few little judders. It also started scrambling its timing table every time it crashed so it just became unusable after a couple of trips.

    The second version I ran with for quite a while but it only read and updated the vacuum reading twice a second - which made it jump timing suddenly and made it slightly juddery if you gently put your foot down at 40 mph in 4th gear.

    The third version is the one I have really put some miles on it - and recently I took it up the back of Portsdown Hill on a route I used to take to my previous job about 7 years back. It reached the top of the hill in 4th gear at about 38mph on the speedo, had to slow down for a taxi in front of me so it did the critical section with my foot slightly off the accelerator. 7 years ago I was lucky to struggle up in 4th gear. This time it got there easily . It definitely feels like hills where I had it foot hard to the floor to keep moving are now easier at part throttle.
     
    rob.e and Chrisd like this.
  9. Mike have you a picture of the bracket used for the sensor that assume mounts to case, seen a few online but none seem functional. How did you mount trigger wheel accurately onto pulley so not imbalanced? Are you going to remove distributor altogether ?

    Sent from my SM-A127F using Tapatalk
     
  10. mikedjames

    mikedjames Supporter

    My complete brain fail was that if I moved the VR sensor away from TDC, provided I also rotated the timing wheel the same angle relative to the crank, I could have the VR sensor at any angle, provided the missing tooth passed under the VR sensor 90 degrees before TDC. But on the other hand, having it at the top meant the VR sensor was vertical, and the bracket was shortest.


    I took a piece of old Dexion angle from some shelving and hacked at it.. The VR sender is then able to pivot in and out a little, and the flying height was adjusted by careful bending of the bracket.
    It bolts to the case joining bolt - and there is a washer between the bracket and the case to provide a space for the curve of the angle iron. The flat of the top of the angle iron rests on the case.

    The hole at the end is slotted to allow some fine adjustment. But it turned out to be within a degree so I was happy, and if needed I can just re-flash the controller with timing adjustments to 0.1 degree resolution.
    20230101_132148.jpg
    This picture shows it with the old steel wobbly pulley.

    As far as balancing goes: As I had started with a distinctly wobbly Brazilian steel pulley, I worked out anything I did would be more balanced if based on circles and things at equal smallish distances from the centre, if combined with a machined new pulley.

    Unfortunately I made a mistake measuring the bolt, so I ended up with the correct OD of the timing wheel, but the wrong hole for the original pulley bolt. Which also turned out to be too short for the 5mm thick timing disc.

    Basically then I had to use a hole saw to cut out the inner diameter to clear the big crank pulley bolt, clamping it to a backing piece to centre the saw. Then cut a larger disc of 1.6mm steel, centre it and spot weld it to the timing wheel in 4 places (difficult because it kept cracking off as it cooled)
    The hole and the disc were both repeatedly measured to make them as circular as possible, and the hole in the wheel was filed out to make the hole circular relative to the end of the teeth on the wheel, and the backing disc basically have a constant radius from the hole in the centre.
    A lot of measurements were done to get it as good as I could.

    The big washer is still at the end of the crank, then three 0.5mm thick spacer shims to hold the wheel out to the correct distance.

    Because of the strong magnet in the VR sensor, the whole thing vibrates - the plastic body doesnt help. It is meant to be installed through a hole in a solid casting.

    Going from the steel pulley to the aluminum pulley meant I changed the number of spacers as the aluminium pulley boss is a couple of millimetres thicker, so the timing wheel is held further away from the engine. 20230716_195648.jpg
     
    Last edited: Jul 16, 2023
  11. mikedjames

    mikedjames Supporter

    Its the noise feed back from the ignition that causes most of the problems- the coils are taking up to about 15 amps for short periods.
     
  12. mikedjames

    mikedjames Supporter

    Tidying up a bit
    The replacement for a distributor. A sawn off Accuspark distributor, with a groove cut in the spindle, then a spring clip to stop it dropping out ..

    20230723_134150.jpg
    And then a little 3D printed tea-cosy for it.

    20230723_173640.jpg
     

    Attached Files:

    lowie, redgaz and DubCat like this.
  13. mikedjames

    mikedjames Supporter

    Because the timing wheel ... ahem.. fell off just outside Keiths Field, necessitating a 10 minute swap back to conventional ignition , I bought another timing wheel. (probable reason not enough threads on the pulley bolt actually biting, and balance issues as some of the welds cracked off. ) So it vibrated loose over about 800 miles. It looked OK each time I checked, but I didnt check the bolt for tightness, and couldnt see the weld disaster the other side.

    This time the timing wheel came with the right sized hole and outside diameter - 100mm OD, 20mm ID. This is an Omex OMEM2461.
    The pulley bolt is an extra long bolt from Limebug.
    The sensor is a Ford Fiesta crank sensor - I bought a new one as the old one was a little chewed and I think it has lost a bit of the shaped pole piece on the tip of the sensor.

    There is a shim between the head of the bolt and the timing wheel, acting as a washer, then the timing wheel rests on the shoulder of the bolt, then the stock pulley washer spaces the timing wheel from the aluminium crank pulley.

    The two M4 bolts are there as timing references, they go into holes in the face of the crank pulley. The holes in the timing wheel were measured and drilled to match the previous timing wheel.

    Owing to a mental glitch (I could flip it over and be closer) the timing is 6 degrees out this time. If I flipped it, I think it would be 1 degree out .. But its just as easy to program in a timing offset.
    Also this way the "limp home" timing advance is 13 degrees instead of 10.

    upload_2023-8-11_17-46-48.png

    And yes, with a 205 distributor in there and points, it lost a bit of torque on 4th gear slightly up hill, so the Cotswolds were a bit more effort than with the electronic ignition the day before.

    Now it seems I may need platinum plugs as this ignition fires the plugs twice as often and fires them harder. (0.8 vs 3 ohm coils)
     
    Last edited: Aug 11, 2023
    Fruitcake likes this.
  14. Barry Haynes

    Barry Haynes I dance in leopard skin mankini’s

    Ok I’m going to do this at the weekend so can you go through the stages again Mike :rolleyes:
     
    Jack Tatty, Huyrob, Zed and 2 others like this.
  15. Zed

    Zed Gradually getting grumpier

    Bodge weld a hacked pile of crap to an old pulley and bolt it back on with a bolt that's too short then ignore the fact you got it completely out of balance until it shakes itself to pieces. :thumbsup:
    Or buy a cheap kit from someone on Samba.
     
    Barry Haynes and matty like this.
  16. Barry Haynes

    Barry Haynes I dance in leopard skin mankini’s

    Cheers got that :thumbsup:
     
    Jack Tatty and Zed like this.
  17. debbies aircooled from the samba seems Ok but with post and duties cripples the price.
    https://vwspeedshop.com/images/P/4-05.jpg and simple nodiz set up. But have to respect someone that self builds ....
     
  18. Zed

    Zed Gradually getting grumpier

    Hmm. Yes if they try and make a nice job of it. Not really if they just want to get the mechanics done any old how so they can move on to the electronics. "It takes as long as it takes" is a good philosophy IMO.
    Software Engineer, Mechanical Engineer both contain the word engineer but they ain't the same thing. Know your limitations is another good philosophy. I can do lots of different things but I recognise that some things are beyond my skills so I don't do them.
     
    77 Westy and redgaz like this.
  19. mikedjames

    mikedjames Supporter

    The Debbie's kit came out after I had gone through the first hardware version.

    It's not that far away from what I have - it assumes you will be using a thicker aluminium pulley as it locates the timing wheel into the key way. If you tried it on a steel pulley it wouldn't engage properly.
    No problem, I had gone to an aluminium pulley after the Brazilian pulleys turned out to be consistently too badly made.

    The second version I am running now is a simplification of what went wrong, trying to find the correct timing wheel in the UK took a bit more trying.

    Debbie's hardware doesn't properly hold down the distributor drive shaft, as I wanted to be able to drop the stock distributor back in in a short time.

    Reverting the installation took about 10 mins when I had to do it.
     
  20. Zed

    Zed Gradually getting grumpier

    Yep, I get what you're up to - that first timing wheel was never going to be suitable really. I watched to see what would happen as it was obviously going to be out of balance, but it didn't seem worth pointing it out because you'd have carried on regardless Mike-style. :thumbsup: I should have pestered you into getting a longer pulley bolt though, my bad.
     

Share This Page