Chaque fois que vous placez un composant sur votre PCB, c'est presque comme si vous jouiez. Tous les composants ont des tolérances, et certaines de ces tolérances sont très précises (les résistances, par exemple), mais d'autres composants peuvent avoir des tolérances très larges sur leurs valeurs nominales (par exemple, les inductances bobinées ou les ferrites). Dans le cas où les tolérances de ces composants deviennent trop importantes, comment pouvez-vous prédire comment ces tolérances affecteront vos circuits ?
Alors que vous pourriez calculer les variations autour des valeurs électriques nominales (tension, courant ou puissance) à la main, effectuer ces calculs manuellement est très chronophage, surtout dans les grands circuits. Cependant, les simulateurs SPICE ont emprunté un type de simulation très utile de la théorie des probabilités pour vous aider à répondre à ces questions. Ce type de simulation est connu sous le nom de Monte Carlo, et vous pouvez maintenant effectuer cette simulation avec le package SPICE dans Altium Designer.
Dans cet article, je vais fournir un aperçu de la théorie impliquée dans la compréhension et la construction de simulations de Monte Carlo, puis je montrerai quelques résultats d'exemple pour un circuit régulateur de puissance et comment les résultats sont affectés par les tolérances. Les simulations de Monte Carlo génèrent beaucoup de données que vous pouvez utiliser pour prendre des statistiques sur le fonctionnement de votre circuit, et cela vous donne une bonne idée de si votre produit est très susceptible de fonctionner selon vos spécifications en raison des tolérances sur les valeurs des composants.
Les simulations de Monte Carlo fonctionnent sur un processus simple : générer aléatoirement un ensemble de nombres, puis utiliser ces nombres aléatoires dans un modèle mathématique pour calculer quelque chose d'utile. Lorsqu'une simulation de Monte Carlo est utilisée dans SPICE, la simulation génère les valeurs des composants de votre circuit de manière aléatoire en utilisant les tolérances que vous définissez. Elle utilise ensuite ces valeurs de composants générées aléatoirement pour exécuter une simulation SPICE standard. Ce processus est répété plusieurs fois (parfois des centaines de fois) pour vous donner un ensemble de données décrivant comment le comportement de votre circuit change en raison des tolérances des composants.
Les packages SPICE implémentent les simulations de Monte Carlo à travers un processus simple. Cela implique la génération de nombres aléatoires et le calcul de la tension et du courant dans l'algorithme SPICE standard, suivi de l'affichage des résultats dans un tableau ou un graphique :
Dans l'exemple suivant, j'ai utilisé le circuit de convertisseur abaisseur illustré ci-dessous. Ce circuit utilise une inductance relativement grande dans la section principale (L1), suivie d'un filtre L en sortie pour réduire davantage le bruit de commutation. Le condensateur de sortie possède une résistance de snubber pour aider à réduire l'intensité de la réponse transitoire et lisser la tension de sortie.
Ce circuit est conçu pour réduire la tension d'entrée de 25 V à environ 6,75 V. Dans ma simulation, je vais permettre aux valeurs des inductances de varier jusqu'à 30 %, et je réaliserai 15 essais. Cette grande variation pourrait être trouvée dans certains inducteurs bobinés et ferrites, et utiliser une telle variation importante peut vous aider à voir quelles pourraient être les valeurs extrêmes de l'ondulation et du dépassement.
L'autre raison pour laquelle l'inducteur est le composant varié dans ce cas est qu'il est un déterminant majeur de l'ondulation de sortie lorsque le convertisseur fonctionne en mode de conduction continue. Nous pourrions même aller plus loin et examiner le courant de l'inducteur lui-même pour voir à quel point le courant de l'inducteur se rapproche de la conduction continue si nous avions vraiment besoin de vérifier le pire comportement électrique.
Des premiers résultats montrant la réponse transitoire avec des variations de 30 % dans les valeurs des composants sont présentés ci-dessous. Depuis cette fenêtre, nous constatons que le convertisseur présente déjà un dépassement variant de 8,37 V à 8,56 V, selon les valeurs des inductances. Les valeurs pour le contour inférieur (en vert, L1 = 91,9 uH, L2 = 6,16 uH) et le contour supérieur (en violet, L1 = 122uH, L2 = 7,64 uH) sont marquées sur le graphique ci-dessous.
Chaque courbe correspond à une paire de valeurs d'inductance générées aléatoirement. À partir des résultats, nous pouvons clairement voir les effets des variations dans l'inductance :
Le fait que l'ondulation de sortie reste si faible est encourageant ; cela signifie que nous pouvons compter sur cette conception pour produire une ondulation constante en supposant de petites variations dans tous les autres paramètres.
Sans regarder l'équation du bruit de sortie en fonction de l'inductance de sortie, il est naturel de supposer qu'un changement de l'inductance de +/- 30% produirait des variations également importantes dans l'inductance de sortie. Cependant, si nous examinons l'équation de l'ondulation de la forme d'onde de tension sur le courant de sortie pour un convertisseur abaisseur fonctionnant en mode de conduction continu, nous pouvons voir pourquoi ce n'est pas le cas :
Comme la valeur de l'inductance est au dénominateur, l'effet de ces variations est réduit. Vous pouvez voir cela en prenant une perturbation autour des valeurs nominales de l'inducteur et en regardant comment la sensibilité du bruit est proportionnelle à toute variation dans les inductances :
L'impact de ces variations est réduit par la valeur de l'inducteur. En d'autres termes, une tolérance de 30% pour un gros inducteur créera un changement beaucoup plus faible dans le bruit de sortie que la même tolérance de 30% sur un petit inducteur. Ce comportement est typique lorsque la relation entre une certaine valeur électrique (le courant dans ce cas) est liée de manière non linéaire à la valeur du composant en question.
En outre, la fréquence de coupure à -3 dB dans le filtre de sortie (L2 + C2) est déjà inférieure à la fréquence de modulation PWM qui module Q1. La coupure à -3 dB dans cette section de filtre est nominalement de 41,1 kHz, tandis que la fréquence de l'ondulation correspond à la fréquence PWM de 100 kHz. L'ondulation sera déjà significativement filtrée, donc les variations résultantes dans la fréquence de coupure n'ont pas tant d'impact sur l'ondulation de sortie.
Si vous envisagez de réaliser une analyse de Monte Carlo, vous devrez peut-être effectuer une analyse statistique pour vraiment comprendre les limites du comportement de votre circuit en raison de variations aléatoires dans les valeurs des composants. Dans le graphique ci-dessous, j'ai pris mes résultats d'analyse transitoire ci-dessus et extrait la tension maximale qui se produit pendant la phase de mise sous tension en raison du dépassement. J'ai calculé la moyenne et l'écart type pour quantifier les effets des variations dans les valeurs d'inductance.
Pour exporter vos résultats transitoires en format CSV ou autre format de données, utilisez la commande Fichier → Exporter → Tracé depuis le menu principal dans Altium Designer. Vous pouvez ensuite importer vos données dans Excel, MATLAB, Mathematica ou tout autre programme d'analyse de données.
Si nous construisons un intervalle de confiance en utilisant nos données collectées et les valeurs statistiques ci-dessus, 95 % de ces circuits présenteront un dépassement de tension variant de 8,375 V à 8,605 V. Si nous souhaitions effectuer une analyse plus approfondie, comme une analyse du pire cas, nous pourrions utiliser l'une de ces valeurs extrêmes pour comprendre le comportement du circuit.
Pour évaluer statistiquement la fiabilité, vous pourriez exécuter un nombre beaucoup plus important de simulations, vous auriez donc beaucoup de points de données à examiner. Avec plus de données, vous pourriez construire un histogramme à partir de vos mesures extraites et utiliser cela pour obtenir une distribution de probabilité qui définit le comportement du circuit ; vous pourriez alors utiliser ces valeurs pour déterminer la probabilité que le circuit fonctionne dans un régime totalement inacceptable (au-delà des valeurs extrêmes de notre intervalle de confiance).
Juste pour le plaisir, j'ai augmenté le nombre de simulations effectuées dans cette analyse à 100 itérations. Les résultats transitoires avec 100 itérations sont montrés ci-dessous. À partir de ces courbes, nous pouvons à nouveau extraire la tension de dépassement maximale pendant la phase de mise sous tension.
Si vous exportez les résultats dans Excel, vous aurez désormais suffisamment de données pour créer un histogramme comme celui montré ci-dessous. La courbe orange superposée montre la fonction cumulative déterminée à partir des données regroupées ; elle indique quel pourcentage des données se trouve au niveau ou en dessous du compartiment actuel et peut être utilisé comme mesure de la plage de fonctionnement attendue de ce circuit.
Le point à retenir ici est que nous disposons d'une méthode rapide et facile pour vérifier comment la performance du circuit variera en fonction des tolérances des composants. Si les résultats ne sont pas conformes à nos spécifications ou marges de sécurité, alors le circuit devra être modifié avant de créer le layout du PCB et d'assembler un prototype.
Si vous êtes intéressé par l'exécution de simulations de Monte Carlo pour vos circuits dans Altium Designer®, vous n'avez pas besoin d'un package de simulation externe ou d'un logiciel d'analyse spécialisé. Tout ce dont vous avez besoin pour évaluer vos circuits et effectuer des simulations de fiabilité se trouve à l'intérieur de l'éditeur schématique dans Altium Designer. Une fois que vous avez terminé votre PCB et que vous êtes prêt à partager vos conceptions avec des collaborateurs ou votre fabricant, vous pouvez partager vos conceptions achevées via la plateforme Altium 365™. Tout ce dont vous avez besoin pour concevoir et produire des électroniques avancées se trouve dans un seul package logiciel.
Nous n'avons fait qu'effleurer la surface de ce qu'il est possible de faire avec Altium Designer sur Altium 365. Commencez votre essai gratuit d'Altium Designer + Altium 365 dès aujourd'hui.