Skip to content

Faulty parameter propagation in IntersectivePWM #4089

@christiankral

Description

@christiankral

In the model Modelica.Electrical.PowerConverters.DCAC.Control.IntersectivePWMIntersectivePWM there are issue with the propagation of three parameters:

1 Array size of trapezoid

Modelica.Blocks.Sources.Trapezoid trapezoid[3](...);

should be

Modelica.Blocks.Sources.Trapezoid trapezoid[m](...);

2 Start time porpagated to trapezoid

  Modelica.Blocks.Sources.Trapezoid trapezoid[3](
    each final amplitude=uMax,
    each final width=0,
    each final nperiod=-1,
    each final offset=-uMax/2,
    each final rising=0.5/f,
    each final falling=0.5/f,
    each final period=1/f,
    final startTime={startTime - 1.25 + (if refType == ReferenceType.Triangle1
         then 0 else k)/m for k in 0:m - 1}/f)
         if (refType==ReferenceType.Triangle1 or refType==ReferenceType.Triangle3);

The units of the expression final startTime=startTime - 1.25 + (if refType == ReferenceType.Triangle1 then 0 else k)/m for k in 0:m - 1}/f do not match as startTime is added 1.25 and other real expressions.

3 Start time porpagated to sawTooth

Similar issue as 2. The propagation reads final startTime={startTime - 1.5 + (if refType == ReferenceType.Sawtooth1 then 0 else k)/m for k in 0:m - 1}/f


I understand the different phase start times associated with Triangle1 and Triangle3 but I can only suspect that the term 1.5 shall ensure that

  • all the reference signals are fully up at time >= startTime
  • the first reference signal start with half the maximum value

So my understanding for a three phase saw tooth PWM is:

sawTooth3

Metadata

Metadata

Assignees

Labels

L: Electrical.PowerConvertersIssue addresses Modelica.Electrical.PowerConvertersbugCritical/severe issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions