SkillAgentSearch skills...

simulink-control-motors

Build motor control solutions using Motor Control Blockset for PMSM, induction motors, BLDC, and SynRM. Implement field oriented control, sensorless FOC, six-step control, speed control, current control, and torque control.

Install / Use

npx skills add matlab/simulink-agentic-toolkit --skill simulink-control-motors

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

85/100

Supported Platforms

Universal

Tags

Our assessment of simulink-control-motors

simulink-control-motors scores 85/100 on our quality scale, 30th of 77 Project & Program Management skills we index (top 39%).

Its SKILL.md is 11 KB long, well organised into 20 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 1,148 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
29/30
Structure
13/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 16 days ago, so simulink-control-motors is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

simulink-control-motors compared with similar skills

All 4 of these similar skills score higher than simulink-control-motors; compare them before choosing.

SkillScoreStarsUpdatedFormat
simulink-control-motors (this skill)by matlab851.1k16d agoSKILL.md
algorithmic-artby anthropics100177.9k11d agoSKILL.md
pptxby anthropics100177.9k11d agoSKILL.md
designby nextlevelbuilder100130.2k12d agoSKILL.md
ui-ux-pro-maxby nextlevelbuilder100130.2k12d agoSKILL.md

Frequently asked questions

How do I install simulink-control-motors?
Run npx skills add matlab/simulink-agentic-toolkit --skill simulink-control-motors. The install tabs above show the steps for each supported agent.
Which AI agents does simulink-control-motors work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is simulink-control-motors safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is simulink-control-motors still maintained?
The repository was last updated 16 days ago, so simulink-control-motors is actively maintained.

name: simulink-control-motors description: "Build motor control solutions using Motor Control Blockset for PMSM, induction motors, BLDC, and SynRM. Implement field oriented control, sensorless FOC, six-step control, speed control, current control, and torque control. Configure SVPWM, flux weakening, MTPA, MTPV, control of non-linear motors, inverter control, and motor parameter estimation. Compose motor drive models, tune gains, and generate embedded code." license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "1.0"

Simulink Control Motors — Motor Control Blockset Skill

Build motor control solutions using Motor Control Blockset (MCB): characterize motors, select control algorithms (FOC, DTC, six-step, V/f), compose Simulink models, tune gains, configure sensorless estimation, and generate code for embedded targets.

When to Use

  • User explicitly requests motor control assistance or asks to load this skill
  • User works with Motor Control Blockset or motor drive design
  • Building, tuning, debugging, or designing motor control systems
  • User mentions PMSM, BLDC, induction motor, SynRM, FOC, sensorless, six-step, SVPWM, flux weakening, MTPA, MTPV

When NOT to Use

  • General Simulink modeling work that does not involve motor control
  • Simple factual questions about motors (no model building needed)

Dependencies

  • Required: Motor Control Blockset, Simulink
  • Optional: Embedded Coder, Simscape Electrical, Powertrain Blockset

How This Skill Works

  1. Read references/common/COMMON-mcb.md (shared conventions — always load first)
  2. Read references/common/ROUTER-mcb.md for block routing and resolution rules
  3. Identify user intent using the routing table below
  4. Follow the matching section — each section points to detailed reference files
  5. Consult references/configurations/ for non-FOC architectures (DTC, six-step, V/f, BLDC, ACIM)
  6. Use references/common/mcb-examples.md for official MCB example references

Intent Routing

| User Intent | Section | Key Reference | |---|---|---| | New to MCB / learning | Designing | references/design/beginner-path.md | | What pattern for my application? | Designing | references/design/application-catalog.md | | Build a new model | Building | references/wiring/wiring-topologies.md | | Configure block parameters | Configuring | references/block-config/block-configurations.md | | Compute PI gains / tune | Tuning | references/common/detailed-workflows.md § Tuning | | Generate LUT / FEA data | Nonlinear Data | references/common/detailed-workflows.md § Importing | | Add sensorless (SMO, HFI) | Sensorless | references/common/detailed-workflows.md § Sensorless | | Estimate Rs, Ld, Lq, J | Parameters | references/common/detailed-workflows.md § Estimating | | Convert plant (MCB→Simscape) | Plant | references/common/detailed-workflows.md § Plant | | Model errors / doesn't move | Diagnosing | references/common/detailed-workflows.md § Diagnosing | | End-to-end workflow | — | references/workflows/ directory |


