Estoy intentando crear un modelo de un IGBT con el modelo Z de LTspice.
Iniciado con los valores por defecto funciona. Cuando cambio los parámetros más y más me sale el "error de matriz singular" para ciertas combinaciones.
Hago un DOE, es decir, cambio cada valor más/menos un 10% y simulo todas las combinaciones posibles; 1024 combinaciones con 10 parámetros. Con el método fraccionario lo reduje a 64 combinaciones, la mayoría pasan 60-63 y 1-4 cometen el error, es decir, valores similares funcionan.
Ya he añadido Rs y Cs que no tienen sentido eléctricamente, pero he reducido la tasa de error del 25% inicial a dichos 1-4 errores.
¿Alguien tiene idea de qué más se puede hacer?
Si elimino el esquema del recuadro rojo, el circuito del recuadro verde funcionará; si el circuito del recuadro rojo está presente, también obtengo resultados erróneos para el circuito del recuadro verde.
Sé que LTspice compila un circuito en una matriz, y si algo va mal en la matriz también afectará a cosas eléctricamente independientes.
Es importante calcular la característica de salida Ic vs Uce y Uce max en el mismo esquema, porque el optimizador sólo maneja un esquema a la vez.
¿Alguna idea de opciones o piezas adicionales para solucionarlo? .options noopiter
o gmin=0
no tienen ningún resultado a las direcciones correctas.
\===============================================
APÉNDICE:
Para permitir una mejor comprensión de cuál es el problema, aquí está mi proyecto completo con la simulación y el error de matriz singular:
Definí los parámetros del IGBT como variables y cambié esto por una herramienta para simular una tabla DOE fraccionada. La herramienta escribirá un netlist e iniciará LTspice en modo batch, pero con un único inicio manual de LTspice con los mismos parámetros IGBT tengo el mismo error; es independiente de la herramienta: el netlist es el mismo, los errores son los mismos.
Cuando simulo el circuito del recuadro rojo y el circuito del recuadro verde por separado no obtengo ningún error.
Por lo tanto, he borrado una vez el cicuit en rojo y otra vez el circuito en verde, por lo que estoy seguro de que no hay diferencia entre los circuitos.
Esta es la tabla con los resultados de la caja verde, está completa:
Y este es el resultado para la caja roja, también está completa:
Si simulo los dos juntos, caja roja y verde en un esquema, la caja verde tiene los errores marcados en amarillo, si simulo estos puntos manualmente obtengo un error de matriz singular la mayoría de las veces; a veces LTspice chasquea.
Necesito los dos juntos porque el optimizador que se ejecuta detrás de la tabla DOE tiene que encontrar la característica de salida y el máximo voltaje Uce para los valores dados en la hoja de datos. No puede ejecutar dos archivos separados.
Para encontrar el maximo voltaje Uce es posible cambiar la corriente para I1, tambien cambiarlo a una fuente de voltaje, pero todo lo que intente tiene el error en algunos casos.
Los resultados de la tabla DOE deben estar completos para crear una función de transferencia válida para el optimizador.
He cambiado veces en una fuente de tensión, han limitado la tensión máxima de lo contrario hay aún más problemas
Y aunque el barrido DC no cambia nada a la hora de determinar la tensión máxima hay diferentes resultados
Y también aquí, aunque eléctricamente no es relevante con el Barrido CC, los condensadores influyen en los resultados.
El procedimiento con las 65 configuraciones está automatizado, es un optimizador que crea una función de transferencia a partir de las 65 configuraciones para variables de salida previamente definidas, que se simulan con LTspice, a partir de los resultados y las variables de entrada. A continuación, las variables de entrada se definen con el fin de alcanzar los valores objetivo para las variables de salida lo mejor posible a través de la función de transferencia. Con estas nuevas variables se crea de nuevo una tabla DOE y se repite todo, el número de iteraciones lo defino yo, entre 10 y 25, eso significa de 650 a 1625 simulaciones y la solución debe entonces funcionar para todas, sin C's la tasa de error es >20% con C's es ~3%, pero eso entonces tampoco es solución, debe ser 0%.
Ahora la razón por la cual no lo simule por separado, el optimizador hasta ahora solo trabaja con un solo netlist, de un solo "archivo LOG" se leen los resultados. Si lo simulo por separado, no puedo tener en cuenta la influencia mutua de la característica de salida y la tensión máxima al crear la función de transferencia.
Pero parece que la única solución es cambiar el optimizador para que tenga en cuenta los netlists múltiples.
ACTUALIZACIÓN: He cambiado el optimizador para que varios archivos ltspice pueden ser llamados para recoger los datos para una configuración. Esto significa que la determinación de la tensión máxima se puede hacer por separado del mapa de salida en una simulación separada. La simulación .op y .dc sólo para el voltaje máximo no trajo el 100% de éxito, hubo menos errores de simulación pero todavía demasiados. El cambio de R de 100n a 1m aumentó el número de errores, contrariamente a la teoría de que es más fácil cuando los números están más juntos. Las capacidades en la simulación .op o .dc en realidad no tienen influencia en el comportamiento de error del simulador, pero al final no son una solución cuando tiene que funcionar estable durante cientos de configuraciones.
La última idea entonces era hoy, hago un análisis .tran y medir la tensión de CC después de que el sistema se asienta, esto no es notablemente más lento y hasta ahora más de 400 simulaciones sin errores Importante la opción "iniciar la tensión de alimentación de CC externa a 0V", porque en el punto de funcionamiento hubo problemas di debe ser omitido
En cuanto a los errores de simulación que tengo para 400 simulaciones no hay diferencia si tengo el R = 100n o Rg = 1 y Rs = 1m, ambos se ejecuta bien
Parece que el modelo IGBT es más robusto para la simulación de transitorios.
Actualización de los resultados