STM32 MC Motor Pilot - Start-up guide

Revision as of 13:25, 31 August 2021 by Registered User


Based on STM32 MC Motor Pilot 5.Y.2 V0.9.7 (included in STM32 MC-SDK 5.Y.2) and first tool version (V5.Y.0).

1. Overview of the STM32 MC Motor Pilot tool

STM32 MC Motor Pilot is a monitoring tool for STM32 Motor Control Applications:

  • Connects to MC applications built with the UI module through the serial port
  • Uses the same protocol as the current monitor
  • Allows for controlling, monitoring & tuning MC Applications
  • Will replace the monitor part of STM32 MC Workbench
    • Current available version is a preview that can already be used
STM32 MC MotorPilot slide3.png

STM32 MC Motor Pilot’s added values:

  • Enhanced plotting feature: most registers can now be plotted
  • GUI can be easily customized at run time
    • To fit specific needs, or to experiment new firmware features…
  • Solid foundation to support future FW features
    • ACIM, 6-Step, Sensorless Zero speed, enhanced debug features…
  • Runs on all three MCD target platforms: Windows, Mac & Linux

2. STM32 MC Motor Pilot Quick Guide

2.1. Installation and Run

STM32 MC Motor Pilot is now automatically installed with STM32 MC SDK.

A shortcut is now created in Windows menus to run it.

2.2. Quick Start-up

2.2.1. Quick step 1

  1. MotorPilot:
    • Starts unconnected
      STM32 MC MotorPilot slide6 1.png
      • Lists available serial ports
        STM32 MC MotorPilot slide6 2.png
    • Displays the default UI
  2. Connect a Motor Pilot board to the PC
  3. Click on Connect
STM32 MC MotorPilot slide6 3.png

2.2.2. Quick step 2

  1. MotorPilot is connected:
    • Displays version of embedded firmware
      STM32 MC MotorPilot slide7 1.png
    • Shows the current state and the errors
  2. Spin the motor:
    • Click on the Start button
      STM32 MC MotorPilot slide7 2.png
  3. Motors starts and the monitor displays the speed
    • And the currents
    • And other information
STM32 MC MotorPilot slide7 3.png

2.2.3. Quick step 3

  • Control the Motor
    • Slide the knob to set the speed
      STM32 MC MotorPilot slide8 1.png
    • Set Target Speed, Duration and Click to apply a ramp
      STM32 MC MotorPilot slide8 2.png


STM32 MC MotorPilot slide8 3.png
    • Click Stop Ramp to stop it before end
      STM32 MC MotorPilot slide9 1.png
    • Click Stop to stop spinning the motor
      STM32 MC MotorPilot slide9 2.png


STM32 MC MotorPilot slide9 3.png

3. MC application parameters

STM32 MC Motor Pilot get MC application parameters form the board and adapt widget to them.

4. MC application advanced settings

4.1. Speed PID, Toque PID, Flux PID and Flux reference

  1. Click Advanced Configuration
    • Displays additional panel with more settings
STM32 MC MotorPilot slide11.png
  1. As in current Monitor, customize:
    • Speed PID
    • Toque PID
    • Flux PID
    • Set Flux reference

4.2. State Observer, PLL parameters, CORDIC parameters and DAC settings

  1. Click Advanced Configuration
    • Displays additional panel with more settings
  2. As in current Monitor, customize:
    • State Observer + PLL parameters
    • State Observer + CORDIC parameters
  3. Missing from current Monitor:
    • Revup phases configuration
      • Will be added in future versions of the tool
  4. DAC settings are here
STM32 MC MotorPilot slide12.png

4.3. Handling Errors

4.3.1. Control Board disconnection

Board freeze due to FW critical error or break point trigger:

  • Simply resume execution or reset the board and the connection will resume
STM32 MC MotorPilot slide13.png

4.3.2. Firmware errors

  • As with current Monitor, current and past errors are indicated.
  • Clicking the Ack Faults button has no effect in FAULT_NOW state
STM32 MC MotorPilot slide14.png
  • Wait for the fault conditions to vanish to enter the FAULT_OVER state
  • Then click on Ack Faults to go back to IDLE
    STM32 MC MotorPilot slide15 1.png


STM32 MC MotorPilot slide15 2.png

4.4. Viewing & Plotting registers by pooling (low speed plotting)

  1. Clicking the Registers tab displays the list of all registers
    STM32 MC MotorPilot slide16 1.png
  2. Clicking a Click to Plot button
  3. Opens a plot window the first time
    • Lets the user choose to where to plot the other times
      STM32 MC MotorPilot slide16 2.png
    • Lets the user choose to stop plotting if register is already being plotted.

4.4.1. And soon in this start-up guide:

  • viewing & plotting registers by pooling for High speed Plotting
  • frame logger and decoder

4.5. UI is changeable at run-time

  • Click on menu item File => Load
    • Seach for a .qml file and open it.
    • For instance GUI\PositionControlApp.qml found in the release
  • This will load a new GUI with other features
    • In the case of PositionControlApp.qml, a position control enabled monitoring application.
  • Future versions of the tool will let users change this UI themselves
STM32 MC MotorPilot slide19.png

5. Current Limitations & Future Plans

5.1. Missing features to be added soon

  • Revup configuration UI
  • Dual Drive support
  • Filtering and sorting registers’ view
  • UI API description and development guide
    • To let users customize the UI for their own needs