Estoy tratando de modelar el control de un microcontrolador que (en Desarrollo en tiempo real) no admite la resolución continua de tiempo. Entonces, en lugar de eso tengo que usar Discrete Time Solver. ¿Cómo sustituyo el INTEGRADOR DE SEGUNDO ORDEN por un INTEGRADOR DE TIEMPO DISCRETO? La ecuación que estoy modelando es una ecuación diferencial de segundo orden.
Ecuación: m.y "= F_coil - Ks.x -mg
donde
y "= d ^ 2 (x) / dt
F_coil = ((ni) ^ 2) / (2.g ^ 2)
{donde n = número de vueltas
i = actual
g = espacio de aire
Ks = Carga previa del resorte
x = distancia recorrida por el émbolo del solenoide}
m = masa del émbolo
g = constante gravitacional
Intencionalmente, esto es fácil usando un integrador de segundo orden. Pero cuando uso el integrador de tiempo discreto, la salida es completamente diferente. Tiempo continuo de salida del integrador: 0.067 Salida de Integrador de Tiempo Discreto: 3207
¿CÓMO PUEDO LOGRAR LO MISMO CON INTEGRADOR DE TIEMPO DISCRETO?
Estoy agradecido por cualquier comentario y, por favor, ¡dime si necesitas más información!
EDIT : COMPRUEBE LA IMAGEN (corresponde a la ecuación dada):