kopplung von femag und der umrichtersimulation plecs

Post on 14-Apr-2022

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

electrical engineering software

Kopplung von FEMAG und der Umrichtersimulation PLECS

Electronics: Apple

GE Appliance

Panasonic

Philips

Tyco

Semiconductors: ABB

Infineon

Texas Instruments

Transphorm

Wolfspeed

Aerospace: Boeing

Goodrich

GE Aviation

Northrop Grumman

UTC Aerospace

Automotive: BMW

Ford

General Motors

Mercedes Benz

Toyota

!2

Some of our Customers Today

High Power: ABB

Alstom

Bombardier

GE Energy

Siemens

Automation & Drives: Danfoss

Eaton

Hilti

Lenze

Rockwell

Renewables: American Superconductor

Danfoss

Schneider Electric

SMA

Yaskawa

Telecoms: Delta

Emerson Network Power

GE Critical Power

Huawei

Intel

Academic: Aachen

Aalborg

Nottingham

Wisconsin at Madison

Virginia Tech

Model based design with PLECS

Requirements

System Design MIL Simulation

Software Design SIL Simulation

MCU Code Verification PIL Simulation

Integration HIL Simulation

Calibration

!3

Power converter

Controller

LoadPower input Power output

Control signals

Reference

Measurement

vi ii io vo

Heat

!4

Circuit and System Level Modelling

Instantaneous switching

Fast and efficient simulation

PLECS System Model

!5

Non-ExcitedSMShaftInertisShaftStiffness

ShaftDamping

Mass

WheelGearBacklash

HardStop

2-LevelIGBTConv.

3

V

Electrical Interface Mechanical Load

Electrical Machines

Different machine models

!6

Slip-RingIM

Squirrel-CageIM

Open-WindingIM

SaturableSlip-RingIM

Salient-PoleSM

Round-RotorSM

Perm.-MagnetSM

Non-ExcitedSM

Sync.Rel.Machine

BLDCMachine

BLDC

BLDCMachine(Simple)

BLDC

DCMachine SwitchedReluctanceMachine(6/4)

3

3 6/4SRM

SwitchedReluctanceMachine(8/6)

4

4 8/6SRM

SwitchedReluctanceMachine(10/8)

5

5 10/8SRM

Implementation AC Machines

!7

x = Ax+Bu

y = Cx+Du

