I finally installed the MegaJolt I purchased a couple years ago. The biggest problem I'm having is getting my fuel pump to turn on. It's installed on a 1977 320i which has a fuel pump relay triggered off the tach wire. Even though my tach was working fine, the relay wasn't. I read up on how to get the relay to trigger off the signal I got from the EDIS module and the most popular answer was "don't." They said to use a user output to control it.
Two problems with that setup. First, there doesn't appear to be an option to run the pump for a couple seconds when the key is first turned to prime the system. Second, the lowest threshold RPM it will let me enter is 500. My cranking RPM is well below 500.
I can get it to start and run by configuring it as inverted and triggering at 7000 RPM. So the relay is wired correctly, I just need to get it to turn on at a more reasonable cranking speed.
Anyone figure out how to solve either of these problems?
Configuring user output to control the fuel pump relay
Moderators: JeffC, rdoherty, stieg, brentp
The early Miatas had two circuits driving the fuel pump relay. One comes from the key - when you're cranking it runs the pump. There are checkvalves that should keep pretty good fuel rail pressure from last run, so priming isn't really neccesary.
When the key drops back to 'run', the other circuit holds the fuel pump relay on. That one's a switch closed by an air flapper in the intake, so if the engine is sucking air then the pump runs. Engine stalls, no air, no fuel (safety). Sounds like your tach-based relay drive (set at 500rpm) would take care of everything but cranking. Maybe you could add a contact from your starting system to also fire the pump?
When the key drops back to 'run', the other circuit holds the fuel pump relay on. That one's a switch closed by an air flapper in the intake, so if the engine is sucking air then the pump runs. Engine stalls, no air, no fuel (safety). Sounds like your tach-based relay drive (set at 500rpm) would take care of everything but cranking. Maybe you could add a contact from your starting system to also fire the pump?
------------
Learning Race Capture Pro... on someone else's car
Learning Python/Kivy on my own PC
Learning Race Capture Pro... on someone else's car
Learning Python/Kivy on my own PC
Thanks for the replies. I found a way to implement toga94m's idea. There's a tab on the starter solenoid that is +V only when cranking. It used to bypass the ballast resister when cranking. I wired it through another relay so it now grounds the fuel pump relay.
I think my OEM fuel pump relay might be bad. It looks like it should function like a regular Bosch relay. The wire I took out of the socket to hook up the MegaJolt user output goes to the diagnostic plug. In theory, grounding that pin on the diagnostic port should turn the pump on. If that's the case, putting a new relay in will give me the priming function I'm currently missing.
Next step is to register the car again and do some road testing. Fun fun fun.
As a side note: Prior to adding the new relay, I investigated trying to make the MegaJolt allow a lower trigger RPM. Turns out that 500 RPM is an architectural limit on a 4 cyl engine. The MegaJolt figures out the RPM by measuring the time between ignition events and looking it up in a mapping table to get the RPM. The time between events is long enough below 500 rpm that the value would overflow a 2 byte integer. 500 RPM is 60000 ticks, 400 RPM is 75000 ticks. Who would have thought that I'd ever have a computer that was too fast to do what I wanted to do?
Thanks again for the help.
I think my OEM fuel pump relay might be bad. It looks like it should function like a regular Bosch relay. The wire I took out of the socket to hook up the MegaJolt user output goes to the diagnostic plug. In theory, grounding that pin on the diagnostic port should turn the pump on. If that's the case, putting a new relay in will give me the priming function I'm currently missing.
Next step is to register the car again and do some road testing. Fun fun fun.
As a side note: Prior to adding the new relay, I investigated trying to make the MegaJolt allow a lower trigger RPM. Turns out that 500 RPM is an architectural limit on a 4 cyl engine. The MegaJolt figures out the RPM by measuring the time between ignition events and looking it up in a mapping table to get the RPM. The time between events is long enough below 500 rpm that the value would overflow a 2 byte integer. 500 RPM is 60000 ticks, 400 RPM is 75000 ticks. Who would have thought that I'd ever have a computer that was too fast to do what I wanted to do?
Thanks again for the help.