modelOpAmpLimited
Information
Operational amplifier with saturation:
- Input currents are zero.
- No-load amplification is high (but not infinite).
- Output voltage is limited between positive and negative supply.
Supply voltage is either defined by parameter Vps and Vns or by (optional) pins s_p and s_n.
In the first case the necessary power is drawn from an implicit internal supply, in the second case from the external supply.
For most applications it is sufficient to use default settings useFirstOrder=false (default on the Advanced-tab).
In this case the intermediate voltage v_int is simply V0*v_in.
In some applications it might be necessary to set useFirstOrder=true
to let the intermediate voltage v_int rise according to a firstOrder with time constant Tau.
In that case the time constant Tau should fit to the dynamics of the input signal.
If this intermediate voltage v_int gets higher than positive supply, Boolean satPos indicates positive saturation.
If this intermediate voltage v_int gets lower than negative supply, Boolean satNeg indicates negative saturation.
Intermediate voltage v_int is limited between positive supply and negative supply to achieve output voltage v_out without further events.
Initialization
v_in.start and i_out.start are just helpful starting values during initialization,
it is unlikely that it is necessary to change the start values and / or to declare them as fixed.
If it is necessary to use useFirstOrder=true, it is essential to initialize intermediate voltage v_int correctly.
As a default, default initialization (Linear) is sufficient: v_int = V0*v_in.
However, in some cases the initialization has more than one solution and it is desired to set
v_int at the positive supply (UpperLimit) or
v_int at the negative supply (LowerLimit).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Real | V0 | 15000.0 | No-load amplification |
| Boolean | useSupply | false | Use supply pins (otherwise constant supply) |
| SI.Voltage | Vps | +15 | Positive supply voltage |
| SI.Voltage | Vns | -15 | Negative supply voltage |
| Advanced | |||
| Boolean | useFirstOrder | false | Use firstOrder rise of output voltage |
| SI.Time | Tau | 1e-5 | Time constant of firstOrder rise of output voltage |
| Modelica.Electrical.Analog.Types.InitOpAmp | initOpAmp | Modelica.Electrical.Analog.Types.InitOpAmp.Linear | Initialization of firstOrder rise of output voltage |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Electrical.Analog.Interfaces.PositivePin | in_p | Positive pin of the input port | |
| Modelica.Electrical.Analog.Interfaces.NegativePin | in_n | Negative pin of the input port | |
| Modelica.Electrical.Analog.Interfaces.PositivePin | out | Pin of the output port | |
| Modelica.Electrical.Analog.Interfaces.PositivePin | s_p | Optional positive supply pin | |
| Modelica.Electrical.Analog.Interfaces.NegativePin | s_n | Optional negative supply pin |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | satPos | v_int >= vps | Positive Saturation |
| Boolean | satNeg | v_int <= vns | Negative Saturation |
| SI.Voltage | vps | Positive supply voltage | |
| SI.Voltage | vns | Negative supply voltage | |
| SI.Voltage | v_in | in_p.v - in_n.v | Input voltage difference |
| SI.Voltage | v_int | Intermediate voltage | |
| SI.Voltage | v_out | out.v | Output voltage to ground |
| SI.Current | i_out | out.i | Output current into OpAmp |
| SI.Power | p_in | in_p.v*in_p.i + in_n.v*in_n.i | Input power |
| SI.Power | p_out | out.v*out.i | Output power |
| SI.Power | p_s | -(p_in + p_out) | Supply power |
| SI.Current | i_s | p_s/(vps - vns) | Supply current |