Supressing transients from large DC motor

Hi all! While this isn’t specifically arduino-related, I feel like the people here could help me out with a problem that I am having.

I am retrofitting a motorcycle with EFI and am having trouble with the inductive spikes from the starter motor causing the ECU to reset. I believe I have isolated the problem to the starter motor itself, and not the starter solenoid or any of the relays on the bike. I disconnected all the relays, bypassed the starter solenoid, and brought the ECU’s ground connection straight to the battery terminal, the starter motor was the only thing changing power states and the ECU resets only when I remove power from the starter

I am thinking that I need to suppress the inductive spike from the motor, but the motor is permanently grounded to the engine. The best I could do is connect a (few) diodes between the motor’s positive power lead and the engine block through the nearest bolt. Would that still work to at least reduce the transients from the motor?

I attached a diagram of the starter circuit and the diode(s) that I think will help the problem.

New-Project(1).png

Hi, Do you have that diode shown on the diagram (reverse direction across motor) installed? That would supress large negative-going transients.

Sometimes a diode is connected from the motor towards the battery + terminal. That would direct positive transients to the (low impedance) battery but not pass current when the motor is off.

Other:

Really think about the ground paths in a system like this. Does the battery negative cable go to the emgine as close as possible to the starter motor?

What is the power supply for the ECU/Arduino/whatever?? Does it have good filtering / regulation from the battery supply?

What cabling is connected to the ECU and how close is it to other wiring??

Suggest you read this page:

Arduino-Project-Planning-Electrical https://arduinoinfo.mywikis.net/wiki/Arduino-Project-Planning-Electrical

Nullbert: I ... am having trouble with the inductive spikes from the starter motor causing the ECU to reset.

...I am thinking that I need to suppress the inductive spike from the motor

Try adding an inductive choke (aka DC choke) in-line with the ECU. They tend to be good at smoothing out current spikes caused by switching.

Nullbert: ...but the motor is permanently grounded to the engine. The best I could do is connect a (few) diodes between the motor's positive power lead and the engine block through the nearest bolt. Would that still work to at least reduce the transients from the motor?

The diodes are probably there for a reason.

The diodes are probably there for a reason.

Do you have that diode shown on the diagram (reverse direction across motor) installed? That would supress large negative-going transients.

The diode across the motor in the diagram was one of my ideas on how to possibly reduce the inductive kickback from the motor, I do not have it installed ATM. The only diode installed in the starting diagram is the one across the relay coil. I asked if that would work so I could avoid accidentally releasing the magic smoke from some diodes if I installed them incorrectly.

Sometimes a diode is connected from the motor towards the battery + terminal. That would direct positive transients to the (low impedance) battery but not pass current when the motor is off.

Do you mean like the diagram I attached in this post?

Really think about the ground paths in a system like this. Does the battery negative cable go to the emgine as close as possible to the starter motor?

I’ll admit the engine ground-to-battery cable connection is rather far away from the starter. I have a large-ish gauge wire from the battery negative going down to a bolt on the engine with all other electronics except for the head/tail/turn/dash lights and the main relay terminating their ground at the same location. That bolt is at the rear of the engine, about 10 inches from the starter motor. I’ll dig around and see if I can’t get a longer cable so I can ground the engine AT the starter.

Would two engine-to-battery grounding cables cause a ground-loop issue if they are both connected directly to the battery’s negative terminal but to different locations on the engine?

What is the power supply for the ECU/Arduino/whatever?? Does it have good filtering / regulation from the battery supply?

What cabling is connected to the ECU and how close is it to other wiring??

The ECU is a microsquirt v2 of dubious authenticity. The power supply is on the ECU’s PCB. Here’s a pic (not mine) of what I’m pretty sure I am working with, minus the AMP connector:

As far as cables connected to the ECU, there are sensors (engine and air temp, barometer, throttle position pot, exhaust o2 sensor, crank trigger) and control lines (fuel pump relay, ignition, o2 sensor relay, injector, and check engine light) as well as the mandatory +12v and ground. The wires are quite close to other wires that source and sink current.

I know I need to route power wires away from signal wires as well as shield mission-critical/analog inputs, but I am attempting to run this engine with the wiring as it came when I bought it from a Chinese vendor. I am on another forum keeping a thread/journal of this project so others can know if they can buy this EFI kit and have it work with little-to-no modifications.

I am getting the distinct impression that it may run, but not well or reliably.

I read the article you linked, thank you for that! It added a few more things to tackle in this project.

Try adding an inductive choke (aka DC choke) in-line with the ECU. They tend to be good at smoothing out current spikes caused by switching.

