Skip to main content

A package for the motulator fork

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

forkofthemotulator-0.0.3.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forkofthemotulator-0.0.3-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file forkofthemotulator-0.0.3.tar.gz.

File metadata

  • Download URL: forkofthemotulator-0.0.3.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.5

File hashes

Hashes for forkofthemotulator-0.0.3.tar.gz
Algorithm Hash digest
SHA256 f930649cd09316024fb8ee1d70a5fdf1eb38e69cf430f5fbfc0174b894e43ffa
MD5 6b7a35e862385e34d32aac78c4fb2757
BLAKE2b-256 79d58866fe5c8fb364b63614f367ed9fb82b7f2a5786d4a3f9dd69fccfdb4029

See more details on using hashes here.

File details

Details for the file forkofthemotulator-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for forkofthemotulator-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 652aa30a82174d65c1391b1ee57fab94f77f5278ae5b06f5ce0deaeff88bf08c
MD5 0f7f86a317fed15f9c741a1accf576bb
BLAKE2b-256 0d475b965d2d04359eef3fae0def6a39b2d8e9307276fcca207e30aa405f81c5

See more details on using hashes here.

Supported by

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