Skip to main content

settings.yml

Overview

settings.yml contains configurations for the Winder BLDC motor winding machine and is placed in the root directory. These parameters can be adjusted based on the specific motor being wound and the desired winding process. You can calibrate the parameters by running scripts/calib.py with your winding machine.

serial

port

The serial port to which Aotenjo Master is connected. Default is /dev/ttyACM0.

baudrate

The baudrate for the serial communication. Default is 115200.

logging

level

The logging level for the application. Default is INFO.

motor

Common Parameters for all Motors

The following parameters are common to all motors (M0, M1, M2, M3).

direction

The direction of the motor.

velocity

The velocity(rad/s) of the motor in simulation mode.

Common Parameters for M0, M1, and M2

These parameters apply to M0, M1, and M2, which operate under closed‑loop angle control. The one firmware is based on the SimpleFOC library, which implements a PID controller for angle control. The parameters below correspond directly to the PID configuration fields in SimpleFOC.

vP

Proportional gain.
Matches the motor.PID_velocity.P parameter in SimpleFOC.

vI

Integral gain.
Matches the motor.PID_velocity.I parameter in SimpleFOC.

vD

Derivative gain.
Matches the motor.PID_velocity.D parameter in SimpleFOC.

tip

The vP, vI, and vD parameters are used to tune the PID controller for each motor. Adjusting these values can help achieve better performance and stability during the winding process.

For tuning guidance, see:
Quick Reference: Parameter Effects.

pP

Angle‑loop proportional gain.
Matches the motor.PID_angle.P parameter in SimpleFOC.

voltage_limit

Matches the motor.voltage_limit parameter in SimpleFOC.
This defines the maximum voltage applied to the motor.

Increasing this value increases available torque. Since driver.voltage_power_supply = 24V, the motor behaves as follows:

voltage_limit = 24 ➡️ full power

voltage_limit = 12 ➡️ half power

voltage_limit = 6 ➡️ quarter power

Recommended values:

  • M0: 6.0
  • M1: 6.0
  • M2: 24.0

velocity_limit

Matches the motor.velocity_limit parameter in SimpleFOC.
This sets the maximum allowed motor speed.

Increasing this value allows faster winding, especially for M2.

lpfTf

Matches the motor.LPF_velocity.Tf parameter in SimpleFOC.
This is the time constant for the velocity low‑pass filter.

tip

For more details on PID parameters, see the SimpleFOC documentation.

Motor-Specific Parameters

The following parameters are specific to each motor (M0, M1, M2, M3) and are used to configure the winding process for different motors.

M0

M0 is the motor that controls the linear motion of the stator.

M0 Configuration Image

wind_range_end

The position where the arm winds to the end of the slot.

wind_range_start

The position where the arm winds from the root of the slot.

end_to_zero

The distance between wind_range_end and zero of M0.

M1

M1 is the motor that rotates the stator.

zero

The position of M1 exactly aligned with the stator holder.

end_to_rotating_position

The distance between wind_range_end and the rotating position of M1.

M2

M2 is the motor that winds the wire around the stator.

zero

The position of M2 when the arm is at 12 o'clock position.

angle_to_prevent_collision

The angle to prevent collision between the stator and the wire.

M3

M3 is the motor that controls the wire tension.

pull_wire_torque

The torque applied by M3 to pull the wire.

wind_torque

The torque applied by M3 during winding.

winding

turns

The number of turns per slot. Default is 75.

starts_at

The first slot number to wind. Default is 0.

winding_config

The winding configuration string. Default is "AaAabBbBCcCcaAaABbBbcCcC". This string represents the winding sequence for a 24n22p motor. For more about the winding configuration, please refer to Winding Configuration.

dont_move_m3

Whether to move M3 during winding. Default is false.