The ECU controls and drives (well, current limits at least) the injector directly with onboard circuitry, so there is always going to be spikes of power into and out of the ECU; I don’t know if adding a choke to either of those wires would help or hurt.

A diode across the starter motor will do nothing to correct the the problem as the relay isolates the windings when it opens. A diode across the coil may help but shouldn’t be necessary due the very low impedance of the battery.

Most likely causes:

A bad battery with a high internal resistance The ground of the ECU isn’t going to a solid battery negative

Troubleshooting this type of problem without a good scope is like the blind men trying to describe an elephant. IMO, adding random things like diodes, chokes and caps without knowing the real cause of the problem is just an exercise in futility.

Nullbert: The best I could do is connect a (few) diodes between the motor's positive power lead and the engine block through the nearest bolt.

On big high current diode is enough, using several will just be expensive.

A diode across the starter motor will do nothing to correct the the problem as the relay isolates the windings when it opens

Not convinced by that argument, the heavy arcing in the solenoid is going to generate huge amounts of EMI across the RF spectrum and spray it everywhere - the diode reduces the arcing. It might also extend the contact life of the solenoid too.

Most automotive systems are very crude and noisy, multiple remedial measures may be needed.

Troubleshooting this type of problem without a good scope is like the blind men trying to describe an elephant

"It hurts when it treads on you" :)

Hi,

A diode across the starter motor will do nothing to correct the the problem as the relay isolates the windings when it opens.

Sorry, that's not the way it works..

When the starting relay contacts open is when the problem starts. There is significant magnetic energy stored in the starter motor windings. It WILL go somewhere.

Often there is significant arcing at the relay contacts as they open. That's a lot of ElectroMagnetic Interference in the form of voltage and current surges.

A reverse diode will suppress the immediate negative-going voltage spike and much of the energy will be dissipated in the diode and the motor winding as wiring. But there will be oscillations of voltage that go positive right after that. That's why often a diode is connected from the motor back to the battery ("pointing" at the battery .. ). Notice the transient-suppression diodes on most motor controllers. See that there are two diodes on each output: A reverse diode from ground and a forward diode back to the + supply.

|500x371

The Megasquirts are pretty well-known technology with very active forum of their own. Those guys would probably have lots of info on how to handle this kind of problem.

Thanks for all the replies, dudes and dudettes!

The Megasquirts are pretty well-known technology with very active forum of their own. Those guys would probably have lots of info on how to handle this kind of problem.

I have a moral dilemma that is keeping me from asking my question on a megasquirt-centric forum. As I said the ECU I am using is questionably (read: not at all) authentic, running a lightly modified version of the B&G firmware and using tuning software that is a lightly modified version of megatune - the obsolete and no-longer-developed tuning software used on older mega/microsquirts. Most if not all of the mega/microsquirt forums look down on non-genuine hardware, software, and firmware and will be reluctant to offer help.

For full disclosure, I purchased the EFI kit from here. The modified firmware was already installed on the ECU, and was changed enough that the "standard" megatune software will no longer work with it. I did not modify any part of the software myself.

I also bought a GENUINE microsquirt from one of their authorized vendors for a few reasons; I wanted to support the creators of megasquirt, the current software and firmware available is miles ahead of megatune, and I plan on using it in place of the "fake" ECU once I can say with confidence that the EFI kit I bought either does or doesn't work properly.

I realize that I could just ask the technical question on their forums and not mention the ECU origin, but eventually I will be asked for the .msq tune file and datalogs of when the reset occurs. The .msq file that the modified tuning software produces isn't compatible with the real megatune software, so they will know I am using a non-genuine firmware and software.

So I'm kinda stuck between a non-genuine rock and a hard place.

Troubleshooting this type of problem without a good scope is like the blind men trying to describe an elephant...

I REALLY wish I hadn't sold my old tek scope, but money was tight at the time.

A bad battery with a high internal resistance The ground of the ECU isn't going to a solid battery negative

The battery being bad is possible, it is one of those sealed, straight-from-china batteries. I do have another battery I could test in its place.

For testing purposes, the ECU has it's ground coming straight from the negative terminal of the battery. I don't think there is anyway to get a more direct connection.

I have been toying with the idea that since the tuning software is the only thing that can detect a reset (apart from the engine not running properly, but I am just turning it over, not running it), the interference might be going into the cable coming from the ECU to my laptop. I could imagine that corrupted or unexpectedly cut-off data coming from the ECU could be interpreted as a crash and reset by the tuning software. I might make a bluetooth dongle with a level shifter and one of those ubiquitous ebay-special bluetooth-to-serial adapters to test that theory out.