RA Flexible Software Package Documentation  Release v5.2.0

 
Motor 120-Degree Control Interface

Detailed Description

Interface for motor 120 control functions.

Summary

The motor 120 control interface for speed calculation and setting, fixed cycle processing

Data Structures

struct  motor_120_control_callback_args_t
 
struct  motor_120_control_motor_parameter_t
 
struct  motor_120_control_cfg_t
 
struct  motor_120_control_api_t
 
struct  motor_120_control_instance_t
 

Typedefs

typedef void motor_120_control_ctrl_t
 

Enumerations

enum  motor_120_control_event_t
 
enum  motor_120_conduction_type_t
 
enum  motor_120_control_status_t
 
enum  motor_120_control_run_mode_t
 
enum  motor_120_control_rotation_direction_t
 
enum  motor_120_control_wait_stop_flag_t
 
enum  motor_120_control_timeout_error_flag_t
 
enum  motor_120_control_pattern_error_flag_t
 
enum  motor_120_control_speed_ref_t
 
enum  motor_120_control_voltage_ref_t
 

Data Structure Documentation

◆ motor_120_control_callback_args_t

struct motor_120_control_callback_args_t

Callback function parameter data

Data Fields
motor_120_control_event_t event Event trigger.
void const * p_context Placeholder for user data.

◆ motor_120_control_motor_parameter_t

struct motor_120_control_motor_parameter_t

Motor parameter for motor 120 control

Data Fields
uint32_t u4_motor_pp Pole pairs.
float f4_motor_r Resistance (ohm)
float f4_motor_ld Inductance for d-axis (H)
float f4_motor_lq Inductance for q-axis (H)
float f4_motor_m Magnet flux (Wb)
float f4_motor_j Rotor inertia (kgm^2)

◆ motor_120_control_cfg_t

struct motor_120_control_cfg_t

Configuration parameters.

Data Fields

motor_120_conduction_type_t conduction_type
 0:First 60 degree PWM, 1:Complementary first 60 degree PWM
 
uint32_t u4_timeout_cnt
 Undetected time.
 
float f4_max_drive_v
 Max output voltage (V)
 
float f4_min_drive_v
 Min output voltage (V)
 
uint32_t u4_speed_pi_decimation
 Speed PI control decimation counter.
 
uint32_t u4_free_run_timer_freq
 Speed calc free run timer frequency (MHz)
 
float f4_speed_lpf_k
 Speed LPF parameter.
 
float f4_limit_speed_change
 Speed ref change limit.
 
float f4_pi_ctrl_kp
 PI control error.
 
float f4_pi_ctrl_ki
 PI control buffer of integral term.
 
float f4_pi_ctrl_ilimit
 PI control limit of integral term.
 
motor_120_control_motor_parameter_t motor_param
 Motor parameter.
 
void(* p_callback )(motor_120_control_callback_args_t *p_args)
 Callback function.
 
void const * p_context
 Placeholder for user data.
 
void const * p_extend
 Extended configurations.
 

◆ motor_120_control_api_t

struct motor_120_control_api_t

Functions implemented at the HAL layer will follow these APIs.

Data Fields

fsp_err_t(* open )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(motor_120_control_ctrl_t *const p_ctrl)
 
fsp_err_t(* run )(motor_120_control_ctrl_t *const p_ctrl)
 
fsp_err_t(* stop )(motor_120_control_ctrl_t *const p_ctrl)
 
fsp_err_t(* reset )(motor_120_control_ctrl_t *const p_ctrl)
 
fsp_err_t(* speedSet )(motor_120_control_ctrl_t *const p_ctrl, float const speed_rpm)
 
fsp_err_t(* speedGet )(motor_120_control_ctrl_t *const p_ctrl, float *const p_speed_rpm)
 
fsp_err_t(* currentGet )(motor_120_control_ctrl_t *const p_ctrl, motor_120_driver_current_status_t *const p_current_status)
 
fsp_err_t(* waitStopFlagGet )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_wait_stop_flag_t *const p_flag)
 
