Please take a minute to review and accept our Terms of Use.
Welcome to the PLECS User Forum, where you can ask questions and receive answers from other members of the community.

Many technical questions regarding PLECS are answered on the Technical Solutions page of our website. Tutorial videos, specific application examples, and pre-recorded webinars are available on our YouTube page. Please follow us on LinkedIn for the latest Plexim news.

DTC SVM - Direct Torque Control using State Vector Modulation PWM

0 votes

Is there any models of doing Direct Torque Control through State Vector Modulation?

asked Mar 9, 2023 by pH (18 points)

1 Answer

0 votes
Refer to the "Induction Machine Drive Controlled with DTC” demo model.

The demo uses the “Combinatorial Logic” Block (Ztab) to determine the state vector.  An explanation of the modulator logic is below, in case you find it unclear.

The combinatorial block inputs are:
- 3 binary signals reflecting the flux sector.  There are six total sectors, represented by the integers 0-5.
- 1 binary signal representing flux control (1 = increase or 0 = decrease flux)
- 1 binary signal representing torque control (1 = increase or 0 = decrease torque)

Referring to lines 7-25 in the Model Initialization Commands - Z0 - Z7 are the 8 state vectors for a two level inverter.  Ztab is a lookup table that takes those 5x binary inputs and selects one of the switching state vectors.  Tab entries are in a 1D row.  The row is calculated based on the binary inputs.  You can calculate the row using the 5x binary inputs as follows: row = 1+2^4*u[1]+2^3*u[2]+2^2*u[3]+2^1*u[4]+2^0*u[5].  You can enter that calculation into a “function” block in PLECS (without the ‘row = ‘ portion of the equation).

For example, to increase torque and increase flux in sector 2, the signal would be 00111, resulting in row 8 of Tab which is the space vector Z3.
answered Mar 13, 2023 by Bryan Lieblick (1,941 points)