Skip to main content

Motor Drive Simulator in Python

Project description

motulator: Motor Drive Simulator in Python

Introduction

This open-source software includes simulation models for an induction motor, a synchronous reluctance motor, and a permanent-magnet synchronous motor. The motor models are simulated in the continuous-time domain while the control algorithms run in discrete time. The default solver is the explicit Runge-Kutta method of order 5(4) from scipy.integrate.solve_ivp. Simple control algorithms are provided as examples.

PWM waveformsSpeed and torque waveforms

Installation

This software can be installed using pip:

pip install motulator

Alternatively, the repository can be cloned. Running __init__.py in the folder motulator allows importing the package.

Usage

The following example shows how to create a continuous-time system model, a discrete-time controller, and a simulation object:

import motulator as mt

# Continuous-time model for the drive system
motor = mt.InductionMotor()     # Motor model
mech = mt.Mechanics()           # Mechanics model
conv = mt.Inverter() 	        # Converter model
mdl = mt.InductionMotorDrive(motor, mech, conv)

# Discrete-time controller 
pars = mt.InductionMotorVectorCtrlPars() 	# Dataclass of control parameters
ctrl = mt.InductionMotorVectorCtrl(pars) 	# Sensorless controller

# Create a simulation object, simulate, and plot example figures
sim = mt.Simulation(mdl, ctrl)
sim.simulate()
mt.plot(sim)

This example applies the default settings. However, the drive system, controller, reference sequences etc. are easy to configure, see the folder examples for example scripts. New system models and controllers can be developed using the existing ones as templates. More features will be added later.

The documentation is available here:

https://aalto-electric-drives.github.io/motulator/

Acknowledgement

This project has been sponsored by ABB Oy. The example control methods included in this repository are based on published algorithms (available in textbooks and scientific articles). They do not present any proprietary control software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

motulator-0.0.5.tar.gz (27.8 kB view details)

Uploaded Source

Built Distribution

motulator-0.0.5-py3-none-any.whl (36.8 kB view details)

Uploaded Python 3

File details

Details for the file motulator-0.0.5.tar.gz.

File metadata

  • Download URL: motulator-0.0.5.tar.gz
  • Upload date:
  • Size: 27.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.2

File hashes

Hashes for motulator-0.0.5.tar.gz
Algorithm Hash digest
SHA256 d15ca938d71fa9034144b9401e1e74078f6fbbd890ca139ea105261068e0ee14
MD5 83f3b582694f574e7ad316550a9ee60a
BLAKE2b-256 3c84e3c0ea1fd70a8768ee683c1a51b4ce0064e4fd89f62d8408bf606d0b8c0a

See more details on using hashes here.

File details

Details for the file motulator-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: motulator-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 36.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.2

File hashes

Hashes for motulator-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ca45867a53aee304ee29e172667a897372d2f9b9b88f74ac9d7aa5b0416ffe7c
MD5 cea4f76698ba44185f72e27afa36e1fc
BLAKE2b-256 935b07c54d0ed3213d590fb37d0e7a72372d2ff7e13e951a721fd49e375806c7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page