<latexit sha1_base64="cwnGlDc+jGpowo/+V/hk+BIkynU=">AAACCHicbVDLSgMxFM3UVx1foy5dGCyCIJQZEXQj1NaFywr2AZ2hZNJMG5p5kId0GLp046+4caGIWz/BnX9jpu1CWw8Ezj3n3iT3+AmjQtr2t1FYWl5ZXSuumxubW9s71u5eU8SKY9LAMYt520eCMBqRhqSSkXbCCQp9Rlr+sJb7rQfCBY2je5kmxAtRP6IBxUhqqWsdur1YZqMxvILXI3gKq8p1zVRXtby6UV2rZJftCeAicWakBGaod60vfSNWIYkkZkiIjmMn0ssQlxQzMjZdJUiC8BD1SUfTCIVEeNlkkTE81koPBjHXJ5Jwov6eyFAoRBr6ujNEciDmvVz8z+soGVx6GY0SJUmEpw8FikEZwzwV2KOcYMlSTRDmVP8V4gHiCEudnalDcOZXXiTNs7Kj+d15qVKdxVEEB+AInAAHXIAKuAV10AAYPIJn8ArejCfjxXg3PqatBWM2sw/+wPj8ATxBluM=</latexit><latexit sha1_base64="cwnGlDc+jGpowo/+V/hk+BIkynU=">AAACCHicbVDLSgMxFM3UVx1foy5dGCyCIJQZEXQj1NaFywr2AZ2hZNJMG5p5kId0GLp046+4caGIWz/BnX9jpu1CWw8Ezj3n3iT3+AmjQtr2t1FYWl5ZXSuumxubW9s71u5eU8SKY9LAMYt520eCMBqRhqSSkXbCCQp9Rlr+sJb7rQfCBY2je5kmxAtRP6IBxUhqqWsdur1YZqMxvILXI3gKq8p1zVRXtby6UV2rZJftCeAicWakBGaod60vfSNWIYkkZkiIjmMn0ssQlxQzMjZdJUiC8BD1SUfTCIVEeNlkkTE81koPBjHXJ5Jwov6eyFAoRBr6ujNEciDmvVz8z+soGVx6GY0SJUmEpw8FikEZwzwV2KOcYMlSTRDmVP8V4gHiCEudnalDcOZXXiTNs7Kj+d15qVKdxVEEB+AInAAHXIAKuAV10AAYPIJn8ArejCfjxXg3PqatBWM2sw/+wPj8ATxBluM=</latexit><latexit sha1_base64="cwnGlDc+jGpowo/+V/hk+BIkynU=">AAACCHicbVDLSgMxFM3UVx1foy5dGCyCIJQZEXQj1NaFywr2AZ2hZNJMG5p5kId0GLp046+4caGIWz/BnX9jpu1CWw8Ezj3n3iT3+AmjQtr2t1FYWl5ZXSuumxubW9s71u5eU8SKY9LAMYt520eCMBqRhqSSkXbCCQp9Rlr+sJb7rQfCBY2je5kmxAtRP6IBxUhqqWsdur1YZqMxvILXI3gKq8p1zVRXtby6UV2rZJftCeAicWakBGaod60vfSNWIYkkZkiIjmMn0ssQlxQzMjZdJUiC8BD1SUfTCIVEeNlkkTE81koPBjHXJ5Jwov6eyFAoRBr6ujNEciDmvVz8z+soGVx6GY0SJUmEpw8FikEZwzwV2KOcYMlSTRDmVP8V4gHiCEudnalDcOZXXiTNs7Kj+d15qVKdxVEEB+AInAAHXIAKuAV10AAYPIJn8ArejCfjxXg3PqatBWM2sw/+wPj8ATxBluM=</latexit><latexit sha1_base64="cwnGlDc+jGpowo/+V/hk+BIkynU=">AAACCHicbVDLSgMxFM3UVx1foy5dGCyCIJQZEXQj1NaFywr2AZ2hZNJMG5p5kId0GLp046+4caGIWz/BnX9jpu1CWw8Ezj3n3iT3+AmjQtr2t1FYWl5ZXSuumxubW9s71u5eU8SKY9LAMYt520eCMBqRhqSSkXbCCQp9Rlr+sJb7rQfCBY2je5kmxAtRP6IBxUhqqWsdur1YZqMxvILXI3gKq8p1zVRXtby6UV2rZJftCeAicWakBGaod60vfSNWIYkkZkiIjmMn0ssQlxQzMjZdJUiC8BD1SUfTCIVEeNlkkTE81koPBjHXJ5Jwov6eyFAoRBr6ujNEciDmvVz8z+soGVx6GY0SJUmEpw8FikEZwzwV2KOcYMlSTRDmVP8V4gHiCEudnalDcOZXXiTNs7Kj+d15qVKdxVEEB+AInAAHXIAKuAV10AAYPIJn8ArejCfjxXg3PqatBWM2sw/+wPj8ATxBluM=</latexit>

Basierend auf gesteuerten Stromquellen (Rotor reference frame)

Basierend auf variablen Induktivitäten (Voltage behind reactance)

Components: Rotational Backlash

Restricts relative displacement of two gears

No torque transmitted in interval Hard stop:

Backlash:

!8

Gear 1

Gear 2

Backlash

✓ 2 (�b/2, b/2)

θmin θmaxθ

τ

Sticking

Slidingbackward

Slidingforward

� > �brk � < -�brk

> 0 < 0

�brk-�

�C cv�

Components: Rotational Friction

Combines static and sliding friction in a rotational system Sticking Mode

Sliding Mode

!9

⌧ 2 {0, |⌧brk|}⌧ = �(⌧c + cv · !)

electrical engineering software

Plexim GmbH

Technoparkstrasse 1 CH-8005 Zurich

Phone +41 44 533 51 00 Email info@plexim.com Web www.plexim.com

Plexim, Inc.

5 Upland Road, Suite 4 Cambridge, MA 02140

Phone +1 617 209 2121 Email info@plexim.com Web www.plexim.com

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Coupling FEMAG with PLECSFEMAG Anwendertreffen 2018

Ronald Tanner

ProFEMAG AG

Friedrichshafen, 14./15. November 2018

R. Tanner FEMAG and PLECS 1 / 6

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Architecture and Procedure

