HF-TMC9660 Driver 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC9660
Loading...
Searching...
No Matches
tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile Struct Reference

Configuration structure for auto-configuring motor parameters. More...

#include <tmc9660.hpp>

Public Attributes

tmc9660::tmcl::MotorType motorType
 Motor type (DC, BLDC, STEPPER)
 
uint8_t polePairs
 Number of pole pairs (for BLDC/Stepper, typically 1-21)
 
uint32_t pwmFrequency_Hz
 
float maxPhaseCurrent_A
 
tmc9660::tmcl::MotorDirection direction
 Motor direction (default: FORWARD)
 
tmc9660::tmcl::PwmSwitchingScheme pwmSwitchingScheme
 
float maxFluxCurrent_A
 
uint16_t outputVoltageLimit
 Output voltage limit for FOC controller (default: 8000)
 
tmc9660::tmcl::IdleMotorPwmBehavior idlePwmBehavior
 
std::optional< tmc9660::tmcl::CommutationModecommutationMode
 

Detailed Description

template<typename CommType>
struct tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile

Configuration structure for auto-configuring motor parameters.

This structure captures high-level motor characteristics and automatically derives all necessary low-level configuration parameters.

Member Data Documentation

◆ commutationMode

template<typename CommType >
std::optional<tmc9660::tmcl::CommutationMode> tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::commutationMode

Commutation mode to apply after configuration (optional, default: remains SYSTEM_OFF). Applied last, after all motor parameters are set.

◆ direction

template<typename CommType >
tmc9660::tmcl::MotorDirection tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::direction
Initial value:
=
tmc9660::tmcl::MotorDirection::FORWARD

Motor direction (default: FORWARD)

◆ idlePwmBehavior

template<typename CommType >
tmc9660::tmcl::IdleMotorPwmBehavior tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::idlePwmBehavior
Initial value:
=
tmc9660::tmcl::IdleMotorPwmBehavior::PWM_OFF_WHEN_MOTOR_IDLE

Idle motor PWM behavior (default: PWM_OFF)

◆ maxFluxCurrent_A

template<typename CommType >
float tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::maxFluxCurrent_A
Initial value:
=
std::numeric_limits<float>::quiet_NaN()

Maximum flux current in amperes (optional, defaults to maxPhaseCurrent_A * 0.2 for BLDC/Stepper)

◆ maxPhaseCurrent_A

template<typename CommType >
float tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::maxPhaseCurrent_A

Maximum phase current in amperes (used to set MAX_TORQUE and MAX_FLUX)

◆ motorType

template<typename CommType >
tmc9660::tmcl::MotorType tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::motorType

Motor type (DC, BLDC, STEPPER)

◆ outputVoltageLimit

template<typename CommType >
uint16_t tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::outputVoltageLimit
Initial value:
=
8000

Output voltage limit for FOC controller (default: 8000)

◆ polePairs

template<typename CommType >
uint8_t tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::polePairs

Number of pole pairs (for BLDC/Stepper, typically 1-21)

◆ pwmFrequency_Hz

template<typename CommType >
uint32_t tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::pwmFrequency_Hz

PWM frequency in Hz (10000-100000, recommended: 20-25kHz for BLDC, 20kHz for stepper)

◆ pwmSwitchingScheme

template<typename CommType >
tmc9660::tmcl::PwmSwitchingScheme tmc9660::TMC9660< CommType >::MotorConfig::MotorProfile::pwmSwitchingScheme
Initial value:
=
tmc9660::tmcl::PwmSwitchingScheme::SVPWM

PWM switching scheme (default: SVPWM for BLDC, STANDARD for others)


The documentation for this struct was generated from the following file: