Temperature Difference Due to PCB Copper, Heatsink, or Stacked Chips

This article provides detailed test results and graphs answering these questions:

Copper Fill on PCBs

While revising a two-sided printed circuit board (PCB), I decided to fill in the empty spaces with copper. However, unlike a standard ground plane, I didn’t hook up the copper fill to ground because I wanted to avoid accidental connections through the screw holes. Also, I find it more difficult to solder pins that are connected to a nearby large copper area.

Roundabout PCB v1.5 without copper fills versus v2.0 with copper.

Roundabout PCB v1.5 without copper fills versus v2.0 with copper fills. (Note: The v2.0 layout also has added silkscreen text and other adjustments.)

Modern professional circuit boards have four layers or more. The middle two layers are usually thin copper sheets connected to ground and power.

The inner copper layers significantly simplify circuit layout, because components don’t need to connect to horizontal traces for power. The components only need to connect down to the inner layers. Furthermore, a ground plane is proven to provide significant electrical and EMF (electromagnetic frequency) shielding benefits.

Roundabout circuit board without (left) and with (right) a filled copper plane.

Finished physical circuit board v1.5 without copper fills (left) and v2.0 with filled copper areas (right).

Yet, there are a number of disadvantages to adding copper areas:

Given that the copper areas on my example double-sided board are not connected to ground, would they provide any benefits at all? Or, should I not bother?

Obviously, the copper blocks overhead lighting from interfering with any visible-light sensors located below the board. As for EMF, I don’t have the equipment to detect any differences. However, I can determine whether or not there is a thermal benefit to the copper areas by measuring the temperature of the hardest working chips. In this case, the motor drivers.

DIP Socket Temperature Sensor

How can I accurately measure the temperature of a chip without an expensive thermal imager? A non-contact thermometer with a laser target might be an acceptable solution. But, I don’t own one of those devices. And, I’m slightly more interested in the temperature between the chip and the board, since I’m testing the effects of the copper layer.

Thermistor in an open-frame DIP socket for measuring the chip and board temperature.

Thermistor in an open-frame DIP socket for measuring the chip and board temperature.

Since I don’t know of any dual-inline sockets with built-in thermistors (temperature sensors), the DIY solution is to add a thermistor to a standard open-frame DIP socket. Open-frame sockets are differentiated from closed-frame sockets in that the middle section is empty.

It is pretty easy to wrap the thermistor leads under the socket frame. In fact, I suspect the makers designed this particular socket to allow decoupling capacitors to fit underneath.

I’ve used thermistors in a number of other projects:

Epoxy the thermistor leads so the sensor always touches the DIP chip (with heatsink compound).

Epoxy the thermistor leads so the sensor always touches the DIP chip (with heatsink compound).

To keep the tests consistent, the thermistor should always make contact with the chip. Otherwise, the thermistor is going to be measuring the temperature of the air around the chip, and the size of the air gap may change whenever a chip is inserted and removed.

Even if the thermistor was initially seated high enough to touch the chip, if the thermistor is held in place only by friction it might get pushed down far enough over time to break contact or shift to a different spot on the underside of the chip. To avoid this possibility, the leads of the thermistor should be adhered with epoxy to the underside of the DIP socket.

Given that the temperature sensor has a rounded bulb head, there won’t be a very large surface area of contact between the thermistor and the chip. The limited contact area slows the migration of heat to the thermistor, leading to temperature differences that will produce delayed or inaccurate temperature readings. To ensure consistent and rapid thermal transfer, heatsink compound is added to the tip of the thermistor. Heatsink compound (also called heat sink paste or thermal grease) is thermally conductive and fills any gaps or surface irregularities.

Measuring Multiple Temperatures at the Same Time

For the fastest and most reliable test results, many temperature readings should be taken simultaneously. That is, the room temperature (ambient) and multiple chip sockets should be measured at the same time rather than measuring them one at a time over multiple test runs.

The reason for monitoring the temperature of the room is that we can be sure it doesn’t skew the results. If room temperature changes during testing, the results from one test run can still be compared to another, the results can be discarded and the test re-run, or at least the results can be explained by the change in external variable.