fsp_err_t(* timeoutErrorFlagGet )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_timeout_error_flag_t *const p_timeout_error_flag)
 
fsp_err_t(* patternErrorFlagGet )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_pattern_error_flag_t *const p_pattern_error_flag)
 
fsp_err_t(* voltageRefGet )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_voltage_ref_t *const p_voltage_ref)
 
fsp_err_t(* parameterUpdate )(motor_120_control_ctrl_t *const p_ctrl, motor_120_control_cfg_t const *const p_cfg)
 

Field Documentation

◆ open

fsp_err_t(* motor_120_control_api_t::open) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_cfg_t const *const p_cfg)

Initialize the motor 120 control module.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to configuration structure.

◆ close

fsp_err_t(* motor_120_control_api_t::close) (motor_120_control_ctrl_t *const p_ctrl)

Close the motor 120 control module

Parameters
[in]p_ctrlPointer to control structure.

◆ run

fsp_err_t(* motor_120_control_api_t::run) (motor_120_control_ctrl_t *const p_ctrl)

Run the motor 120 control module

Parameters
[in]p_ctrlPointer to control structure.

◆ stop

fsp_err_t(* motor_120_control_api_t::stop) (motor_120_control_ctrl_t *const p_ctrl)

Stop the motor 120 control module

Parameters
[in]p_ctrlPointer to control structure.

◆ reset

fsp_err_t(* motor_120_control_api_t::reset) (motor_120_control_ctrl_t *const p_ctrl)

Reset variables of the motor 120 control module

Parameters
[in]p_ctrlPointer to control structure.

◆ speedSet

fsp_err_t(* motor_120_control_api_t::speedSet) (motor_120_control_ctrl_t *const p_ctrl, float const speed_rpm)

Set speed[rpm]

Parameters
[in]p_ctrlPointer to control structure.
[out]speed_rpmPointer to get speed data[rpm]

◆ speedGet

fsp_err_t(* motor_120_control_api_t::speedGet) (motor_120_control_ctrl_t *const p_ctrl, float *const p_speed_rpm)

Get speed.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_speed_rpmPointer to get speed data[rpm]

◆ currentGet

fsp_err_t(* motor_120_control_api_t::currentGet) (motor_120_control_ctrl_t *const p_ctrl, motor_120_driver_current_status_t *const p_current_status)

Get phase current, Vdc and Va_max data.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_current_statusPointer to get data structure.

◆ waitStopFlagGet

fsp_err_t(* motor_120_control_api_t::waitStopFlagGet) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_wait_stop_flag_t *const p_flag)

Get wait stop flag.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_flagPointer to wait stop flag

◆ timeoutErrorFlagGet

fsp_err_t(* motor_120_control_api_t::timeoutErrorFlagGet) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_timeout_error_flag_t *const p_timeout_error_flag)

Get timerout error flag.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_timeout_error_flagPointer to timeout error flag

◆ patternErrorFlagGet

fsp_err_t(* motor_120_control_api_t::patternErrorFlagGet) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_pattern_error_flag_t *const p_pattern_error_flag)

Get pattern error flag.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_pattern_error_flagPointer to pattern error flag

◆ voltageRefGet

fsp_err_t(* motor_120_control_api_t::voltageRefGet) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_voltage_ref_t *const p_voltage_ref)

Get voltage ref.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_voltage_refPointer to flag voltage ref

◆ parameterUpdate

fsp_err_t(* motor_120_control_api_t::parameterUpdate) (motor_120_control_ctrl_t *const p_ctrl, motor_120_control_cfg_t const *const p_cfg)

Update configuration parameters for the calculation in the motor 120 control module

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to configuration structure include update parameters.

◆ motor_120_control_instance_t

struct motor_120_control_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
motor_120_control_ctrl_t * p_ctrl Pointer to the control structure for this instance.
motor_120_control_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
motor_120_control_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ motor_120_control_ctrl_t

Control block. Allocate an instance specific control block to pass into the API calls.

Enumeration Type Documentation

◆ motor_120_control_event_t

Events that can trigger a callback function

Enumerator
MOTOR_120_CONTROL_EVENT_ADC_FORWARD 

Event before motor 120 driver process.

MOTOR_120_CONTROL_EVENT_ADC_BACKWARD 

Event after motor 120 driver process.

MOTOR_120_CONTROL_EVENT_CYCLE_FORWARD 

Before cyclic process of speed control.

MOTOR_120_CONTROL_EVENT_CYCLE_BACKWARD 

After cyclic process of speed control.

◆ motor_120_conduction_type_t

Enumerator
MOTOR_120_CONDUCTION_TYPE_FIRST60 

First 60 degree PWM.

MOTOR_120_CONDUCTION_TYPE_COMPLEMENTARY 

Complementary first 60 degree PWM.

◆ motor_120_control_status_t

120 control status

Enumerator
MOTOR_120_CONTROL_STATUS_INACTIVE 

120 control status inactive

MOTOR_120_CONTROL_STATUS_ACTIVE 

120 control status active

◆ motor_120_control_run_mode_t

Run mode

Enumerator
MOTOR_120_CONTROL_RUN_MODE_INIT 

Run mode init.

MOTOR_120_CONTROL_RUN_MODE_BOOT 

Run mode boot.

MOTOR_120_CONTROL_RUN_MODE_DRIVE 

Run mode drive.

◆ motor_120_control_rotation_direction_t

Rotation direction

Enumerator
MOTOR_120_CONTROL_ROTATION_DIRECTION_CW 

Clockwise.

MOTOR_120_CONTROL_ROTATION_DIRECTION_CCW 

Counter clockwise.

MOTOR_120_CONTROL_ROTATION_DIRECTION_MAX 

Max value.

◆ motor_120_control_wait_stop_flag_t

Flag for waiting for motor stop

Enumerator
MOTOR_120_CONTROL_WAIT_STOP_FLAG_CLEAR 

Wait stop flag clear.

MOTOR_120_CONTROL_WAIT_STOP_FLAG_SET 

Wait stop flag set.

◆ motor_120_control_timeout_error_flag_t

Flag for timeout error status

Enumerator
MOTOR_120_CONTROL_TIMEOUT_ERROR_FLAG_CLEAR 

Timeout error flag clear.

MOTOR_120_CONTROL_TIMEOUT_ERROR_FLAG_SET 

Timeout error flag set.

◆ motor_120_control_pattern_error_flag_t

Flag for pattern error status

Enumerator
MOTOR_120_CONTROL_PATTERN_ERROR_FLAG_CLEAR 

Pattern error flag clear.

MOTOR_120_CONTROL_PATTERN_ERROR_FLAG_SET 

Pattern error flag set.

◆ motor_120_control_speed_ref_t

Speed reference status

Enumerator
MOTOR_120_CONTROL_SPEED_REF_ZERO_CONST 

Speed reference zero const.

MOTOR_120_CONTROL_SPEED_REF_OPENLOOP_1 

Speed reference openloop 1.

MOTOR_120_CONTROL_SPEED_REF_OPENLOOP_2 

Speed reference openloop 2.

MOTOR_120_CONTROL_SPEED_REF_OPENLOOP_3 

Speed reference openloop 3.

MOTOR_120_CONTROL_SPEED_REF_CHANGE 

Speed reference change.

◆ motor_120_control_voltage_ref_t

Voltage reference status

Enumerator
MOTOR_120_CONTROL_VOLTAGE_REF_ZERO_CONST 

Voltage reference zero const.

MOTOR_120_CONTROL_VOLTAGE_REF_UP 

Voltage reference up.

MOTOR_120_CONTROL_VOLTAGE_REF_CONST 

Voltage reference const.

MOTOR_120_CONTROL_VOLTAGE_REF_OPENLOOP 

Voltage reference opneloop.

MOTOR_120_CONTROL_VOLTAGE_REF_PI_OUTPUT 

Voltage reference pi output.