brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
simulink-control-motorsBuild 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 mo…
Independent GitHub snapshot · Automated classification · Original documentation governs
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.
references/common/COMMON-mcb.md (shared conventions — always load first)references/common/ROUTER-mcb.md for block routing and resolution rulesreferences/configurations/ for non-FOC architectures (DTC, six-step, V/f, BLDC, ACIM)references/common/mcb-examples.md for official MCB example references| 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 |
Recommends control strategies, selects patterns, evaluates feature compatibility.
Load: references/design/beginner-path.md for enquiry protocol and learning paths.
references/design/beginner-path.mdreferences/design/application-catalog.md by user's keywords → get Pattern + Featuresreferences/design/composition-rules-combining.mdreferences/design/architecture-patterns.mdCritical rules:
Output: basePattern + features + motorType + controlMode → carry to Building section.
Constructs complete models using wiring topologies, composition rules, and model_edit.
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.
| 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 |
references/wiring/composition-rules.mdreferences/wiring/composition-rules-infrastructure.mdreferences/wiring/composition-rules-integration.mdControllerParametersSource='internal', ExternalReset='none', InitialConditionSource='internal'ThetaInput='Electrical position', AngleInput='Radians'Key rules:
references/configurations/ FIRSTSets mask parameters for 30+ MCB block types using motor datasheet values.
Reference files:
references/block-config/block-configurations.md — control blocksreferences/plants/block-configurations-plants.md — plant/sensor blocksreferences/block-config/block-configurations-utility.md — utility blocksreferences/block-config/block-configurations-bldc.md — BLDC blocksCritical 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:
model_edit configure for setting parametersComputes 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
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
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
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
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
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.