Quick Decision


Designing Motor Control

Recommends control strategies, selects patterns, evaluates feature compatibility.

Load: references/design/beginner-path.md for enquiry protocol and learning paths.

  1. Detect mode (Learn / Select / Validate / Enquiry) — see references/design/beginner-path.md
  2. Search references/design/application-catalog.md by user's keywords → get Pattern + Features
  3. Validate combination against references/design/composition-rules-combining.md
  4. Review architecture details in references/design/architecture-patterns.md

Critical rules:

  • NEVER recommend Pattern A for speed control (structural instability with MCB discrete plant)
  • NEVER recommend Sensorless Six-Step + BLDC AVI together
  • Pattern B is the DEFAULT for standard speed-controlled FOC

Output: basePattern + features + motorType + controlMode → carry to Building section.


Building Motor Controller

Constructs complete models using wiring topologies, composition rules, and model_edit.

Step 1: Check for a Dedicated Configuration

BEFORE using generic wiring tables, check references/configurations/ for a matching file:

| Architecture | Configuration File | |---|---| | ACIM Indirect RFOC | references/configurations/acim-indirect-rfoc.md | | ACIM Simscape RFOC | references/configurations/acim-simscape-rfoc.md | | ACIM V/f Open-Loop | references/configurations/acim-vf-openloop.md | | BLDC Hall Six-Step | references/configurations/bldc-hall-sixstep.md | | BLDC Sensorless BEMF | references/configurations/bldc-sensorless-bemf.md | | DTC (SVPWM) | references/configurations/dtc-svpwm-pmsm.md | | Nonlinear Gain-Scheduled | references/configurations/nonlinear-gain-scheduled.md | | Position Cascade FOC | references/configurations/position-cascade-foc.md | | Overmodulation FOC | references/configurations/overmodulation-foc.md | | HFI+SMO Hybrid | references/configurations/hfi-smo-hybrid.md | | Dual Motor Sync | references/configurations/dual-motor-sync.md | | Wind Turbine PMSG | references/configurations/wind-turbine-pmsg.md | | ADRC Speed | references/configurations/adrc-speed.md | | Backstepping Speed | references/configurations/backstepping-speed.md | | Deadbeat Current | references/configurations/deadbeat-current.md | | Sliding Mode Speed | references/configurations/sliding-mode-speed.md |

If a config file exists: follow it directly. Otherwise: proceed to Step 2.

Step 2: Generic FOC Wiring

| Pattern | Document | |---|---| | A, A+FF, A+PWM, B, B-Simple, C | references/wiring/wiring-topologies.md | | D, E, F, G, H | references/wiring/wiring-topologies-advanced.md |

Step 3: Add Features

  • Core (FW, SMO, GainSched, FF, Position, I/f): references/wiring/composition-rules.md
  • Infrastructure (Protection, PWM, Multi-Rate): references/wiring/composition-rules-infrastructure.md
  • Integration (Logging, Speed Profiles): references/wiring/composition-rules-integration.md

Step 4: Set Structural Config

  • PI: ControllerParametersSource='internal', ExternalReset='none', InitialConditionSource='internal'
  • Park: ThetaInput='Electrical position', AngleInput='Radians'
  • Unit Delay on voltage path to plant

Key rules:

  • Always check references/configurations/ FIRST
  • Use wiring-topologies.md block lists verbatim (type strings are validated)
  • Composition-rules operations are STRUCTURAL (affect port count) — do during wiring
  • All structural changes go through model_edit

Configuring MCB Blocks

