PCB Trace width question.

I want to use the example found at Arduino Playground - ACPhaseControl to control the speed of some pumps. The pumps, located at Chugger Pumps Home Brewing Pumps - Homebrewing Product Line, are 220v, 290 watt, thus pulling around 1.3 amps correct?

The board house I've been using is iTead. Outside conductive layers are 35um. I'm using this trace width calculator: ANSI PCB Track Width Calculator

I put in the following number:
Amps: 2
Rise: 1 degree
Thickness: 35um
Ambient: 40 (it gets hot out in the garage/driveway!)
Trace length: 20mm (I put the SSRs and H11AA1 right at the edge of the board, actually less than 20mm)

The output is that I need 125mil of trace width, with >71mil of space.

I have no reason to doubt the correctness of that number, but I want to put up to you guys to see if that number seems feasible. Is there any reason I can't I put a 70 mil trace on each side?

Depends what temperature rise you are happy to tolerate. 1 degree is not very much.

Using traces on both sides of the board will not dissipate heat in quite the same way, so it will only be
approximately true that 2 70mil traces are equivalent to one 140mil trace (think surface area). It feels
to me like 2 x 70mil will replace 125mil OK.

Some heat dissipation will be along the traces to the components soldered on.

If ambient goes to 40C, then an extra 5C, let alone 1C isn't v significant. Some electronics runs a lot hotter.

Rapid thermal variations are the most damaging aspects of temperature management - you get
differential expansion leading to mechanical stresses - often implicated in long term failure modes.
Having a trace vary by 20C on a regular basis would be bad - so although trace width is a flexible
choice you want to try to be conservative - but you can increase that 1C to 2 or 3 I think.

MarkT:
so although trace width is a flexible choice you want to try to be conservative - but you can increase that 1C to 2 or 3 I think.

Thanks a lot for your reply! I thought that 1 was the most conservative option. A 2 degree tolerance calls for 81.71 mils; 3 degrees calls for 63.88.

Are you saying that I would benefit from the narrower trace and should use it because of expansion issues? Or just that I probably could get away with it if I wanted to, because a 2-3 degree temp rise is trivial?

The latter I think.

The pumps, located at http://chuggerpumps.com/product.php?prodid=237, are 220v, 290 watt,

Your numbers sounds overly cautious to me. The tables usually indicate 10-20 degC temp rises
for 1-oz copper, which is the most common thickness on pcbs. Not sure how that relates to
35 um thickness. You might check your numbers against the following,
http://www.pcbfx.com/main_site/pages/library/miscellaneous.html
http://wiki.xtronics.com/index.php/Wire-Gauge_Ampacity

However, there is a more serious matter, which is you need to check on agency specifications
for layouts when used with 120 or 220 VAC voltages. You need to take proper trace spacing
into account, to prevent arc-over, whatever. Since you're switching AC pumps [ie, inductive]
loads, you also need to consider adding snubbers or other transient suppression devices.

IOW, when using 220 VAC and inductive loads, there are many factors that need to be taken
into account, and industrial controllers for these sort of apps tend to have all sorts of EMI,
ESD, and other suppression and noise filtering circuitry. Basically, this is a nasty environment,
and little 5V controllers can have reliability problems. I'd suggest you do some background
research on this whole topic.

Found this elsewhere:

"The thickness of copper clad on a circuit board is usually given in ounces (oz). It is the weight of copper on one square foot of board. One ounce copper is 1.378mils (~35um) thick."

CrossRoads:
Found this elsewhere:

"The thickness of copper clad on a circuit board is usually given in ounces (oz). It is the weight of copper on one square foot of board. One ounce copper is 1.378mils (~35um) thick."

Thanks for looking that up!

oric_dan:
IOW, when using 220 VAC and inductive loads, there are many factors that need to be taken
into account, and industrial controllers for these sort of apps tend to have all sorts of EMI,
ESD, and other suppression and noise filtering circuitry. Basically, this is a nasty environment,
and little 5V controllers can have reliability problems. I'd suggest you do some background
research on this whole topic.

Thanks for the response, and the advice!

So, a wiser choice may be to put the H11AA1, the SSRs, and the mechanical relay in a little enclosure next to each pump, and send the zero cross pulse back to a control board that's distant from the 220 portion altogether?

to a control board that's distant from the 220 portion altogether

What's the distance here?

There are problems no matter how you proceed with this thing. In general, you cannot
run 5V control signals very far and have them be noise-free and full-level. People talk
about maybe 5-10 feet, and it sounds like your distances are much greater. One possibility
is to go back to 20-mA current loop signals, rather than 5V signals.

Likewise, if you switch the 220 VAC locally, and send the voltages long distances through
heavy wires to the loads, you have nice large inductive loops, ie, EMI-broadcasting
antennas.

I once spent a couple of years working with a company that had spent well over $100K on
an industrial embedded-controller that was switching multiple 220 VAC loads, and was
crashing with some frequency. They never did get it to be bullet-proof, despite multiple
attempts at patches and 'fixes'. You might have to try just different things and see what
works best.

This is just a guess now, but thinking back, I think the biggest problem may have been
that they had the snubbers right at the switching-relay contacts on the controller board,
and it would have worked better to have put them out at the loads. ????

oric_dan:
What's the distance here? ...People talk about maybe 5-10 feet, and it sounds like your distances are much greater.

No, far less. The whole contraption is only 5 feet long. The application is a three vessel brewery, like these:
https://www.google.com/search?q=brutus+10&um=1&ie=UTF-8&hl=en&tbm=isch&source=og&sa=N&tab=wi&ei=O_u3UaOcK4TU9gTA1IGAAw&biw=2560&bih=1509&sei=vfu3Uf-3PIXy9gSas4G4Cg

These are commonly built with a large control panel built on a huge NEMA enclosure. There is usually a 220 feed, controlled by PIDs and relays, and then numerous 220 lines go to various parts of the brewery. See Gallery - The Electric Brewery to get an idea of what I mean.
Here's the scene I want to avoid: http://www.beerobsession.com/wp-content/uploads/2011/04/IMG_0695_rdy.jpg

My intent is to minimize the 220 wiring by having a din rail run basically the length of the brewery, and having the SSR's as close to the elements, valves and pumps as possible. I'd have an I2C slave board for each component, so I'd really only need four wires for all of the controls. These phase angle controllers are going to be three of those slaves.

So, I guess have options:

  1. draw an I2C slave for the pumps with the microcontroller, the 220 relays, all of it, and mount it right on the pump bracket.
  2. draw a board for just the 220 parts - the mechanical relay, the SSRS, and the H11A1, and send the zero-crossing signal back to an I2C slave on the DIN rail (~9 inches away from the AC pump motors).
  3. draw a board for just the 220 parts - the mechanical relay, the SSRS, and the H11A1, and send the zero-crossing signal back to the control panel itself (2-5 feet from the pump motors).

Ha, when I saw JaxFL, I should have guessed southern moonshine! ;-). If the distances
are only 5' or so, I think I might just try driving the optoisolators directly from the
Arduino, and see how it goes.

Just a thought. With the system I described last time, a controller reset in the middle
of the process would completely screw up the entire thing, and it would have to be
restarted from the beginning.

With something like you're doing, you could probably just pick up from where the
processor crashed, if it ever crashed. For instance, you could save a count to eeprom
1-2 times per minute, and if the processor resets, start the counter in RAM over at zero,
and compare to the count stored in eeprom, to see whether there was an interruption,
and then pick up from there. You could also track how many resets might have occurred.