Variable Load: Layout

Schematic Update

Before I get into the layout, I’d like to mention that I added another ADC to the system.

I realized that even though the system should have control of the current, and therefore measuring the current isn’t necessary, in actuality whatever power supply that the load is connected to may not be able to meet the variable load’s current demand. Therefore, even though the system thinks it is consuming 5 amps, it may be consuming less than that, and without a high resolution measurement, the system has no way of figuring out what the actual current consumption is. That’s why I added the LTC2451, a very small 16-bit, sigma-delta ADC. It is a low speed ADC, which is fine, since the system will only need to measure current at a low rate in order to update the LCD.

I also added various LEDs and test points to unused GPIO pins, which will be helpful during debugging.

Lastly, I added a TVS (transient voltage suppressor) on the input to the variable load. I realized that if the variable load is put in series with an inductor, then turning the variable load off will cause the inductor to force a large voltage across the load transistor, potentially damaging it. The TVS is designed to conduct above 33 V and be open below it, and the transistor is rated for 40 V, so the TVS should keep the transistor safe from over-voltage conditions.

Layout

Top (left) and bottom (right) of PCB

The vast majority of components are on the top side of the board. The bottom side only has test points, some resistors and LEDs, as well as connectors. This is a 4 layer board that is 2.35 x 2.5 inches, 0.8 inches thick. I made the board thinner than usual to improve coupling between ground and power plane as well as decrease thermal mass so that the board is easier to reflow.

I used a pretty standard approach for the layout for the most part. Bypass capacitors for chips are placed as close to the power pins for that chip as possible, analog traces are as short as possible, circuits are grouped together by function, and signal cross talk is avoided as much as possible. I also grouped buses (SPI, I2C and serial) together for the sake of cleanliness.

Fan

The fan I chose to cool the heatsink consumes a lot of current. In order to meet this need, as well as keep the fan noise away from the rest of the circuit, I made some special accommodations:

Top layer: thick copper connection between capacitor and connector to fan
Note thick copper connection is duplicated on the bottom of the board

The fan has a 100 µF capacitor for bypassing, which will hopefully reduce noise generated by the fan motor. The layout above was done for two reasons: first, it provides a very low resistance path between the leads of the capacitor and the pins of the fan connector, making it a more effective bypass capacitor. Secondly, the isolation of the ground copper from the rest of the ground pour on the top of the board helps keep the noise of the fan isolated from the rest of the PCB. If there is any rapid or large current flow between the fan and the capacitor, the current surges will not leak out to the rest of the ground pour.

Left: ground plane, right: power plane

The capacitor and the fan are powered through the ground plane and power plane, rather than a trace on the top or bottom of the board. This decision was made to simplify routing, as well as provide low resistance and high amapacity copper connections. As you can see on the left in the figure above, the ground plane has a notch in it. This notch was placed so that any current flow between the barrel connector (at the top left of the PCB) and the fan would not leak out onto the rest of the PCB, reducing noise. The power plane is similar, but this is mostly to provide a low resistance connection between the barrel connector and the fan. No other circuit, besides a linear regulator, uses the 12 V input from the barrel connector, so the separation between the 12 V pour from the VCC pour on the power plane does not provide much advantage in terms of noise reduction.

Load

Since the load can consume many, many amps, special attention to the layout was needed. First, note the thick copper traces connecting the VLOAD+ to VLOAD- through D2. Though I suspect it won’t be necessary, having thick copper traces allows the TVS to shunt a very large amount of current.

More pressingly, a very large amount of current can go from VLOAD- to GND through the pins of U3. In order to minimize the resistance of this connection, all four layers were used:

bottom (top), ground plane (middle), power plane (bottom)

Since all four layers should share the current, a lot of vias were used to stitch the layers together as much as possible. Note how the copper is poured on the ground plane: the ground copper ring has the connection to U3, as well as connection to the ground copper pour of the ground plane. These two pieces of copper only connect through the ground copper ring. As with the fan, this was done so that the large amount of current flowing from VLOAD- to GND would not flow to the rest of the board, reducing noise for unrelated circuitry.

Exposed copper on top layer

One last attempt to increase the current carrying capability of the PCB is to expose the copper on the top and bottom for VLOAD- and GND. This helps in two ways. First, the exposed copper is tinned during PCB manufacturing; in this case, the copper undergoes HASL (Hot Air Solder Level). This tinning will increase the amount of metal available for current carrying. Secondly, since the copper is exposed, if more solder is necessary, then I can apply solder paste to the exposed copper to further increase ampacity. I will have to wait and see if this is necessary, but this option was made available in the layout.

Kelvin connection between GND and VLOAD+ to ADC, highlighted in pink

One last thing to note about the layout is the kelvin connection between the ADC and the input voltage. In order to measure the input voltage, the ADC will need access to GND and VLOAD+. Since the PCB has a ground plane, it is possible to just use a via to feed GND to the ADC. However, the ground plane will be carrying current for a lot of other miscellaneous signals, introducing noise into the ADC. Therefore, a cleaner way to feed the ADC is through a kelvin connection as shown above; the two signals of interest are routed directly from origin to the ADC, using differential routing. The highlighted ground trace carries no other current than for the ADC measurement, so the input voltage measurement should be cleaner than if we had used a via to the ground plane.

Miscellaneous

Bottom layer: three mounting holes are highlighted in pink

There are three M3 mounting holes on the board. I personally like to plate the mounting holes, which makes them less brittle, but I also like to leave solder mask on to prevent the metal from being completely exposed.

Also visible in the picture above is the various labeled connectors and test points, as well as the labels for the copper rings. I can’t stress enough just how much of a quality-of-life improvement labels make. You don’t have to have the layout open in a window or second guess yourself; taking a few minutes to neatly organize the labels for various things on your board will pay off extremely handsomely in the long run. Of particular note is the barrel connector label, where I note the dimensions for the connector as well as the polarity. I always have a hard time determining what a barrel connector’s size is, so I thought it was a nice touch in case I ever forget.

Leave a comment

Design a site like this with WordPress.com
Get started