3.3.1 mcFocI_FieldOrientedControlInit

C


/* Initializes the FOC module */
void  mcFocI_FieldOrientedControlInit( tmcFocI_ModuleData_s * const pModule )	

Summary

Initialize the Field Oriented Control (FOC) module

Description

This function initializes the field-oriented control (FOC) module by setting up the necessary parameters, linking state variables, and initializing the various control modules. It updates the state variable structure, sets the module parameters using the parameter module structure, and establishes the default direction. The function then proceeds to initialize the following control modules and sets the initialization flag:

  • Open Loop Start-Up Module: Initializes the open loop start-up module using mcSupI_OpenLoopStartupInit.
  • Reference Control Module: Initializes the reference control module using mcRefI_ReferenceControlInit.
  • Position Control Module: Initializes the position control module using mcPosI_PositionControlInit in position control mode.
  • Speed Control Module: Initializes the speed control module using mcSpeI_SpeedControlInit.
  • Torque Control Module: Initializes the torque control module using mcTorI_TorqueControlInit.
  • Flux Control Module: Initializes the flux control module using mcFlxI_FluxControlInit.
  • Flux Weakening Module: Initializes the flux weakening module using mcFlxI_FluxWeakeningInit if field weakening is enabled.
  • MTPA Module: Initializes the Maximum Torque Per Ampere (MTPA) module using mcFlxI_MTPAInit if MTPA is enabled.
  • Rotor Position Estimation Module: Initializes the rotor position estimation module using mcRpeI_RotorPositionEstimInit for sensor-less FOC operation.
  • PWM Module: Initializes the Pulse Width Modulation (PWM) module using mcPwmI_PulseWidthModulationInit.

Precondition

None.

Parameters

ParamDescription
pModuleA pointer to the module data structure, which contains the parameters and state variables for the FOC module.

Returns

None

Example

// Define the FOC module data structure
tmcFocI_ModuleData_s focModuleData;

// Initialize the FOC module
mcFocI_FieldOrientedControlInit(&focModuleData);
    

Remarks

None.