Skip to main content

In drones or in robotics, brushless motors are becoming more and more common. However, choosing the right motor for the right application can be quite difficult. Indeed, understanding datasheets can be quite complexe: is a motor with a no-load speed of 5000rpm more powerful that one with the same torque, but specified for 3000rpm at max torque? How do you compare a motor with a KV of 500 rpm/V with one with a Kt of 0.5Nm/Arms? And what do these value even mean? Sometimes you might feel like nobody can answer - well now, Nemo can!

Nemo is a Nifty Evaluator for MOtors - more practically, it is a tool to compare brushless motors (PMSM). While the choice of the "best" motor ultimately depends on the application, Nemo will help you in making a fair comparison between motors from various manufacturers, to truly understand their limit. It also offers a simulation of a basic Field Oriented Control (FOC) controller, which can be used to easily configure the gains of the various feedback loops.

Let's take an example: My Actuator's pancake motors. How does the old RMD-L-7025, equipped with a 1:6 gearbox, compare to the newer RMD-X6 1:6. Well, here are the motor's characteristics (torque-speed curve) and specs for a direct comparison:

Nemo can be used to:

  • compare motors from different manufacturers and choose the best for a given application
  • obtain detailed information about a motor, like output power, efficiency, required battery current... that may not be available on the datasheet
  • simulate motor motion with a typical FOC driver - which can come in handy when tuning the feedback gains
  • more generally, learn about brushless motors, as the full mathematical model is detailed here

Please see the User Manual for more information on the software.

Important note: Nemo works by using the classical linear model of non-sallient PMSM. While this model is known to be fairly accurate (being the base of Field-Oriented Control), in practice non-linear phenomenons can alter motor performance (magnetic saturation, cogging, friction...). Also, motor parameters usually vary between one unit and another (manufacturers typically guarantee them by 10%). Thus, values from the manufacturer's datasheet may differ from those given by Nemo: when in doubt, don't hesitate to ask the manufacturer about their datasheet. As always in engineering, remain cautious and plan system dimensioning with a reasonable margin of error.

Installing Nemo

Dependency: PyGObject

Nemo depends on PyGObject, python bindings for the GTK library. Refer to the PyGObject documentation for instruction on how to install it on your system.

Python install

Nemo is distributed though PyPi and can just be installed using pip:

pip install nemo_bldc

You can also install it from source by downloading this repo and running:

pip install .

Windows binary

For Windows, you can simply use this binary ; you can of course also install it in a python environment by following the above instructions.

Metadata

Release files for nemo-bldc 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nemo-bldc 1.1.0
File Size Uploaded
nemo_bldc-1.1.0.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for nemo-bldc 1.1.0
File Interpreter ABI Platform
nemo_bldc-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 MB

Release files / nemo_bldc-1.1.0.tar.gz

Download URL nemo_bldc-1.1.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
7c2e736ac61fb63c2a30bb9838acf4c5d50574b89744d636fef25bb5665978b7
BLAKE2b-256 checksum
How to use checksums
564bd42d76a620b4e593d860ee9d5e540e6c00d0205660a8e97587bf4bac6d59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.14

Release files / nemo_bldc-1.1.0-py3-none-any.whl

Download URL nemo_bldc-1.1.0-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b7b07a643ad1fe1c26d5ca4d1c989d43e7e7863edeccce2196fa24a130cc489d
BLAKE2b-256 checksum
How to use checksums
1b6143eb36f5e22d2844f690bc5547bcff8cb25b51a77a6c78dc338d9b30347a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.14

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page