Immer wenn Sie eine Komponente auf Ihrer Leiterplatte platzieren, ist es fast so, als würden Sie wetten. Alle Komponenten haben Toleranzen, und einige davon sind sehr präzise (zum Beispiel Widerstände), aber andere Komponenten können sehr weite Toleranzen bei ihren Nennwerten aufweisen (z.B. Drahtgewickelte Induktoren oder Ferrite). Für den Fall, dass die Toleranzen dieser Komponenten zu groß werden, wie können Sie vorhersagen, wie diese Toleranzen Ihre Schaltkreise beeinflussen werden?
Obwohl Sie Variationen um die nominalen elektrischen Werte (Spannung, Strom oder Leistung) von Hand berechnen könnten, ist das Durchführen dieser Berechnungen von Hand sehr zeitaufwendig, besonders bei großen Schaltkreisen. SPICE-Simulatoren haben jedoch eine sehr nützliche Art der Simulation aus der Wahrscheinlichkeitstheorie übernommen, um Ihnen bei der Beantwortung dieser Fragen zu helfen. Diese Art der Simulation ist als Monte Carlo bekannt, und Sie können diese Simulation jetzt mit dem SPICE-Paket in Altium Designer durchführen.
In diesem Artikel werde ich einen Überblick über die Theorie geben, die zum Verständnis und zum Aufbau von Monte-Carlo-Simulationen notwendig ist. Anschließend werde ich einige Beispielresultate für einen Spannungsreglerkreis zeigen und wie die Ergebnisse durch Toleranzen beeinflusst werden. Monte-Carlo-Simulationen erzeugen eine große Menge an Daten, die Sie nutzen können, um Statistiken für den Betrieb Ihres Schaltkreises zu erstellen. Dies gibt Ihnen eine gute Vorstellung davon, ob Ihr Produkt aufgrund von Toleranzen bei den Bauteilwerten sehr wahrscheinlich Ihren Spezifikationen entspricht.
Monte-Carlo-Simulationen basieren auf einem einfachen Prozess: Zufällig eine Reihe von Zahlen generieren und dann diese zufälligen Zahlen in einem mathematischen Modell verwenden, um etwas Nützliches zu berechnen. Wenn eine Monte-Carlo-Simulation in SPICE verwendet wird, generiert die Simulation die Bauteilwerte in Ihrem Schaltkreis zufällig unter Verwendung von Toleranzen, die Sie definieren. Anschließend verwendet sie diese zufällig generierten Bauteilwerte, um eine Standard-SPICE-Simulation durchzuführen. Dieser Prozess wird mehrmals wiederholt (manchmal hunderte Male), um Ihnen eine Datenmenge zu liefern, die beschreibt, wie sich das Verhalten Ihres Schaltkreises aufgrund von Bauteiltoleranzen ändert.
SPICE-Pakete implementieren Monte-Carlo-Simulationen durch einen einfachen Prozess. Dies umfasst die Generierung von Zufallszahlen und die Berechnung von Spannung und Strom im Standard-SPICE-Algorithmus, gefolgt von der Anzeige der Ergebnisse in einer Tabelle oder einem Diagramm:
In dem kommenden Beispiel habe ich den unten gezeigten Buck-Konverter-Schaltkreis verwendet. Dieser Schaltkreis verwendet eine relativ große Induktivität im Hauptteil (L1), gefolgt von einem L-Filter am Ausgang, um das Schaltungsrauschen weiter zu reduzieren. Der Ausgangskondensator hat einen Snubber-Widerstand, um die Stärke der transienten Antwort zu reduzieren und die Ausgangsspannung zu glätten.
Diese Schaltung soll die Eingangsspannung von 25 V auf etwa 6,75 V herunterregeln. In meiner Simulation werde ich zulassen, dass die Induktivitätswerte um bis zu 30% variieren, und ich werde 15 Durchläufe durchführen. Diese große Variation könnte bei einigen Drahtwickelinduktoren und Ferriten zu finden sein, und die Verwendung einer so großen Variation kann Ihnen helfen zu sehen, welche extremen Werte von Ripple und Überschwingen auftreten könnten.
Der andere Grund, warum der Induktor die variierende Komponente ist, liegt darin, dass er ein entscheidender Faktor für das Ausgangsripple ist, wenn der Wandler im dauerhaften Leitungsmodus betrieben wird. Wir könnten sogar noch einen Schritt weitergehen und den Induktorstrom selbst betrachten, um zu sehen, wie nahe der Induktorstrom dem dauerhaften Leitungsmodus kommt, wenn wir das worst-case elektrische Verhalten wirklich überprüfen müssten.
Einige erste Ergebnisse, die die transiente Antwort bei 30% Variationen in den Komponentenwerten zeigen, sind unten dargestellt. Aus diesem Fenster sehen wir, dass der Wandler bereits ein Überschwingen aufweist, das je nach den Werten der Induktoren zwischen 8,37 V und 8,56 V liegt. Die Werte für die untere Kontur (in Grün, L1 = 91,9 uH, L2 = 6,16 uH) und obere Kontur (in Lila, L1 = 122uH, L2 = 7,64 uH) sind im Diagramm unten markiert.
Jede Kurve entspricht einem Paar zufällig generierter Induktivitätswerte. Aus den Ergebnissen können wir deutlich die Auswirkungen von Variationen in der Induktivität sehen:
Die Tatsache, dass der Ausgangsripple so niedrig bleibt, ist ermutigend; es bedeutet, dass wir uns auf dieses Design verlassen können, um einen konsistenten Ripple zu liefern, vorausgesetzt, es gibt kleine Variationen in allen anderen Parametern.
Ohne auf die Gleichung für das Ausgangsrippel als Funktion der Ausgangsinduktivität zu schauen, ist es natürlich anzunehmen, dass eine Änderung der Induktivität um +/- 30% ähnlich große Variationen in der Ausgangsinduktivität erzeugen würde. Wenn wir jedoch die Gleichung für das Spannungsrippel am Ausgangsstrom für einen Buck-Konverter im kontinuierlichen Leitmodus betrachten, können wir sehen, warum dies nicht der Fall ist:
Da der Induktivitätswert im Nenner steht, wird der Effekt dieser Variationen reduziert. Dies kann man sehen, indem man eine Störung um die nominellen Induktivitätswerte nimmt und betrachtet, wie die Rippelsensitivität proportional zu jeglicher Variation in den Induktivitäten ist:
Der Einfluss dieser Variationen wird durch den Wert der Induktivität reduziert. Mit anderen Worten, eine 30% Toleranz für eine große Induktivität wird eine viel geringere Änderung im Ausgangsrippel erzeugen als die gleiche 30% Toleranz bei einer kleineren Induktivität. Dieses Verhalten ist typisch, wenn die Beziehung zwischen einem elektrischen Wert (in diesem Fall Strom) und dem betreffenden Bauteilwert nichtlinear ist.
Zusätzlich liegt die 3-dB-Grenzfrequenz im Ausgangsfilter (L2 + C2) bereits unter der PWM-Frequenz, die Q1 moduliert. Die 3-dB-Grenzfrequenz in diesem Filterabschnitt beträgt nominell 41,1 kHz, während die Ripple-Frequenz der PWM-Frequenz von 100 kHz entspricht. Das Ripple wird bereits deutlich gefiltert, sodass die resultierenden Variationen in der Grenzfrequenz nicht so starken Einfluss auf das Ausgangsripple haben.
Wenn Sie eine Monte-Carlo-Analyse durchführen möchten, müssen Sie möglicherweise einige statistische Analysen durchführen, um die Grenzen des Verhaltens Ihrer Schaltung aufgrund zufälliger Variationen in den Bauteilwerten wirklich zu verstehen. Im untenstehenden Diagramm habe ich meine obigen transienten Analyseergebnisse genommen und die maximale Spannung, die während der Einschaltphase aufgrund von Überschwingen auftritt, extrahiert. Ich habe den Durchschnitt und die Standardabweichung berechnet, um die Auswirkungen von Variationen in den Induktivitätswerten zu quantifizieren.
Um Ihre transienten Ergebnisse in CSV oder einem anderen Datenformat zu exportieren, verwenden Sie den Befehl Datei → Exportieren → Plot aus dem Hauptmenü in Altium Designer. Sie können dann Ihre Daten in Excel, MATLAB, Mathematica oder ein anderes Datenanalyseprogramm importieren.
Wenn wir ein Konfidenzintervall mit unseren gesammelten Daten und den oben genannten statistischen Werten erstellen, werden 95% dieser Schaltungen ein Überschwingen im Bereich von 8,375 V bis 8,605 V aufweisen. Wenn wir eine weitere Analyse durchführen möchten, wie zum Beispiel eine Worst-Case-Analyse, könnten wir einen dieser Extremwerte verwenden, um das Verhalten der Schaltung zu verstehen.
Um die Zuverlässigkeit statistisch zu bewerten, könnten Sie eine viel größere Anzahl von Simulationen durchführen, sodass Sie viele Datenpunkte zur Ansicht hätten. Mit mehr Daten könnten Sie ein Histogramm aus Ihren extrahierten Messungen erstellen und dies verwenden, um eine Wahrscheinlichkeitsverteilung zu erhalten, die das Verhalten der Schaltung definiert; Sie könnten dann diese Werte verwenden, um die Wahrscheinlichkeit zu bestimmen, dass die Schaltung in einem völlig inakzeptablen Regime arbeitet (jenseits der extremen Werte in unserem Konfidenzintervall).
Nur zum Spaß habe ich die Anzahl der Simulationen in dieser Analyse auf 100 Durchläufe erhöht. Die transienten Ergebnisse mit 100 Iterationen werden unten gezeigt. Aus diesen Kurven können wir erneut die maximale Überspannung während der Einschaltphase extrahieren.
Wenn Sie die Ergebnisse in Excel exportieren, haben Sie nun genügend Daten, um ein Histogramm wie das unten gezeigte zu erstellen. Die überlagerte orangefarbene Kurve zeigt die kumulative Funktion, die aus den gruppierten Daten bestimmt wurde; sie zeigt, welcher Prozentsatz der Daten auf oder unterhalb der aktuellen Gruppe liegt und kann als Maß für den erwarteten Betriebsbereich dieses Schaltkreises verwendet werden.
Die Quintessenz hier ist, dass wir eine schnelle und einfache Methode haben, um zu überprüfen, wie die Schaltkreisleistung angesichts der Komponententoleranzen variieren wird. Wenn die Ergebnisse nicht innerhalb unserer Spezifikationen oder Sicherheitsmargen liegen, muss der Schaltkreis vor der Erstellung des PCB-Layouts und dem Zusammenbau eines Prototyps modifiziert werden.
Wenn Sie an der Durchführung von Monte-Carlo-Simulationen für Ihre Schaltkreise innerhalb von Altium Designer® interessiert sind, benötigen Sie kein externes Simulationspaket oder spezialisierte Analyse-Software. Alles, was Sie benötigen, um Ihre Schaltkreise zu bewerten und Zuverlässigkeitssimulationen durchzuführen, finden Sie im Schaltplan-Editor in Altium Designer. Sobald Sie Ihre PCB fertiggestellt haben und bereit sind, Ihre Entwürfe mit Mitarbeitern oder Ihrem Hersteller zu teilen, können Sie Ihre fertigen Entwürfe über die Plattform Altium 365™ teilen. Alles, was Sie benötigen, um fortschrittliche Elektronik zu entwerfen und zu produzieren, finden Sie in einem Softwarepaket.
Wir haben nur an der Oberfläche dessen gekratzt, was mit Altium Designer auf Altium 365 möglich ist. Starten Sie heute Ihre kostenlose Testversion von Altium Designer + Altium 365.