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.5.tar.gz (28.7 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.5-py3-none-any.whl (38.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: forkofthemotulator-0.0.5.tar.gz
  • Upload date:
  • Size: 28.7 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.5.tar.gz
Algorithm Hash digest
SHA256 ef00a5bac116c31da9e6988b961dc06357d2ef03659e5847c5f8f88067165b9a
MD5 117e3d37936e0ea6b797352d29b3c39f
BLAKE2b-256 0720b5adf85b4372ec4d86e52a4e3d917cc24724f8a87a6d5702c50ea59a3abf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forkofthemotulator-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 962eb8544c20f2ae45dc2b05ebd7256e2af5aa7c059241180155efe5c14b17b6
MD5 91acc5e01539f85c149460f2bad3e4ae
BLAKE2b-256 1f244e4db0afeb411c99e6ed718bbd1d8819d163d122c73198a02e22740ef750

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