Sets mask parameters for 30+ MCB block types using motor datasheet values.

Reference files:

  • references/block-config/block-configurations.md — control blocks
  • references/plants/block-configurations-plants.md — plant/sensor blocks
  • references/block-config/block-configurations-utility.md — utility blocks
  • references/block-config/block-configurations-bldc.md — BLDC blocks

Critical configurations (must get right):

| Block | Critical Setting | Wrong Default | |---|---|---| | FOC CC | Port 6 VLimits = [Vmax;-Vmax;0;0] | q-axis non-zero → drift | | SMO | PositionUnit='Radians' | Default 'Degrees' → 57× error | | Interior PMSM | P = pole pairs (not 2×p) | Double frequency → zero torque | | LUT Control Ref | Hidden params: MTPA, FW enable | Defaults leave FW disabled |

Key rules:

  • Mask param names ≠ motor struct fields — always check reference table
  • Use model_edit configure for setting parameters
  • Single-precision plant outputs need DTC blocks before double-precision control

Tuning Motor FOC Gains

Computes PI gains, IIR filters, and PU normalization.

Full workflow: references/common/detailed-workflows.md § Tuning Motor FOC Gains

Quick summary: Use mcb.calcFOCGains(pmsm, inverter, Ts, Ts_speed) for all categories except Category A (kt/J > 10,000) which needs manual Ki_speed override. MCB uses Ki×Ts convention — never pass raw Ki.

Reference files: references/tuning/parameter-computation.md, references/shared/gain-formulas.md


Importing Nonlinear Motor Data

Generates and validates LUTs from FEA/measurement data.

Full workflow: references/common/detailed-workflows.md § Importing Nonlinear Motor Data

Quick summary: Use mcb.generateMotorLUT(pmsm, inverter, purpose) with correct purpose string. Validate trefVec symmetry and FluxDTable first row = 0.

Reference files: references/nonlinear-data/pmsmlut-structure.md


Building Motor Plant

Converts between MCB ideal plants, Simscape, and FEM-parameterized models.

Full workflow: references/common/detailed-workflows.md § Building Motor Plant

Quick summary: Solver must change to ode14x for Simscape. Add angle adapter Gain(1/(2*pi)). Gains need re-tuning after plant swap.

Reference files: references/plants/plant-model-converters.md, references/plants/block-configurations-plants.md


Estimating Motor Parameters

Commissioning workflows for Rs, Ld, Lq, FluxPM, J, B.

Full workflow: references/common/detailed-workflows.md § Estimating Motor Parameters

Quick summary: Estimate in order: Rs → Ld/Lq → FluxPM → J/B. Motor must be stationary for Rs and Ld/Lq. Feed results into mcb.calcFOCGains.

Reference files: references/estimation/estimation-procedures.md, references/estimation/estimation-to-tuning.md


Estimating Sensorless Motor Position

Configures I/F startup, SMO, HFI, EEMF observers, and handoff logic.

Full workflow: references/common/detailed-workflows.md § Estimating Sensorless Motor Position

Quick summary: SPM → SMO + I/F. IPM → HFI + SMO hybrid. ACIM → Flux Observer + I/F. Always set SMO PositionUnit='Radians'.

Reference files: references/sensorless/sensorless-blocks.md, references/sensorless/hfi-scheduler.md


Diagnosing Motor Control

Diagnoses errors, oscillations, zero-torque using structured checklists.

Full workflow: references/common/detailed-workflows.md § Diagnosing Motor Control

Quick summary: Identify symptom → run matching checklist → apply fix from auto-fix-recipes → validate. Never rebuild from scratch.

Reference files: references/diagnostics/auto_fix/ERROR_PATTERNS.md, references/diagnostics/auto_fix/auto-fix-recipes.md, references/diagnostics/model-sanity-check.md


Copyright 2026 The MathWorks, Inc.

Related Skills

View on GitHub
GitHub Stars1.1k
CategoryProject
Updated16d ago
Forks106

Languages

HTML

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium