PCB trace

From HwB

(Difference between revisions)
(Completely rewritten)
Line 30: Line 30:
  
 
== Graph ==
 
== Graph ==
=== Outer traces (1-10 A) ===
+
=== Outer traces (0-1 A) ===
 
<gnuplot>
 
<gnuplot>
   set output 'PCB_trace_outer1.png'
+
   set output 'PCB_trace_outer2.png'
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set size 1.0,1.0
 
   set size 1.0,1.0
 
   set grid x y
 
   set grid x y
   set ytics 0,10
+
   set ytics 0,1
   set xtics 0,1
+
   set xtics 0,0.1
 
   set xlabel "Current [A]"
 
   set xlabel "Current [A]"
 
   set ylabel "PCB trace width [mils]"
 
   set ylabel "PCB trace width [mils]"
   plot [x=1:10] (((x/(0.048*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.048*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.048*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
+
   plot [x=0:1] (((x/(0.048*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.048*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.048*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
 
</gnuplot>
 
</gnuplot>
=== Inner traces (1-10 A) ===
+
=== Outer traces (1-10 A) ===
 
<gnuplot>
 
<gnuplot>
   set output 'PCB_trace_inner1.png'
+
   set output 'PCB_trace_outer1.png'
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set size 1.0,1.0
 
   set size 1.0,1.0
 
   set grid x y
 
   set grid x y
   set ytics 0,25
+
   set ytics 0,10
 
   set xtics 0,1
 
   set xtics 0,1
 
   set xlabel "Current [A]"
 
   set xlabel "Current [A]"
 
   set ylabel "PCB trace width [mils]"
 
   set ylabel "PCB trace width [mils]"
   plot [x=1:10] (((x/(0.024*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.024*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.024*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
+
   plot [x=1:10] (((x/(0.048*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.048*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.048*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
 
</gnuplot>
 
</gnuplot>
=== Outer traces (0-1 A) ===
+
=== Inner traces (0-1 A) ===
 
<gnuplot>
 
<gnuplot>
   set output 'PCB_trace_outer2.png'
+
   set output 'PCB_trace_inner2.png'
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set size 1.0,1.0
 
   set size 1.0,1.0
Line 64: Line 64:
 
   set xlabel "Current [A]"
 
   set xlabel "Current [A]"
 
   set ylabel "PCB trace width [mils]"
 
   set ylabel "PCB trace width [mils]"
   plot [x=0:1] (((x/(0.048*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.048*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.048*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
+
   plot [x=0:1] (((x/(0.024*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.024*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.024*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
 
</gnuplot>
 
</gnuplot>
=== Inner traces (0-1 A) ===
+
=== Inner traces (1-10 A) ===
 
<gnuplot>
 
<gnuplot>
   set output 'PCB_trace_inner2.png'
+
   set output 'PCB_trace_inner1.png'
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set terminal png notransparent interlace size 800,400 enhanced
 
   set size 1.0,1.0
 
   set size 1.0,1.0
 
   set grid x y
 
   set grid x y
   set ytics 0,1
+
   set ytics 0,25
   set xtics 0,0.1
+
   set xtics 0,1
 
   set xlabel "Current [A]"
 
   set xlabel "Current [A]"
 
   set ylabel "PCB trace width [mils]"
 
   set ylabel "PCB trace width [mils]"
   plot [x=0:1] (((x/(0.024*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.024*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.024*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
+
   plot [x=1:10] (((x/(0.024*10**0.44))**(1/0.725))/1.378) title "10 degrees C", (((x/(0.024*20**0.44))**(1/0.725))/1.378) title "20 degrees C", (((x/(0.024*30**0.44))**(1/0.725))/1.378) title "30 degrees C"
 
</gnuplot>
 
</gnuplot>
  

Revision as of 20:28, 27 January 2007

According to IPC-2221 (formerly IPC-D-275, MIL-STD-275)

Below table is valid for:

  • PCB material FR-4
    • Board thickness=1.6mm (0.063")
    • Trace thickness=35µm (1 oz)
  • Allowed temperature rise=10 °C

Contents

Table

Current Width (inner) Width (outer)
A mils mils
0.010.3080.118
0.051.540.591
0.13.081.18
0.26.152.37
0.412.34.73
0.412.34.73
0.515.45.91
0.618.57.1
0.721.58.28
0.824.69.46
0.927.710.6
1.030.811.8

Note: 1 mil = 1/1000" = 0.0254 mm

Graph

Outer traces (0-1 A)

Gnuplot Plot

Outer traces (1-10 A)

Gnuplot Plot

Inner traces (0-1 A)

Gnuplot Plot

Inner traces (1-10 A)

Gnuplot Plot

Formula

Given:

  • I [A] (Current)
  • T [°C] (Temperature rise)
  • m [oz] (Mass of PCB trace)

Constants:

  • y = 1.378 [mils/oz] for copper
  • b = 0.44
  • c = 0.725
  • k = 0.048 (for outer layers)
  • k = 0.024 (for inner layers)

Formulas:

  • A [mils²] = <math>{(\frac {I}Template:KT^b)}^{\frac {1}{c}}</math> (PCB trace area)
  • l [mils] = <math>\frac {A}{m y}</math> (PCB trace width)

Links