How to model a fuse with PSIM

How to Model a Fuse in PSIM

Modelling a fuse in PSIM is an extension of modelling a variable resistor. We use can use a controlled current source and Ohm’s Law, V = IR, or V/R = I. In this way we just need to define R = f(x,y,z, etc). For a fuse R will either be a nominal on resistance or an open circuit modelled by a very large impedance. For our fuse model the complexity is to figure how long until the fuse blows given an overcurrent condition. Lets have a look at these fuses from littlefuse, this is a link to the 466 series of fuses. This figure shows us what we need to model.

A graph with lines and numbersDescription automatically generated

Modeling the variable impedance

This portion of the model is modeling the variable impedance of the fuse, we are measuring the voltage across the current source then using the math block to do V/R = I. The two inputs to the math block are voltage and resistance.

A computer screen shot of a computer programDescription automatically generated

Don’t forget to define the partial derivatives. You can see the output of the math block directly maps back to the current source. Lets now understand how R is developed.

Modeling the resistance of the fuse

The resistance of the fuse is modelled by this math block you can see that it is an conditional logic if else statement. If the input “x” is >= 1 then, the output “R” is 1Mega Ohm, else R = 0.019 Ohms or the nominal on state resistance, in this case of the 3A fuse.

A screenshot of a computerDescription automatically generated

A computer screen shot of a computer programDescription automatically generated

Defining the state of the fuse

In this model the fuse can have two possible states: blown or nominal. The fuse will blow is a fault current is applied for long enough, that time to blow also needs to dynamically change if the fault current changes during the fault event. There is an elegant way of dealing with this, if we integrate “1” we get the value of 1 in 1 second, if we integrate 1/500m we get “1” in 500ms, 1/100m in 100ms. Shown by the simple demo below.


A diagram and diagram of a graphDescription automatically generated

The integrals have a time constant of 1 and a limit of 0,1.

So we can use this with 1/(time to blow) and we will get a dynamic adjustment of the blow time to changing fault current.

A screenshot of a computerDescription automatically generated

The lookup table is the curve I vs time from the datasheet, add negative current values or use an abs on the input as the fuse is bidirectional. You can easily trace the curve with our curve import wizard. This math block has conditional logic the outputs a “1” or “-1” based on the overcurrent value for the 3A fuse of 5.1359 Amps. If we are in overcurrent the output is 1 and nominal is -1. Notice the use of the abs(x) for the bidirectional nature of the fuse.

A screenshot of a computer programDescription automatically generated

We take the 1 or -1 to the next math block and we can see if we are in a fault the output of this math block is 1/(time to blow) if we are not in a fault current the output is -1/(time to blow). This output goes to the integrator, the integrator has limits of 0,10. The upper limit is arbitrary, it just needs to be above 1. The lower limit of 0 is how we are implementing a soft reset or cool down of the fuse when a fault current was applied and then releases. During fault it is accumulating when it is not in fault, we have a negative number on the input so it will slowly go back to 0, the lower limit.

A screenshot of a computerDescription automatically generated


This last part of the circuit is a latch to latch the fuse “blown”

A diagram of a block diagramDescription automatically generated


Other topics of interest

You might also be interested in: