Jump to main content

##

# 3.3.5 mcFocI_FieldOrientedControlDisable

## C

    /* Disable Field Oriented Control (FOC) module */
    void  mcFocI_FieldOrientedControlDisable( tmcFocI_ModuleData_s * const pParameters )

## Summary

Disable Field Oriented Control (FOC) module

## Description

This function disables the field-oriented control (FOC) module by linking the state variables and resetting the module if necessary. It checks the FOC initialization state, resets the module if it is initialized, and then disables the following control modules using state variables and clears the enable flag.

- Open Loop Start-Up Module: Disables the open loop start-up module using `mcSupI_OpenLoopStartupDisable`.
- Reference Control Module: Disables the reference control module using `mcRefI_ReferenceControlDisable`.
- Position Control Module: Disables the position control module using `mcPosI_PositionControlDisable` in position control mode.
- Speed Control Module: Disables the speed control module using `mcSpeI_SpeedControlDisable`.
- Torque Control Module: Disables the torque control module using `mcTorI_TorqueControlDisable`.
- Flux Control Module: Disables the flux control module using `mcFlxI_FluxControlDisable`.
- Flux Weakening Module: Disables the flux weakening module using `mcFlxI_FluxWeakeningDisable` if field weakening is enabled.
- MTPA Module: Disables the Maximum Torque Per Ampere (MTPA) module using `mcFlxI_MTPADisable` if MTPA is enabled.
- Rotor Position Estimation Module: Disables the rotor position estimation module using `mcRpeI_RotorPositionEstimDisable` for sensor-less FOC operation.
- PWM Module: Disables the Pulse Width Modulation (PWM) module using `mcPwmI_PulseWidthModulationDisable`.

## Precondition

None.

## Parameters

Param | Description
--- | ---
pParameters | A 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;

    // Disable the FOC module
    mcFocI_FieldOrientedControlDisable(&focModuleData);

## Remarks

None.