es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo implementar una carga de potencia constante (CPL)

¿Cómo implemento una carga de potencia constante?

Considere el siguiente circuito. Este contiene una carga de potencia constante que representa consumidores de energía que consumen (en este ejemplo) 10 W más o menos constantemente. ¿Cómo puedo crear un “modelo” que se ajuste de manera que consuma 10 W?

Mi enfoque ingenuo fue el siguiente:

c
modelo ConstantPowerLoad
  extiende Modelica.Electrical.Analog.Interfaces.OnePin;
  parámetro Modelica.Units.SI.Power P "El valor de potencia constante";
  ecuación
    v * p.i = P;
end ConstantPowerLoad;

Esto no funcionó y obtengo el mensaje “No se pudo resolver el sistema no lineal utilizando el solucionador de Newton”. Probablemente sea porque la corriente i es cero al inicio, lo que hace que v * 0 = P con v, P > 0. Entonces intenté agregar una resistencia inicial cuando la corriente es cero. Pero aún así, esto no funciona. Obtengo el mismo error.

c
modelo ConstantPowerLoad
  extiende Modelica.Electrical.Analog.Interfaces.OnePin;
  parámetro Modelica.Units.SI.Power P "El valor de potencia constante";
  parámetro Modelica.Units.SI.Resistance R_internal = 1e-3 "Una resistencia ficticia al inicio";
ecuación 
  si p.i == 0.0 entonces
    R_internal * p.i = v;
  sino
    v * p.i = P;
  fin si;
end ConstantPowerLoad;

Jugué con muchos “si” y “cuando”, pero simplemente no puedo hacerlo funcionar.

Soy muy nuevo en modelica y este tipo de simulaciones. Por lo tanto, agradecería mucho no solo una solución sino también lo que estoy pensando estructuralmente mal y, si es posible, una explicación de por qué mi código no funciona.

¡Muchas gracias de antemano!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para implementar una carga de potencia constante en Modelica, necesitamos usar una ecuación no lineal que relacione voltaje, corriente y potencia. Podemos hacer esto definiendo una variable auxiliar R como la resistencia de la carga, que es una función del voltaje y la corriente. Luego, podemos usar la ecuación de potencia P = v^2/R para obtener el comportamiento deseado, de la siguiente manera:

    model ConstantPowerLoad
      extends Modelica.Electrical.Analog.Interfaces.OnePin;
      parameter Modelica.Units.SI.Power P "El valor de potencia constante";
      Modelica.SI.Resistance R "La resistencia de la carga";
    equation 
      R = v^2/P;
      v * p.i = P;
    end ConstantPowerLoad;
    

    En este modelo, R se define como v^2/P, lo que asegura que la potencia consumida por la carga siempre sea P. La ecuación v * p.i = P asegura que la corriente a través de la carga sea consistente con la potencia y el voltaje.

    Este enfoque funciona porque la ecuación de R es no lineal, lo que le permite adaptarse a los cambios en voltaje y corriente para mantener un consumo de potencia constante. También evita los problemas de inicio que surgen cuando la corriente es inicialmente cero, ya que la ecuación de R depende solo de v.

Comments are closed.