Cada vez que colocas un componente en tu PCB, es casi como si estuvieras apostando. Todos los componentes tienen tolerancias, y algunas de estas son muy precisas (por ejemplo, los resistores), pero otros componentes pueden tener tolerancias muy amplias en sus valores nominales (por ejemplo, inductores de hilo o ferritas). En el evento de que las tolerancias en estos componentes se vuelvan demasiado grandes, ¿cómo puedes predecir cómo estas tolerancias afectarán a tus circuitos?
Mientras que podrías calcular variaciones alrededor de los valores eléctricos nominales (voltaje, corriente o potencia) a mano, realizar estos cálculos manualmente consume mucho tiempo, especialmente en circuitos grandes. Sin embargo, los simuladores SPICE han tomado prestado un tipo de simulación muy útil de la teoría de probabilidad para ayudarte a responder estas preguntas. Este tipo de simulación es conocido como Monte Carlo, y ahora puedes realizar esta simulación con el paquete SPICE en Altium Designer.
En este artículo, proporcionaré una visión general de la teoría involucrada en la comprensión y construcción de simulaciones de Monte Carlo, luego mostraré algunos resultados de ejemplo para un circuito regulador de potencia y cómo los resultados se ven afectados por las tolerancias. Las simulaciones de Monte Carlo generan una gran cantidad de datos que puedes usar para tomar estadísticas sobre la operación de tu circuito, y esto te da una buena idea de si tu producto tiene una alta probabilidad de funcionar según tus especificaciones debido a las tolerancias en los valores de los componentes.
Las simulaciones de Monte Carlo operan en un proceso simple: generar aleatoriamente un conjunto de números y luego usar esos números aleatorios en un modelo matemático para calcular algo útil. Cuando se usa una simulación de Monte Carlo en SPICE, la simulación genera los valores de los componentes en tu circuito de manera aleatoria usando las tolerancias que defines. Luego, utiliza estos valores de componentes generados aleatoriamente para ejecutar una simulación SPICE estándar. Este proceso se repite múltiples veces (a veces cientos de veces) para darte un conjunto de datos que describen cómo cambia el comportamiento de tu circuito debido a las tolerancias de los componentes.
Los paquetes SPICE implementan simulaciones de Monte Carlo a través de un proceso simple. Esto implica la generación de números aleatorios y el cálculo de voltaje y corriente en el algoritmo estándar de SPICE, seguido por la visualización de resultados en una tabla o gráfico:
En el ejemplo a continuación, he utilizado el circuito convertidor buck mostrado abajo. Este circuito utiliza un inductor relativamente grande en la sección principal (L1), seguido por un filtro L en la salida para reducir aún más el ruido de conmutación. El capacitor de salida tiene una resistencia de amortiguación para ayudar a reducir la intensidad de la respuesta transitoria y suavizar el voltaje de salida.
Este circuito está diseñado para reducir la entrada de 25 V a aproximadamente 6.75 V. En mi simulación, voy a permitir que los valores del inductor varíen hasta un 30%, y realizaré 15 pruebas. Esta gran variación se encontraría en algunos inductores de hilo y ferritas, y usar una variación tan grande puede ayudarte a ver cuáles podrían ser los valores extremos de ondulación y sobretensión.
La otra razón por la que el inductor es el componente variado es que es un determinante principal de la ondulación de salida cuando el convertidor opera en el modo de conducción continua. Incluso podríamos ir un paso más allá y mirar la corriente del inductor en sí para ver cuán cerca viene la corriente del inductor a la conducción continua si realmente necesitáramos verificar el peor comportamiento eléctrico.
Algunos resultados iniciales que muestran la respuesta transitoria dada variaciones del 30% en los valores de los componentes se muestran a continuación. Desde esta ventana, vemos que el convertidor ya muestra algo de sobrepico que varía desde 8.37 V hasta 8.56 V, dependiendo de los valores de los inductores. Los valores para el contorno inferior (en verde, L1 = 91.9 uH, L2 = 6.16 uH) y el contorno superior (en púrpura, L1 = 122uH, L2 = 7.64 uH) están marcados en el gráfico a continuación.
Cada curva corresponde a un par de valores de inductores generados aleatoriamente. A partir de los resultados, podemos ver claramente los efectos de las variaciones en el inductor:
El hecho de que el rizado de salida permanezca tan bajo es alentador; significa que podemos confiar en este diseño para producir un rizado consistente asumiendo pequeñas variaciones en todos los demás parámetros.
Sin mirar la ecuación para la ondulación de salida como función de la inductancia de salida, es natural asumir que un cambio en la inductancia de +/- 30% produciría variaciones igualmente grandes en la inductancia de salida. Sin embargo, si observamos la ecuación para la ondulación de la forma de onda de voltaje en la corriente de salida para un convertidor buck operando en el modo de conducción continua, podemos ver por qué este no es el caso:
Debido a que el valor de la inductancia está en el denominador, el efecto de esas variaciones se reduce. Puedes ver esto tomando una perturbación sobre los valores nominales del inductor y observando cómo la sensibilidad de la ondulación es proporcional a cualquier variación en las inductancias:
El impacto de estas variaciones se reduce por el valor del inductor. En otras palabras, una tolerancia del 30% para un inductor grande creará un cambio mucho menor en la ondulación de salida que la misma tolerancia del 30% en un inductor más pequeño. Este comportamiento es típico cuando la relación entre algún valor eléctrico (la corriente en este caso) está relacionada de manera no lineal con el valor del componente en cuestión.
Además, la frecuencia de corte de 3 dB en el filtro de salida (L2 + C2) ya está por debajo de la frecuencia PWM que modula Q1. La caída de 3 dB en esta sección del filtro es nominalmente de 41.1 kHz, mientras que la frecuencia de ondulación coincide con la frecuencia PWM de 100 kHz. La ondulación ya será filtrada significativamente, por lo que las variaciones resultantes en la frecuencia de corte no tienen tanto impacto en la ondulación de salida.
Si vas a realizar un análisis de Monte Carlo, puede que necesites hacer algún análisis estadístico para entender realmente los límites del comportamiento de tu circuito debido a variaciones aleatorias en los valores de los componentes. En el gráfico a continuación, he tomado mis resultados de análisis transitorio anteriores y extraído el voltaje máximo que ocurre durante la fase de encendido debido al sobrepaso. He calculado el promedio y la desviación estándar para cuantificar los efectos de las variaciones en los valores de inductancia.
Para exportar tus resultados transitorios en formato CSV u otro formato de datos, usa el comando Archivo → Exportar → Gráfico desde el menú principal en Altium Designer. Luego puedes importar tus datos a Excel, MATLAB, Mathematica u otro programa de análisis de datos.
Si construimos un intervalo de confianza utilizando nuestros datos recogidos y los valores estadísticos anteriores, el 95% de estos circuitos mostrarán un sobrepico que varía de 8.375 V a 8.605 V. Si quisiéramos realizar un análisis más profundo, como un análisis de peor caso, podríamos usar cualquiera de estos valores extremos para entender el comportamiento del circuito.
Para evaluar la fiabilidad estadísticamente, podrías realizar un número mucho mayor de simulaciones, de modo que tendrías muchos puntos de datos para observar. Con más datos, podrías construir un histograma a partir de tus mediciones extraídas y usar esto para obtener una distribución de probabilidad que define el comportamiento del circuito; entonces podrías usar estos valores para determinar la probabilidad de que el circuito opere en un régimen totalmente inaceptable (más allá de los valores extremos en nuestro intervalo de confianza).
Solo por diversión, he aumentado el número de simulaciones realizadas en este análisis a 100 iteraciones. Los resultados transitorios con 100 iteraciones se muestran a continuación. A partir de estas curvas, podemos extraer nuevamente el voltaje de sobrepico máximo durante la fase de encendido.
Si exportas los resultados a Excel, ahora tendrás suficientes datos para crear un histograma como el que se muestra a continuación. La curva naranja superpuesta muestra la función acumulativa determinada a partir de los datos agrupados; muestra qué porcentaje de los datos se encuentra en o por debajo del contenedor actual y puede usarse como medida del rango de operación esperado de este circuito.
La conclusión aquí es que tenemos una forma rápida y fácil de verificar cómo variará el rendimiento del circuito dadas las tolerancias de los componentes. Si los resultados no están dentro de nuestras especificaciones o márgenes de seguridad, entonces el circuito necesitará ser modificado antes de crear el diseño del PCB y ensamblar un prototipo.
Si estás interesado en ejecutar simulaciones de Monte Carlo para tus circuitos dentro de Altium Designer®, no necesitas un paquete de simulación externo o software de análisis especializado. Todo lo que necesitas para evaluar tus circuitos y realizar simulaciones de fiabilidad se puede encontrar dentro del editor esquemático en Altium Designer. Una vez que hayas completado tu PCB y estés listo para compartir tus diseños con colaboradores o tu fabricante, puedes compartir tus diseños completados a través de la plataforma Altium 365™. Todo lo que necesitas para diseñar y producir electrónica avanzada se puede encontrar en un solo paquete de software.
Solo hemos arañado la superficie de lo que es posible hacer con Altium Designer en Altium 365. Comienza tu prueba gratuita de Altium Designer + Altium 365 hoy.