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.4.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.4-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: forkofthemotulator-0.0.4.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.4.tar.gz
Algorithm Hash digest
SHA256 b463a13662c6b686c8df2c840eb3610ace7300ff6c232d8f16240616e26e0dd3
MD5 56e572f2c0b635db9664ff27d5bbb68e
BLAKE2b-256 8e1d465e098dda1058b558dfe3ce4b70f73284acf67ac6c78df427769008129f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forkofthemotulator-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5a25e9639560d0537e5ab85f014c0087015ba356c3f33c18a442179f2fec95ea
MD5 e176d5e33f4311dfec1ce1a6a651d961
BLAKE2b-256 a874fec0ac1b9e52d8e1a14aa59081900382ec63625dce2b24431c66ed921887

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