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.2.tar.gz (24.1 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.2-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: forkofthemotulator-0.0.2.tar.gz
  • Upload date:
  • Size: 24.1 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.2.tar.gz
Algorithm Hash digest
SHA256 6a4435f73368229882dd9169181ea088455d857607702bd8959f3f569b6a710c
MD5 35dbec8d5a7e8e61332de9daad8c7d3e
BLAKE2b-256 9bd5d24adf5484b7a28e34978e1591b0c1aabb535add890d5d0e9c8ee8817902

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forkofthemotulator-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 256666d4766f137188537d217c4ee49cc402b87c7c8b4672b48239b6a6bb8b34
MD5 dd0520891c4b4781fc4c987a12d2a26e
BLAKE2b-256 3c36522b2ab8111a1431d4b252864cadf346bbcdf3fa7a5e9527b7009361f99e

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