Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <table>
- <tr>
- <th rowspan="3">Inputs:</th>
- <td>Hole dia</td>
- <td><input id="dia" onkeyup="calculate()" type="text" value="18" name="dia"></td>
- <td><select id="diaUnits" onchange="calculate()" name="diaUnits">
- <option value="1">mil</option>
- <option value="39.37" selected>mm</option>
- <option value="0.03937">um</option>
- </select></td>
- </tr>
- <tr>
- <td>Plating thickness</td>
- <td><input id="thickness" onkeyup="calculate()" type="text" value="1" name="thickness"></td>
- <td><select id="thicknessUnits" onchange="calculate()" name="thicknessUnits">
- <option value="1">mil</option>
- <option value="39.37" selected>mm</option>
- <option value="0.03937">um</option>
- </select></td>
- </tr>
- <tr>
- <td>Via length</td>
- <td><input id="length" onkeyup="calculate()" type="text" value="60" name="length"></td>
- <td><select id="lengthUnits" onchange="calculate()" name="lengthUnits">
- <option value="1">mil</option>
- <option value="39.37" selected>mm</option>
- <option value="0.03937">um</option>
- </select></td>
- </tr>
- <tr>
- <th rowspan="2">Additional Inputs:</th>
- <td>Applied current</td>
- <td><input id="current" onkeyup="calculate()" type="text" value="1" name="current"></td>
- <td>A</td>
- </tr>
- <tr>
- <td>Plating resistivity</td>
- <td><input id="resistivity" onkeyup="calculate()" type="text" value="1.9e-6" name="resistivity"></td>
- <td>Ohm×cm</td>
- </tr>
- <tr>
- <th rowspan="5">Results:</th>
- <td>Resistance</td>
- <td><input id="resistance" onkeyup="calculate()" type="text" name="resistance"></td>
- <td>Ohm</td>
- </tr>
- <tr>
- <td>Voltage drop</td>
- <td><input id="voltage drop" onkeyup="calculate()" type="text" name="voltage drop"></td>
- <td>V</td>
- </tr>
- <tr>
- <td>Power loss</td>
- <td><input id="power loss" onkeyup="calculate()" type="text" name="power loss"></td>
- <td>W</td>
- </tr>
- <tr>
- <td>Estimated ampacity</td>
- <td><input id="ampacity" onkeyup="calculate()" type="text" name="ampacity"></td>
- <td>A</td>
- </tr>
- <tr>
- <td>Thermal resistance</td>
- <td><input id="thermal resistance" onkeyup="calculate()" type="text" name="thermal resistance"></td>
- <td>°C/W</td>
- </tr>
- </table>
- <script language="javascript">
- function calculate() {
- // Getting input
- dia = document.getElementById("dia").value;
- thickness = document.getElementById("thickness").value;
- length = document.getElementById("length").value;
- current = document.getElementById("current").value;
- resistivity = document.getElementById("resistivity").value * 1000 / 2.54;
- // Getting units of input
- dia_unit = document.getElementById("diaUnits").value;
- thickness_unit = document.getElementById("thicknessUnits").value;
- length_unit = document.getElementById("lengthUnits").value;
- // Converting input to heterogeneous units, see http://www.wolframalpha.com/input/?i=um+to+mil;+mm+to+mil for details
- dia *= dia_unit;
- thickness *= thickness_unit;
- length *= length_unit;
- // Calculating
- rhoth = 98;
- area = Math.PI * (dia + thickness) * thickness;
- resistance = resistivity * length / area;
- thermal_resistance = rhoth * length / area;
- voltage_drop = current * resistance;
- power_loss = current * voltage_drop;
- // IPC-2221 external layers constants
- k = 0.048;
- b = 0.44;
- c = 0.725;
- delta_t = 10;
- ampacity = k * Math.pow(delta_t, b) * Math.pow(area, c);
- // Output
- document.getElementById("resistance").value = resistance.toPrecision(3);
- document.getElementById("voltage drop").value = voltage_drop.toPrecision(3);
- document.getElementById("power loss").value = power_loss.toPrecision(3);
- document.getElementById("thermal resistance").value = thermal_resistance.toPrecision(3);
- document.getElementById("ampacity").value = ampacity.toPrecision(3);
- }
- calculate();
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement