System Description

Purpose

This document describes the MOTSEN Tool from a system point of view. It defines the system boundary, the external entities the system interacts with, the internal subsystems, and the operating modes. It is derived from the project definition (see Project Definition) and forms the basis from which the system requirements in System Requirements are written.

The document is intentionally descriptive, not prescriptive. Statements here describe what the system is; testable “shall” statements belong in System Requirements.

Items that are not yet decided are kept as explicit placeholders and link to the corresponding open decisions in Project Plan.

System Overview

System Description: MOTSEN system overview DESC_001
status: draft
is derived by: SYS_001, SYS_002, SYS_003

The MOTSEN Tool is a bench instrument for commissioning, characterizing, and diagnosing permanent-magnet synchronous and brushless DC motors (PMSM / IPMSM / BLDC). It combines the functions traditionally provided by a separate inverter, oscilloscope, LCR meter, power analyzer, and vendor tuning software into a single connected device driven from a host PC.

The tool consists of:

  • A power-electronics stage that drives a three-phase motor under test.

  • Measurement hardware for phase currents, DC-bus voltage, and position sensors.

  • An embedded controller (MCU and firmware) implementing real-time control, sensing, measurement procedures, and safety logic.

  • A host PC application providing a user interface, parameter editing, and a live data view.

  • A host↔firmware communication link.

The initial target motor class is PMSM/BLDC at low voltage (12–24 V) and below 100 W. Other motor types and higher power ranges are explicit non-goals for the current phases.

System Context

System Description: System context and external entities DESC_010
status: draft
is derived by: SYS_010, SYS_011, SYS_012, HWARCH_090

The MOTSEN Tool operates as a bench instrument. Its external context consists of:

  • Motor under test (MUT) — the three-phase PMSM/BLDC motor connected to the power stage, including its position sensors (Hall, encoder, later resolver).

  • DC power source — a bench supply (current-limited during development) feeding the DC bus.

  • Host PC — a personal computer running the host desktop application.

  • User — a motor control engineer, validation engineer, production technician, or researcher operating the tool through the host PC.

  • Mechanical load (optional) — a brake, dyno, or coupled load for tests that require a mechanical reaction. Not part of the tool itself.

The tool does not connect to any cloud service, network infrastructure, or shared database. All interaction with the user is mediated by the host PC.

Subsystem Decomposition

System Description: Subsystem decomposition DESC_020
status: draft
is derived by: HWARCH_001

The MOTSEN Tool is decomposed into the following subsystems. Each subsystem is described individually in the sections below.

Subsystem

Role

Power Stage

Drives three motor phases from the DC bus with PWM-controlled half bridges.

Current & Voltage Sensing

Measures phase currents&voltages and DC-bus current&voltage and presents them to the controller.

Position Sensor Interface

Reads motor position sensors (Hall in Phase 1, encoder in Phase 2, resolver in Phase 3).

Embedded Controller

Runs firmware: hardware abstraction, control loops, measurement procedures, and the firmware-side communication endpoint.

Safety & Protection

Enforces current, voltage, and timing limits in both firmware and hardware (in future phases).

Host Communication Link

Physical and protocol link between firmware and the host PC.

Host Application

Desktop application on the host PC communicating over serial/USB, parameter editing, live data view.

Measurement & Characterization Engine

The set of procedures that run on the firmware (and assist on the host) to perform sensor checks and parameter estimation.

System Description: Subsystem block diagram DESC_021
status: draft
is derived by: HWARCH_002
digraph motsen_blocks {
    rankdir=LR;
    node [shape=box, style="rounded,filled", fillcolor="#F4F6F7"];

    subgraph cluster_tool {
        label="MOTSEN Tool";
        style=dashed;

        Ctrl   [label="Embedded\nController\n(MCU + FW)"];
        Power  [label="Power Stage\n(3-phase inverter)"];
        Sense  [label="Current &\nVoltage Sensing"];
        Pos    [label="Position Sensor\nInterface"];
        Safe   [label="Safety &\nProtection"];
        Link   [label="Host Comms\nLink"];
    }

    subgraph cluster_host {
        label="Host PC";
        style=dashed;
        UI     [label="Native Desktop\nApplication"];
    }

    DC     [label="DC Supply",   shape=ellipse, fillcolor="#FFF2CC"];
    Motor  [label="Motor Under\nTest (+ sensors)", shape=ellipse, fillcolor="#FFF2CC"];
    User   [label="User",         shape=ellipse, fillcolor="#FFF2CC"];

    DC    -> Power;
    Power -> Motor [label="3-phase"];
    Motor -> Pos   [label="Hall / Enc / Resolver"];
    Power -> Sense [label="I, V"];

    Sense -> Ctrl;
    Pos   -> Ctrl;
    Ctrl  -> Power [label="PWM"];
    Ctrl  -> Safe;
    Safe  -> Power [label="latch trip"];

    Ctrl   -> Link;
    Link   -> UI;
    UI     -> User;
    User   -> UI;
}

Subsystem Descriptions

Power Stage

System Description: Power stage DESC_030
status: draft

A three-phase inverter that drives the motor under test from the DC bus. In Phase 1 the power stage is provided by an off-the-shelf evaluation board; the specific board is an open decision. It is replaced by a custom PCB in Phase 3 (MIL_070).

Key properties:

  • Three half-bridges with complementary switching and configurable dead-time.

  • Operates at a DC bus in the 12–24 V range.

  • Continuous output below 100 W for the MVP target.

  • Designed to be driven by center-aligned PWM synchronized to ADC sampling.

Open items:

  • Selected eval board.

  • Final voltage, current, and switching frequency ratings — placeholder pending the selection above.

Current and Voltage Sensing

System Description: Current and voltage sensing DESC_031

Measurement chain that converts power-stage analog signals into digital samples used by the controller.

  • Phase currents — sensed on the low side and sampled in synchronization with the PWM cycle. Scale, offset, and noise floor are calibrated against a known reference.

  • Phase voltages — sensed on the phases for the purpose of reading motor phase-to-phase voltages during characterization procedures.

  • DC-bus voltage — sensed and used both for control and for under-/over-voltage supervision.

  • DC-bus current — sensed for power measurement and supervision.

  • Auxiliary signals (future) — temperature, additional bus rails, and motor temperature are placeholders for later phases.

The sensing chain is the dominant source of measurement uncertainty for the characterization features and must be characterized before any parameter estimation result is reported.

Position Sensor Interface

System Description: Position sensor interface DESC_032

Reads the motor position sensors and provides position, direction, and speed to the controller.

Phase scope:

  • Phase 1 — Hall sensors only. A 6-state decoder yields commutation sector and inferred direction.

  • Phase 2 — Encoder (Incremental and magnetic) support added alongside Hall.

  • Phase 3 — Resolver support added.

The interface is also the input to sensor-health checks (phase sequence, Hall alignment, encoder direction).

Embedded Controller

System Description: Embedded controller DESC_033

The MCU and its firmware. The controller hosts:

  • A hardware abstraction layer (HAL) over GPIO, UART, timers, ADC, and PWM.

  • The control loops (open-loop commutation in Phase 1, FOC in Phase 2).

  • The measurement and characterization procedures.

  • The firmware-side host communication endpoint.

  • The safety supervisor (firmware portion).

Portability is a stated goal: a second MCU platform must be supportable by Phase 2 exit.

Safety and Protection

System Description: Safety and protection DESC_034

The MOTSEN Tool operates on real motors under power; protection is layered and applies independently of the control loop.

  • Firmware limits — enforced current and speed limits in the control software, immediate disable of PWM on detected fault.

  • Hardware overcurrent latch — an analog/digital latch that trips the PWM outputs in hardware, independent of the firmware control loop. Recovery is an explicit, documented procedure.

  • Bench safety procedures — a current-limited supply and a documented power-up checklist are used during all development testing.

  • Out of scope — functional safety certification, SIL/ASIL compliance, and mechanical guarding are explicit non-goals for the project (see project definition).

Host Application

System Description: Host application DESC_036
status: draft
links to: MIL_017, MIL_018, MIL_044, MIL_046, DEC_002, RISK_004

The host-side software is a native desktop application running locally on the user’s PC. It is a single-user, local-only tool — no authentication, no remote hosting, no cloud. The application communicates directly with the firmware over the host communication link.

Components:

  • Desktop UI — the user-facing dashboard built with a native GUI framework. Shows sensor state, allows parameter editing, and triggers measurement procedures. The specific language and framework are an open decision.

  • Test automation framework (Phase 2) — a scriptable interface for running measurement sequences without manual UI interaction.

  • Parameter storage and project files (Phase 2) — persistent storage of motor parameters and measurement results on the host.

Measurement and Characterization Engine

System Description: Measurement and characterization engine DESC_037
status: draft
links to: MIL_019, MIL_020, MIL_040, MIL_041, RISK_005

The set of procedures that perform sensor checks and motor parameter estimation. Most of the procedure runs on the firmware (real-time signal injection and acquisition); the host receives results and may post-process and present them.

Two functional domains, as defined in the project definition:

  1. Health Check — the primary diagnostic domain. It groups the motor and sensor checks that detect wiring, winding, magnetic, mechanical, and sensor faults before unsafe operation. Each check produces a pass / warning / fail verdict and, where applicable, the underlying measured value. Health Check is defined in detail in Health Check Definition.

  2. Motor Characterization — the raw-measurement domain that estimates phase resistance Rs (MIL_020), D/Q-axis inductances Ld/Lq (MIL_040), back-EMF and torque constant Kt (MIL_041), permanent-magnet flux linkage, pole-pair count, electrical phase offset, and mechanical parameters (inertia, friction). Thermal behavior is a future item.

The two domains share procedures and are linked by the motor profile (DESC_038): a characterization run produces measured values that the user may save as a profile and later feed back into Health Check as the nominal values to compare against. Many Health Check verdicts therefore reuse the same excitation and acquisition the characterization procedures use — for example, a single low-voltage Rs procedure simultaneously yields the per-phase Rs value (characterization) and the open-winding, phase-to-phase short, and winding-balance verdicts (health check).

The procedures are staged: Rs first, then Ld/Lq, pole pairs, then Kt. Each result is validated against a reference motor before being considered usable.

Health Check Definition

This section details the Health Check domain. It is descriptive: it enumerates the checks the system performs, the basis on which each is detected, and the verdict each produces. The testable “shall” form of each check belongs in System Requirements.

System Description: Motor profile (nominal parameter set) DESC_038
status: draft

A motor profile is an optional set of nominal/expected values for the motor under test: nominal per-phase Rs, Ld/Lq, flux linkage, pole-pair count, encoder PPR, inertia, friction, expected torque-at-speed, and the tolerances/thresholds applied to each. It is the data link between the two functional domains.

Sources of a profile:

  • Nameplate / datasheet — values entered by the user from the motor specification.

  • Prior characterization run — measured values produced by a Motor Characterization run on a known-good reference sample, saved and reused as nominal.

The profile is optional. Health Check degrades gracefully when it is absent:

  • Without a profile — self-consistency and signal-integrity checks still run (winding balance, inductance balance, Hall state validity, quadrature, sequence, index-pulse count, …). Absolute parameters are reported as measured values only.

  • With a profile — checks that compare against nominal additionally produce a pass / warning / fail verdict against the profile’s tolerances.

Persistent storage of profiles on the host is a Phase 2 item (see DESC_036).

System Description: Health Check structure and severity model DESC_070
status: draft

Health Check is organized into two categories:

  • Motor Check — verifies the motor itself: windings, magnetic health, and mechanical behavior.

  • Sensor Check — verifies the position-sensor channel: Hall, incremental encoder, and (future) SinCos and resolver.

Every individual check resolves to one of three severities:

Severity

Meaning

Pass

The check completed and the result is within expectation (against nominal where a profile is present, or against the self-consistency criterion otherwise).

Warning

A condition that cannot be asserted as a hard fault but is suspicious and reported for attention — e.g. inter-turn short suspicion, a slipping shaft (position repeatability), or mechanical runout.

Fail

A definite fault — e.g. an open winding, an illegal Hall state, or a broken quadrature relationship.

Where a check also yields a number (Rs, Ld, flux, PPR, offset, …), that measured value is reported alongside the verdict, so a Health Check run with no profile doubles as a characterization pass.

Motor Check

System Description: Motor Check — windings DESC_071
status: draft

Electrical checks of the three-phase winding. Most are derived from a single low-voltage Rs procedure that energizes each phase in turn and records current and resistance.

Check

Detection basis

Verdict

Open-winding detection

During the Rs procedure, a phase that carries ~0 current under applied voltage is an open circuit.

Fail

Phase-to-phase short

Apply low voltage in the Rs procedure and continuously compare per-phase Rs; a phase whose Rs is significantly lower than the others indicates a short.

Fail

Inter-turn short (ITSC)

Cannot be measured exactly; flagged when one phase Rs is consistently lower than the others across repeated measurements.

Warning

Rs per phase

Measure phase resistance on all three phases; compare against nominal.

Value; Fail vs nominal

Ld per phase

Measure phase inductance on all three phases; compare against nominal.

Value; Fail vs nominal

Rs balance

Compare the three Rs values for symmetry. Self-consistency check; also an input to ITSC detection.

Pass / Warning

Inductance balance

Compare the three inductances for symmetry. Self-consistency check; also an input to ITSC detection.

Pass / Warning

Phase sequence

Report the phase order that produces clockwise (CW) and counter-clockwise (CCW) rotation.

Informational

System Description: Motor Check — magnetic health DESC_072
status: draft

Checks of the rotor magnetics and pole count.

Check

Detection basis

Verdict

Flux linkage

Measure permanent-magnet flux linkage; compare against nominal.

Value; Fail vs nominal

Sensored pole-pair verification

Drive the motor open-loop and compare mechanical rotation (from the position sensor) against the commanded electrical rotation to derive the pole-pair count.

Pole-pair count

Sensorless pole-pair verification

Excite the motor through successive electrical angles (0–60–120–180–240–360°) continuously and ask the user to stop when the rotor returns to its starting mechanical angle; pole pairs are inferred from the electrical revolutions per mechanical revolution.

Pole-pair count

System Description: Motor Check — mechanical DESC_073
status: draft

Checks of the mechanical behavior of the motor and any coupled load.

Check

Detection basis

Verdict

Friction & inertia estimation

Estimate friction and inertia from the acceleration/deceleration response; compare against nominal.

Values; vs nominal

Required torque for a target speed

Measure the torque/current required to hold a target speed; compare against a load-consistency threshold to confirm the mechanical load is as expected.

vs threshold

Coast-down test

Spin the motor up, remove drive, and analyze the deceleration (coast-down) profile; compare against nominal.

vs nominal

Sensor Check

System Description: Sensor Check — Hall sensors DESC_074
status: draft

Verifies the Hall-sensor channel. Signal-dependent checks are performed while the motor is driven open-loop.

Check

Detection basis

Verdict

Signal presence

Spin the motor open-loop and verify the Hall lines toggle/change.

Fail if static

State validity

Every observed state is one of the 6 valid codes; 000 and 111 are illegal.

Fail on illegal state

Sequence check

Verify the 6-state commutation sequence appears in the correct order.

Fail on wrong order

Transition completeness

All six state transitions occur within one electrical cycle of rotation.

Fail if incomplete

Sector angle

Each Hall sector spans ideally 60° electrical; compare against tolerance.

Value; vs tolerance

Timing jitter

Check the variation in Hall edge timing across cycles.

Warning on excess

Electrical offset

Compute the Hall electrical offset relative to the rotor d-axis.

Value

Position repeatability

Repeated runs must return to the same position; deviation indicates a slipping shaft.

Warning

System Description: Sensor Check — incremental encoder DESC_075
status: draft

Verifies the incremental (quadrature) encoder channel. Signal-dependent checks are performed while the motor is driven open-loop.

Check

Detection basis

Verdict

Signal presence

Spin the motor open-loop and verify the A/B (and Z) lines toggle/change.

Fail if static

Quadrature check

Verify A and B are ~90° electrical out of phase.

Fail

Direction check

Verify the A/B lead–lag relationship matches CW vs CCW rotation.

Fail on inversion

Resolution (PPR) verification

Drive exactly one electrical cycle open-loop and count pulses to derive the pulses-per-revolution.

Value

Pulse-loss detection

Compare the counted PPR against nominal; a shortfall indicates lost pulses.

Fail vs nominal

Index (Z) pulse check

Rotate 5 mechanical revolutions and count index pulses; expect at least 4 and at most 5.

Fail outside 4–5

Position repeatability

Repeated runs must return to the same position; deviation indicates a slipping shaft.

Warning

Electrical offset

Compute the encoder electrical offset relative to the rotor d-axis.

Value

Mechanical runout

Detect eccentricity from a periodic position error over one mechanical revolution.

Warning

System Description: Sensor Check — SinCos and resolver (placeholder) DESC_076
status: placeholder

SinCos encoder and resolver sensor checks are placeholders. Resolver support is a Phase 3 item (see DESC_032); SinCos is not yet scheduled. The check set will mirror the incremental-encoder checks (presence, direction, offset, repeatability, runout) adapted to the analog sine/cosine channel once the hardware interface is defined.

Motor Health Check Firmware Workflow

System Description: Motor Health Check — workflow overview and design principle DESC_080
status: draft

When a motor with completely unknown parameters is connected to MOTSEN, the Health Check domain executes a progressive, safety-oriented sequence that characterizes the motor and assesses its health. No prior knowledge of motor parameters is assumed; all required information is derived through a structured progression of increasingly demanding tests.

The sequence is implemented as an explicit firmware state machine. Any state may transition to FAULT_STOP on a critical fault condition, after which the sequence terminates at REPORT_GENERATION.

Design principle — stationary tests before rotation: Stationary electrical characterization (Rs and Ldq tests) shall always be completed and validated before any motor rotation is initiated. Spin-based characterization is conditional on the stationary tests producing results that indicate controlled rotation can be performed safely. A temporary motor model, derived from the stationary electrical measurements, bounds the operating envelope of all subsequent spin tests.

System Description: Motor Health Check — state machine DESC_081
status: draft

The Health Check firmware state machine comprises the following top-level states, executed in the order shown. Each state is described in detail in DESC_082 through DESC_085.

State

Purpose

IDLE

Entry point. System is quiescent; PWM outputs are disabled.

HARDWARE_SELF_CHECK

Verify that the MOTSEN hardware platform is fully operational before any interaction with the motor under test.

PASSIVE_MOTOR_CHECK

Verify basic motor connection integrity before applying electrical excitation.

RS_TEST

Characterize stator resistance and detect winding faults.

LDQ_TEST

Characterize motor inductance and evaluate magnetic symmetry.

BUILD_TEMPORARY_MOTOR_MODEL

Construct a conservative temporary motor model from the measured electrical parameters to bound the subsequent spin tests.

ROTOR_ALIGNMENT

Move the rotor to a known electrical position as a precondition for sensorless rotation.

CONTROLLED_SENSORLESS_SPIN_START

Initiate motor rotation within the conservative limits of the temporary motor model.

OBSERVER_LOCK

Establish stable sensorless speed and position estimation as a precondition for flux and mechanical measurements.

FLUX_LINKAGE_ESTIMATION

Evaluate permanent-magnet health by estimating flux linkage under steady-state rotation.

PHASE_SEQUENCE_IDENTIFICATION

Determine the effective motor phase sequence and its associated mechanical rotation direction.

POLE_PAIR_VERIFICATION

Verify the motor pole-pair count.

MECHANICAL_CHARACTERIZATION

Evaluate mechanical health and load characteristics through friction, inertia, and coast-down sub-tests.

SAFE_STOP

Reduce speed and torque in a controlled manner, disable PWM outputs, and return the system to the quiescent idle state.

