FrictionID
Description
This state includes an automated identification process for different friction/torque parameters. It is based on [1] and has been modified to fit into the ParameterID library of the UltraZohm. The breakaway torque \(M_{break}\), coloumb torque \(M_{coul}\), and viscous friction torque \(d_{fric}\) will be identified. This state requires some sort of speed control.

Fig. 64 Schematic overview of the FrictionID
Necessary measurement values
i_dq
omega_m
FrictionID object
-
typedef struct uz_ParaID_FrictionID_t uz_ParaID_FrictionID_t
Object definition for uz_ParaID_FrictionID_t.
FrictionID config
-
struct uz_ParaID_FrictionIDConfig_t
configuration struct for FrictionID specific settings
FrictionID output
-
struct uz_ParaID_FrictionID_output_t
output struct of FrictionID
FrictionID functions
-
uz_ParaID_FrictionID_t *uz_FrictionID_init(void)
Initializes the uz_ParaID_FrictionID_t object.
- Returns
uz_ParaID_FrictionID_t* pointer to object
-
void uz_FrictionID_step(uz_ParaID_FrictionID_t *self)
steps the FrictionID state once
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
-
void uz_FrictionID_set_Config(uz_ParaID_FrictionID_t *self, uz_ParaID_FrictionIDConfig_t Config)
Sets the config struct for the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
Config – configuration struct for FrictionID
-
void uz_FrictionID_set_ActualValues(uz_ParaID_FrictionID_t *self, uz_ParaID_ActualValues_t ActualValues)
Sets the ActualValues struct for the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
ActualValues – struct for the measurement values
-
void uz_FrictionID_set_GlobalConfig(uz_ParaID_FrictionID_t *self, uz_ParaID_GlobalConfig_t GlobalConfig)
Sets the GlobalConfig struct for the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
GlobalConfig – struct for the general settings of the ParameterID
-
void uz_FrictionID_set_ControlFlags(uz_ParaID_FrictionID_t *self, uz_ParaID_ControlFlags_t *ControlFlags)
Sets the ControlFlags struct for the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
ControlFlags – pointer to the struct with the enable signals of the ParameterID
-
bool uz_FrictionID_get_enteredFrictionID(uz_ParaID_FrictionID_t *self)
Gets the status of the enteredFrictionID flag.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
- Returns
true state has been entered
- Returns
false state hasn’t been entered
-
bool uz_FrictionID_get_finishedFrictionID(uz_ParaID_FrictionID_t *self)
Gets the status of the finishedFrictionID flag.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
- Returns
true state has finished
- Returns
false state hasn’t finished
-
uz_ParaID_Controller_Parameters_output_t *uz_FrictionID_get_FOC_output(uz_ParaID_FrictionID_t *self)
Gets the pointer to the output controller struct of the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
- Returns
uz_ParaID_Controller_Parameters_output_t* pointer to the FOC controller parameters struct
-
uz_ParaID_FrictionID_output_t *uz_FrictionID_get_output(uz_ParaID_FrictionID_t *self)
Gets the pointer to the output struct of the FrictionID.
- Parameters
self – pointer to uz_ParaID_FrictionID_t object
- Returns
uz_ParaID_FrictionID_output_t* pointer to the output struct
Sources
- 1
Automatic identification of the frictional behaviour of permanent magnet synchronous machines, Philipp Gebhardt, 2018