R. Tanner FEMAG and PLECS 2 / 6

create machine modelrun FE simulationcreate lookup tablesrun system simulationprocess results

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Prepare Drive System Model

R. Tanner FEMAG and PLECS 3 / 6

Set Simulation Parameters/Initialization:Load Lookup-Tables for PMSM-Machine- andMTPA-Blocks as MAT-Files:Mtpa = load('mtpa.mat');Mot.mag_t = load('psidq.mat');

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Python Script (1): Create Model, Run Simulation

R. Tanner FEMAG and PLECS 4 / 6

machine = {"name": "PM 270 L8","poles": 8,"outer_diam": 0.26924,"bore_diam": 0.16192,"inner_diam": 0.11064,"airgap": 0.00075,"lfe": 0.08356,"stator": {

"num_slots": 48,"mcvkey_yoke": "M330 -50A","statorRotor3": {

"slot_height": 0.0335,...

}},"magnet": {

"mcvkey_yoke": "M330 -50A","magnetIronV": {

"magn_angle": 145.0,...}

},"windings": {

"num_phases": 3,"num_layers": 1,"num_wires": 9,"coil_span": 6.0,...

}}

simulation = {"calculationMode": "psd_psq_fast","magn_temp": 60.0,"maxid": 0.0,"minid": -200.0,"maxiq": 200.0,"miniq": -200.0,"delta_id": 40.0,"delta_iq": 40.0,"speed": 50.0

}

femag = femagtools.Femag(workdir ,magnetizingCurves='.')

r = femag(machine , simulation)

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Python Script (2): Create Lookup Tables

R. Tanner FEMAG and PLECS 5 / 6

id = r['psidq ']['id']iq = r['psidq ']['iq']_psid = scipy.interpolate.RectBivariateSpline(

iq, id, np.array(r['psidq ']['psid ']))_psiq = scipy.interpolate.RectBivariateSpline(

iq, id, np.array(r['psidq ']['psiq ']))

ldd = _psid(iq, id, dx=0, dy=1)lqq = _psiq(iq, id, dx=1, dy=0)ldq = _psid(iq, id, dx=1, dy=0)lqd = _psiq(iq, id, dx=0, dy=1)

scipy.io.savemat('psidq.mat' ,

dict(imd=np.array(id).reshape(1, -1),imq=np.array(iq).reshape(1, -1),Psid=_psid(iq, id).T,Psiq=_psiq(iq, id).T,Lmidd=ldd.T,Lmiqq=lqq.T,Lmidq=ldq.T

))

nsamples = 14tsamples = 14Tmax = 200nmax = 8000/60umax = 300Tvec = np.linspace(-Tmax, Tmax, tsamples)nvec = np.linspace(0, nmax, nsamples)r1 = 0.015ls = 1e-4pm = femagtools.machine.create(bch, r1, ls)

iqdtq = np.array([[pm.iqd_torque_imax_umax(T, n, umax)

for T in Tvec]for n in nvec])

tq = np.array([[pm.torque_iqd(x, y)for x in iq] for y in id])

scipy.io.savemat('mtpa.mat' ,

dict(torque=Tvec.reshape(1, -1),ws=nvec.reshape(1, -1),id=iqdtq[:, :, 1].T,iq=iqdtq[:, :, 0].T,maxtorque=np.max(iqdtq[:, :, 2]),mintorque=np.min(iqdtq[:, :, 2]),imd=np.array(id).reshape(1, -1),imq=np.array(iq).reshape(1, -1),Te=tq.T))

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

...

.

Python Script (3): Run System Simulation

R. Tanner FEMAG and PLECS 6 / 6

Send XML-RPC-Requests to the running PLECS instanceto load system model, start simulation and process results:

plecs_model = "pmsm-mtpa-fw"with xmlrpc.client.ServerProxy(

"http://localhost:1080/RPC2") as server:server.plecs.load(os.path.join(os.getcwd(),

plecs_model + ".plecs"))opts = {'ModelVars ': {'Vbat': 500}}result = server.plecs.simulate(plecs_model , opts)

time = result['Time']i1 = result['Values '][0:3]psi = result['Values '][3:5]wm = result['Values '][5]torque = result['Values '][6]

Conclusion:With Python a fast and easy coupling of PLECS andFEMAG can be realized which allows a detailedsimulation and optimization of complete drive systems.

top related