REPORT_GENERATION

Collate all test results, verdicts, faults, and recommendations into the final Health Check report.

FAULT_STOP

Abnormal termination path, reachable from any state on a critical fault. PWM is disabled immediately; the sequence proceeds to REPORT_GENERATION.

Nominal (fault-free) execution path and abnormal termination path:

IDLE
  ↓
HARDWARE_SELF_CHECK
  ↓
PASSIVE_MOTOR_CHECK
  ↓
RS_TEST
  ↓
LDQ_TEST
  ↓
BUILD_TEMPORARY_MOTOR_MODEL
  ↓
ROTOR_ALIGNMENT
  ↓
CONTROLLED_SENSORLESS_SPIN_START
  ↓
OBSERVER_LOCK
  ↓
FLUX_LINKAGE_ESTIMATION
  ↓
PHASE_SEQUENCE_IDENTIFICATION
  ↓
POLE_PAIR_VERIFICATION
  ↓
MECHANICAL_CHARACTERIZATION
  ↓
SAFE_STOP
  ↓
REPORT_GENERATION

Any state  →  FAULT_STOP  →  REPORT_GENERATION
System Description: Motor Health Check — stationary electrical tests DESC_082
status: draft

The first phase of the sequence consists of stationary tests executed without motor rotation. These tests must complete without a critical fault before spin-based tests are authorized.

HARDWARE_SELF_CHECK

Verifies that the MOTSEN hardware platform is operational before interacting with the motor under test. The following conditions are evaluated:

  • DC bus voltage is present and within the operating range.

  • Gate driver is operational.

  • Current-sensing channel is operational.

  • ADC is operational.

  • PWM outputs are confirmed disabled at entry.

  • No active fault conditions are latched.

  • Internal temperature is within limits.

Any failure causes an immediate transition to FAULT_STOP with a hardware fault classification.

PASSIVE_MOTOR_CHECK

Verifies basic motor connection integrity before any electrical excitation is applied. The following conditions are evaluated:

  • Phase voltages are within the expected quiescent range.

  • The motor is confirmed stationary.

  • No abnormal current readings are present.

  • No obvious electrical abnormalities are detected.

Any failure causes an immediate transition to FAULT_STOP.

RS_TEST

Characterizes stator resistance and detects winding faults (see also DESC_071). The test produces:

  • Open-winding detection — per phase.

  • Phase-to-phase short-circuit detection.

  • Inter-turn short-circuit warning.

  • Per-phase resistance measurement and three-phase resistance balance assessment.

Critical winding faults (open winding, phase-to-phase short) cause a transition to FAULT_STOP. Warnings are recorded and the sequence continues.

LDQ_TEST

Characterizes motor inductance and evaluates magnetic symmetry. The test produces:

  • Ld and Lq axis inductance values.

  • Inductance balance assessment.

  • Inter-turn short-circuit warning, corroborated against the Rs result.

  • Magnetic or electrical asymmetry warning.

Physically invalid or unsafe inductance results cause a transition to FAULT_STOP. Warnings are recorded and the sequence continues.

System Description: Motor Health Check — temporary motor model DESC_083
status: draft

BUILD_TEMPORARY_MOTOR_MODEL

Following successful completion of the stationary electrical tests, the firmware constructs a temporary motor model from the measured parameters. The model is intentionally conservative: its limits are set below the measured electrical capabilities of the motor to ensure that subsequent spin tests operate within a safe envelope for an uncharacterized motor.

The temporary model provides:

  • Measured Rs, Ld, Lq.

  • Conservative current limits derived from the measured winding parameters.

  • Conservative voltage limits.

  • Conservative speed limits.

This model governs all spin-based states that follow. It is not persisted as a motor profile and is discarded at the conclusion of the Health Check run.

Rationale: The temporary motor model is the gating mechanism that enforces the design principle that spin-based tests are only authorized after the stationary electrical tests have established that the motor winding is electrically sound and its parameters are sufficiently characterized to bound a safe rotation envelope.

