Comment puis-je calculer l'élévation de température d'une carte de circuit imprimé pour une dissipation de puissance et une zone données?

5

J'ai un PCB d'environ 4 "x 4". Il y a une seule longue trace en spirale dessus. La trace est en cuivre 50 mil 4 oz, donc nominalement, elle convient à quelque chose comme une vingtaine d’ampères avant qu’elle ne surchauffe. Mais cette planche surchauffe beaucoup plus vite. Ma supposition est que la proximité des enroulements a un effet composé sur la chaleur.

Maintenant, je suppose que je pourrais augmenter la surface du PCB et dissiper ainsi la même puissance avec moins d’élévation de température. Ma question est, comment calcule-t-on un tel? Quelle est la relation entre la puissance dissipée par mon avion en cuivre, son élévation de température et sa surface? Supposons encore l'air.

Stephen Collings
la source
Les traces sont-elles suffisamment rapprochées pour pouvoir être modélisées efficacement (à des fins de dissipation de chaleur) sous la forme d'un plan de cuivre de 50 mils?
Chris Mueller
Je pense que c'est une bonne approximation. Les enroulements de trace ont une largeur de 50 mils et un espacement de 10 mils.
Stephen Collings
Combien de couches est la planche? Si la carte est plus multicouche, le support de taille via correspond aux exigences actuelles
Mahendra Gunawardena
Deux couches, pas d'internes.
Stephen Collings
On dirait que votre limite actuelle est d'environ 7 à 8 ampères de courant. Cela explique pourquoi le circuit imprimé surchauffe.
Mahendra Gunawardena

Réponses:

4

Hypothèses:

qjen=je2R.
qrune=εσUNE(T4-Ts4)
qconv=hUNE(T-Ts).

qjen=qovoustje2R=UNE[σ(T4-Ts4)(εcvous+εpcb)+(T-Ts)(hvousp+hown)]
σ(εcvous+εpcb)T4+(hvous+h)T-[je2RUNE+σ(εcvous+εpcb)Ts4+(hvous+h)Ts]=0.

R=1Ω

Température de la planche

Voici le code Python aussi:

import scipy.optimize as opt
import numpy as np
import matplotlib.pyplot as plt

# Define the function with some extra variables
def tempOpt( t, ts, i):
    sigma = 5.67e-8
    ec = 0.78
    ep = 0.50
    hu = 7.25
    hd = 3.63
    r  = 1
    a  = 0.0103
    e = ec + ep
    h = hu + hd
    out = sigma*e*t**4 + h*t - i**2*r/a - sigma*e*ts**4 - h*ts
    return out

# Decide the ranges for the current and temperature
currents = np.linspace( 0.1, 20, 50)
temps = [0, 20, 40, 60, 80, 100]

# Calculate the value
resDict = dict()
for temp in temps:
    resVec = np.zeros( np.shape( currents))
    cnt = 0
    for current in currents:
        # Define a new function of one variable and a minimum at zero
        # Don't forget to convert between Kelvin and Celcius
        def tempNow( t):
            return abs( tempOpt( t+273.15, temp+273.15, current))
        # Find the minimum with a reasonable guess
        guess = temp + 30
        resVec[cnt] = opt.fmin( tempNow, 30)
        cnt += 1
    # Store results in dictionary
    resDict[temp] = resVec

# Plot
plt.figure(1)
plt.clf()
for temp in temps:
    plt.plot( currents, resDict[temp], lw=2)
plt.xlabel('Current (A)')
plt.ylabel('Board Temp ($^\circ$C)')
leg = plt.legend( temps, loc=2)
leg.set_title( '$T_s$ ($^\circ$C)')
plt.title('Board Temperature (R=1$\Omega$)')
Chris Mueller
la source
4

Basez-vous sur un calcul rapide utilisant la calculatrice de courant max en ligne pour les propriétés de largeur de trace, je pense que vos traces sont sous-dimensionnées pour 20 A de courant.

Les calculs de courant de ligne à bande (traces internes) pour 50 mil de cuivre 4 oz sont

  • Courant maximum: 3,76 ampères
  • Température de trace: 35.0 ° C
  • Résistance: 0.0000640 ohms
  • Chute de tension: 0.000241 volts
  • Dissipation de puissance: 0.000904 watts

Le courant maximal microruban (traces externes) pour 50 mil 4 oz de cuivre est

  • Courant maximum: 7.51 ampères
  • Température de trace: 35.0 ° C
  • Résistance: 0.0000640 ohms
  • Chute de tension: 0.000480 volts
  • Dissipation de puissance: 0.00361 watts

Référence:

Mahendra Gunawardena
la source