I am building a electric vehicle relay controller. Which controls the High voltage relays among other things. I have built an automotive power supply circuit with strong inspiration from this article: https://www.analog.com/en/analog-dialogue/articles/comprehensive-power-supply-system-designs-for-harsh-automotive-environments.html
(using both the filter circuit and power circuit)

I still have problems with voltage spikes from relays outside my PCB, the HV-relays and vacuum pump relay and many more. I am aware of the solution of putting diodes across relays. And that works as a specific solution. But I would like to install the control board in other cars as well without needing to put diodes across all relays in every car I do this on.

I have tried everything. As it says in the article I have used TVS diodes across the input voltage. And I thought that would solve it, but as soon as I remove the diodes(different diodes) over one of the many relays the problem appears again. If someone could point me in the right direction of what more I could try I would be very grateful.

  • \$\begingroup\$ Do you have an oscilloscope and can show the spikes as the relays open/shut? \$\endgroup\$ – Voltage Spike Aug 5 at 17:20
  • \$\begingroup\$ You can never design a switch (electronic or mechanical e.g. relay) or any Filter , without measurable specs . Period ! Nothing specific can be designed without specs. Or verified. Period ! I hope you and others get my point ! There are conducted current and voltage surges as well as induced crosstalk from EMI due to wiring mutual inductance or E-field capacitance into high impedance. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Aug 5 at 17:35
  • \$\begingroup\$ Estimate the metrics with details. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Aug 5 at 17:40
  • \$\begingroup\$ Post your schematic and layout. Maybe there is something in there that we and others can see that could be improved. \$\endgroup\$ – Aaron Aug 5 at 20:12

I once helped diagnose a 10,000 horsepower electric_train speed controller.

The customers were experiencing field failures. No one was happy.

Turns out a consultant had been brought in to change some computer code.

And management has decided to instruct the consultant "Make that PCB smaller. And Place that PCB closer to the 5,000 volt 2,000 amp buss" so the consultant did so.

At 200 euros (?) an hour, why not do what management ordered.


Turns out, with 1 microsecond switching times for the current, lots of "eddy currents" were upsetting the "ground plane" in the PCB.

And with 1 microsecond switching times for the voltage, lots of capacitively coupled "displacement currents" were upsetting numerous high_impedance (10,000 ohm) control_circuit nodes in the PCB.

Its easy IMHO to shield against 1uS edges. But the usual 1.4 mils (35 micron) copper foil is not thick enough.

The cure was to install an aluminum plate between the Buss and the PCB, tho initially the consultant balked at that, because "there is no room". I gently suggested "gutta percha is a valuable insulator.

The problem seems to go away, after that. There were no more questions.


Switching 400 amps in 400 nanoSeconds, in a wire located 10cm away from a PCB with 10cm by 10cm Ground Plane, will be at risk for this much Ground upset:

Vinduce = [Mu0 * MUr * Area/(2 * PI * Distance)] * dI/dT

This simplified( give MUr = air/copper/FR-4) to

Vinduce = [2e-7 * Area/Distance] * dI/dT

Vinduce = 2e-7 henry/meter * 0.1 meter * 1e+9 amps/second

Vinduce = 2 * 10 = 20 volts.

Thus ground is not ground, anywhere in/on your PCB.

| improve this answer | |
  • \$\begingroup\$ Was it Rimac ? :) \$\endgroup\$ – Isak Söderlund Aug 10 at 17:42

I solved the problem! It seems to be that I didn't isolate the wires leading from my PCB to the gearshift and screen thats what caused the interference. The voltage spikes radiated from one wire to another.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.