System Description: Motor Health Check — spin-based tests DESC_084
status: draft

The second phase of the sequence executes spin-based tests. These states are reached only after the stationary electrical tests and the temporary motor model construction have both completed without critical fault.

ROTOR_ALIGNMENT

Moves the rotor to a known electrical position as a precondition for controlled sensorless rotation. A limited alignment current is applied and the resulting response is evaluated. Failure to achieve a valid aligned position causes a transition to FAULT_STOP.

CONTROLLED_SENSORLESS_SPIN_START

Initiates motor rotation using the conservative limits established by the temporary motor model. The startup uses an open-loop trajectory with limited current and a limited acceleration rate. Continuous fault monitoring is active throughout. If the motor cannot be brought to rotation within the allowed envelope, the sequence transitions to FAULT_STOP.

OBSERVER_LOCK

Establishes stable sensorless speed and position estimation as a precondition for flux linkage and mechanical measurements. The following conditions are verified before the sequence proceeds:

  • Observer convergence is confirmed.

  • Electrical angle estimation is stable.

  • Speed estimation is stable.

Failure to achieve observer lock causes a transition to FAULT_STOP with an observer lock failure classification.

FLUX_LINKAGE_ESTIMATION

Estimates the permanent-magnet flux linkage under steady-state rotation. The estimation uses measured Rs, Ld/Lq, current and voltage measurements, and estimated electrical speed. Results include:

  • Flux linkage value.

  • Deviation from the nominal value (when a motor profile is present).

  • Magnet health assessment.

  • Estimation confidence indicator.

PHASE_SEQUENCE_IDENTIFICATION

Determines the effective motor phase sequence during rotation and its associated mechanical rotation direction. Results are reported as the detected phase sequence (e.g., UVW or UWV) and the associated rotation direction (CW or CCW).

POLE_PAIR_VERIFICATION

Verifies the motor pole-pair count from the estimated electrical speed and rotation data. Results include the detected pole-pair count and a verification confidence level.

MECHANICAL_CHARACTERIZATION

Evaluates mechanical health and load characteristics through three sub-tests:

Friction and torque characterization — measures the torque required to maintain defined speeds, estimates friction, and assesses load consistency.

Inertia estimation — estimates rotor inertia from the system response to controlled acceleration profiles.

Coast-down test — removes drive and measures the natural deceleration profile, providing an indication of mechanical drag and bearing condition.

System Description: Motor Health Check — controlled stop and report DESC_085
status: draft

SAFE_STOP

Brings the motor to rest in a controlled manner before the sequence concludes. Speed is reduced to zero under controlled deceleration, torque is progressively reduced, PWM outputs are disabled, and the system transitions to the quiescent idle state.

REPORT_GENERATION

Collates all results from the Health Check sequence into a final report. The report includes:

  • Rs test results — per-phase values, balance assessment, and fault verdicts.

  • Ldq test results — Ld/Lq values, balance assessment, and warnings.

  • Flux linkage estimation results and magnet health assessment.

  • Phase sequence identification results.

  • Pole-pair verification results and confidence level.

  • Mechanical characterization results — friction estimation, inertia estimation, and coast-down assessment.

  • Detected faults with classification.

  • Detected warnings.

  • Inconclusive measurements with associated confidence indicators.

  • Recommended corrective actions.

REPORT_GENERATION is the terminal state for both the nominal execution path and the FAULT_STOP path. In the fault case, the report contains all results obtained prior to the fault, the fault classification, and applicable recommendations.

Operating Modes

System Description: Operating modes DESC_040

The MOTSEN Tool exposes two user-selectable operating modes, supported by a small set of firmware-enforced system states. The user chooses a mode in the UI; the firmware owns the state machine and enforces all transitions.

User modes

Mode

Description

Health Check

Runs the Motor Check and Sensor Check procedures (see Health Check Definition). Applies low-energy excitation and, where a check requires rotation, controlled open-loop spins under strict current limits. Each check yields pass / warning / fail and, where applicable, the measured value. Consumes an optional motor profile of nominal values (DESC_038); without it, self-consistency and signal-integrity checks still run and measured values are reported. A characterization run is the same domain operated without a profile, to produce the values rather than judge them.

