I've a PCB with quite some electronics including a few motor drivers (30V, 100kHz PWM), and a few brushed DC motors 1 meter further away. These motors each have a quadrature encoder, so next to their 2 motor leads, they also require wiring for a 5V supply and have 2 channel outputs (wrt the ground of the 5V supply).

Without going in details why, I cannot use one long bundle of cables to directly connect the PCB to the motor.
Instead I need to use a long, small PCB in between to interconnect the main PCB and the motor.

        main  |         _________________________          _________
        PCB   |_________|   long, small PCB     |__________| motor |
              |  wires  |_______________________|   wires  |_______|

Normally I would twist the motor leads, but how to implement wire twisting on a PCB?

  • 2
    \$\begingroup\$ I suppose you could simulate twisting by using vias to switch between both sides of the PCB every few mm. The tracks would need to be routed as much as possible one over the other. This would be excessive however. The point of twisting wires is to minimise loop inductance. So simply route them on separate layers but one directly above the other. Loop inductance is proportional to enclosed area. \$\endgroup\$ Apr 15 '20 at 14:42
  • \$\begingroup\$ @WarrenHill I think that side by side on the same layer would be better than on opposite layers. Typically minimum trace-to-trace distance << thickness between layers. But I think I'll combine this with using vias to switch layer \$\endgroup\$
    – Huisman
    Apr 15 '20 at 15:25
  • \$\begingroup\$ If you put them on the same layer you will normally have more inductance because as the tracks are edge on so while you can route them closer together the effective width is just the height of the track. \$\endgroup\$ Apr 15 '20 at 15:29
  • \$\begingroup\$ @WarrenHill Could you please elaborate your last comment? Especially the part of "the effective width is just the height of the track"? \$\endgroup\$
    – Huisman
    Apr 15 '20 at 19:47
  • 1
    \$\begingroup\$ If you have a double-sided board, place the paired runs on opposite sides of the board. This minimizes the inductive coupling between nearby wires (by having the interference induced on top and bottom cancel out). \$\endgroup\$
    – Hot Licks
    Apr 16 '20 at 0:17

You have two connections to the motor: the motor leads, and the encoder with its own power. What you should try to do is treat each connection as separate, and minimize the loop area of the leads. That’s what ‘wire twisting’ does: makes a separation between pairs of wires and couples each pair as a loop.

On a PCB, you define pairs by running them alongside each other. This is called ‘micro strip’ or ‘stripline’ routing.

If you were to use a 1 layer board, a sequence of wires Iike this would be good:

  • Motor + (big fat trace)
  • Motor - (big fat trace)
  • (Extra space or possibly motor frame ground)
  • encoder ground
  • encoder cha+
  • encoder cha-
  • encoder power
  • encoder chb+
  • encoder chb-
  • encoder ground

I would also add a common-mode filter to the motor leads to suppress the PWM noise. Preferably this would be on your driver PCB, but an additional one on this board could help.

BONUS: A two-layer version

Top:               Back:
  Motor + (fat)      Motor- (fat)
  Motor - (fat)      Motor+ (fat)
          ---- space ----
  encoder cha+       encoder ground
  encoder cha-       encoder ground
          ---- space ----
  encoder chb+       encoder power
  encoder chb-       encoder power

The idea is for the motor wires to couple as much to each other as possible, both side-by side and top-bottom. The encoder signals each have a continuous plane, either power or ground.

  • \$\begingroup\$ Yes, I was considering such setup as well, but 2 layers: 5V supply and encoder signals on top top layer, ground plane blow them on bottom layer. motor + and motor - should definitely not run in top of the ground plane, because motor - (or motor +) should carry the return current, not the ground plane. \$\endgroup\$
    – Huisman
    Apr 15 '20 at 19:50
  • \$\begingroup\$ The problem with 2 layers is it's difficult to get controlled coupling from top to back layer with a typical .062" thick board, so that messes up single-ended impedance unless you use really wide traces on the top. But I'll add a 2-layer version you might like. \$\endgroup\$ Apr 15 '20 at 20:00
  • \$\begingroup\$ By the way, are you using a resolver? If so you need a stator drive too, unless you're doing that at the motor side. \$\endgroup\$ Apr 15 '20 at 20:10
  • \$\begingroup\$ Not using a resolver. I like your 2 layer approach \$\endgroup\$
    – Huisman
    Apr 15 '20 at 20:31

Think about why you want to twist wires in the first place. It is to keep the loop area as small as possible. With the loop area small, the opposing currents generate two opposite magnetic fields that cancel each other out. On a PCB, this is usually done by what is called 'differential pair'-traces. What it basically means for your PCB is two straight traces, as close to each other as possible.

The traces can be side by side, but using two layers the loop area is possibly even smaller by routing them on top of each other.

  • \$\begingroup\$ Would running traces side by side not be the same as using a ribbon cable? \$\endgroup\$
    – Huisman
    Apr 15 '20 at 15:20
  • \$\begingroup\$ I think that side by side on the same layer would be better than on opposite layers. Typically minimum trace-to-trace distance << thickness between layers \$\endgroup\$
    – Huisman
    Apr 15 '20 at 15:22
  • \$\begingroup\$ Yes that would be the same. A ribbon cable is a cable that is tied together by the plastic, so no need to be twisted to keep together. And I think you're right yes, same layer is better. \$\endgroup\$ Apr 15 '20 at 15:38

first thing to do ---- plenty of bypass caps AT the DC motor, so the current surges come from those caps located RIGHT at the motors.

And some filtering inductances right before the bypass caps, to ensure any distant caps are not called upon to handle the fast surges.

ONCE you have implemented that local source of high-edge-rate charge, which I've long termed a "Local Battery" which, please note, uses both a shunt charge storage element and the series impedance to greatly attenuation fast movement of charge on the global wiring, THEN pay attention to the twist? or not to twist?

A key question of "twisting on a PCB" is HOW FAST to twist. If you twist every 7 meters, then you can ignore the issue.

If you want to twist in a manner limited by the PCB manufacturer's ability to drill holes and plate the holes, then you easily get 1 full twist per centimeter.

Your challenge is the distance to the interfering signal ---- your power traces to the DC motors, and you've already greatly reduced the dI/dT by using the Local Battery.

I'd implement 4 twists along the length of your long thin PCB, so any non-symmetric hole-via physicality remains minimal.

  • \$\begingroup\$ Sorry, this is not an answer to the question with the bold emphasis: how to implement wire twisting on a PCB? \$\endgroup\$
    – Huisman
    Apr 15 '20 at 14:35

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.