I didn’t want to design a whole new motherboard for yet another temperature measurement device. Instead, I reused an extra copy of the board from the Bromatic Counter. Unfortunately, the ATmega168 microcontroller used in the counter only has six analog-to-digital converters. So, this temperature tester is limited to only six readings at a time.

Six connections for measuring temperature or analog signals.

Six connections for measuring temperature or analog signals.

I still needed to make a small adapter board to connect the thermistors to the reused counter motherboard. I am unlikely to need more than one six-temperature tester, yet most PCB manufacturers require multiple copies of a board per order. Therefore, the thermistor connector board is designed to support a variety of connectors, so that the remaining copies of the board can be reused for other purposes.

Notice that the layout of each of the six connections can support either:

To display the temperature, the thermistor’s resistance needs to be converted into a voltage so that the microcontroller analog-to-digital converter (ADC) pins can read it. This means connecting a thermistor to a fixed resistor, applying powering, and measuring the voltage at the point between the resistor and the thermistor.

The value of the fixed resistor is critical for agreement between the sensors. If the six fixed resistors on the sensor connector board have slightly different values (due to minor manufacturing differences), then the apparent temperature values are going to appear slightly different, even if the sensors are at exactly the same temperature in reality.

When I examined the small 1/6th watt resistors (see ① in the above photo) using a multimeter, the resistances were inconsistent between them and they were all slightly off from the specified value. To reduce variation, I switched to larger (①) very high-tolerance fixed resistors (Vishay/Dale PTF5610K000BZEB). They are accurate to 0.1% and have a temperature coefficient of ±5 parts per million (ppm).

Very high-tolerance resistors are fairly expensive. These were $1.09 each at Mouser. In hindsight, I didn’t really need this much accuracy.

One last comment on the resistors: Installing the resistors on the sensor adapter board and not near the thermistors reduces the temperature variations to which they will be exposed. Assuming the sensor board will be at or near room temperature means it is not necessary to purchase expensive resistors to reduce resistance changes due to cold or heat.

The thermistors being used in these tests are Vishay/BC Components NTCLE100E3103JB0 10 kilohm NTC (Digi-Key BC1482). Newer, lead-free / RoHS-compliant thermistors are Vishay/BC Components NTCLE100E3103HB0 10 kilohm NTC (Digi-Key BC2311 $0.68 each).

Highest-Resolution Temperature Readings

Due to the ratio of voltage division and the limited number of bits in an analog converter, the highest resolution occurs when the fixed resistance value matches the resistance of the thermistor at the target temperature. For example, if you want to see small changes in temperatures like 76.9°, 77.1°, 77.2° -- rather than 73°, 77°, and 80°, you should measure the resistance of the thermistor at 77 degrees (let’s say 10 kilohms) and select a fixed resistor of the same value (10 kilohms).

The tradeoff is that (for a given number of bits) you won’t be able to measure equally small changes for temperatures that are farther away. In the above example, way down at 7 degrees, the readings step by 0.3°: 7.0°, 7.3°, 7.6°, and 7.9°. The first integer skip occurs between -44 degrees and -46 degrees.

Of course, you also want to use the highest resolution conversion possible on your microcontroller. The Atmel ATmega168 can convert analog voltages to 8-bit values (0-255) or 10-bit values (0-1023). So, I chose 10-bit values.

To reduce the effects of conversion noise or electrical interference, the sensors can be read multiple times and the results averaged. I chose to measure each sensor four times per second and display the result divided by four.

The formula to convert the voltage to a resistance is easy, but to accurately convert the resistance to a temperature requires logarithms and double-precision floating point. Rather than trying to program an 8-bit microcontroller to perform this operation, it is easier to calculate a table in Microsoft Excel and copy the 1024 values to a C array in FLASH memory. This consumes 2 kilobytes of memory (2 bytes per signed short * 1024 entries), but that’s probably less than the size of the libraries to perform the math.

All of that being said, this six-port temperature monitor has an average resolution of 2/10th (0.2) of a degree Fahrenheit for the range (70-185) of this test.

On the next page, we'll execute the first test, which is to determine how well the six sensors match each other.