Motor Spin

Placeholder. A general motor-control mode used to drive the motor during bench work and for any test that needs sustained rotation. Phase 1 supports open-loop commutation only; closed-loop FOC is added in Phase 2. See DESC_067.

System states (not user-selectable)

State

Description

Idle / Safe

PWM disabled, bus voltage monitored, no current flowing through the motor. This is the power-on default and the recovery state after any fault. Both user modes return here when stopped.

Fault

A protection event has occurred. PWM is latched off in hardware and firmware. The user must acknowledge the fault to return to Idle / Safe.

The detailed transition diagram is deferred to the system requirements document, which will refine these modes and states into testable behavior.

Phase Scope Summary

System Description: Subsystem presence by project phase DESC_050
status: draft
is derived by: HWARCH_902, SWARCH_121

Not every subsystem is present in every phase. The table below summarizes the scope of each subsystem per phase, mirroring the milestones in Project Plan.

Subsystem

Phase 1 (MVP)

Phase 2 (Full)

Phase 3 (Productized)

Power Stage

Eval board

Eval board

Custom PCB

Current/Voltage Sensing

Phase I&V + Vbus

  • extra rails

Production-cal

Position Sensors

Hall

Hall + Encoder

  • Resolver

Embedded Controller

TBD

Second MCU

Production FW

Safety

FW limit

HW latch

Reliability tested

Host Link

UART

  • CAN

  • field bus (TBD)

Host App

Local UI

  • scripting, params

User-ready

Measurement Engine

Hall + winding checks, Rs

  • encoder checks, Ld/Lq, Kt, mech

  • production tests

Open Items and Placeholders

The descriptions above include items that depend on decisions that have not yet been made. Each placeholder below is intentionally kept here, in the system description, so that the gap is visible to anyone reading top-down from the project definition. They close through the corresponding decisions in Project Plan.

System Description: Power-stage capability — pending eval board selection DESC_060
status: placeholder
is derived by: HWARCH_900

Final voltage range, continuous and peak current, switching frequency, gate-driver topology, and current-sense topology are pending. The 12–24 V / <100 W envelope from the project definition is the working assumption.

System Description: Host-link physical layer and framing — pending DESC_061
status: placeholder
is derived by: HWARCH_901, SWARCH_901

UART and the on-wire frame format are pending. The description currently assumes a single point-to-point bi-directional link with framed packets and a streaming telemetry channel.

System Description: Host application stack — pending DESC_062
status: placeholder
is derived by: SWARCH_900

Language and GUI framework for the desktop host application (Python/PyQt6, Python/Dear PyGui, C++/Qt, …) is pending. The application communicates directly with the firmware over the serial/USB link; no local web server is involved.

System Description: CAN scope — pending DESC_064
status: placeholder

Whether CAN is pulled into Phase 1 or kept strictly Phase 2 is pending. Default working assumption: Phase 2.

System Description: Sensorless control scope — pending DESC_065
status: placeholder
is derived by: SWARCH_902

Whether observer-based sensorless control is in scope, and for which phase, is pending DEC_006. Not described as a present subsystem until the decision closes.

System Description: Motor Spin mode definition — pending DESC_067
status: placeholder

The Motor Spin mode is intended as a general motor-control mode used to drive the motor during tests and as a standalone bench function. Its detailed scope — control method (open-loop commutation now, FOC later), the set of commandable references (speed, current, voltage, electrical angle), and which Health Check procedures invoke it — is pending. The working assumption is open-loop commutation in Phase 1, FOC in Phase 2.

System Description: Publication / license — pending DESC_066
status: placeholder

License and public-release policy is pending. Affects host-app packaging and firmware distribution; does not affect technical architecture.

Traceability

This document derives from the project definition and feeds the system requirements (System Requirements). Each desc node above is intended to be referenced by one or more sysreq nodes when the requirements document is populated. Forward links to milestones and decisions in the project plan are kept on the description nodes themselves so that: