HPM SDK
HPMicro Software Development Kit
HPMicro MCL SMC APIs

Data Structures

struct  hpm_smc_pll_para
 smc phase locked loop parameters More...
 
struct  hpm_mcl_para
 sliding mode control(SMC) More...
 

Macros

#define BLDC_CONTROL_SMC_PLL_PARA_DEFAULTS
 
#define BLDC_CONTROL_SMC_PARA_DEFAULTS
 

Typedefs

typedef struct hpm_smc_pll_para hpm_smc_pll_para_t
 smc phase locked loop parameters More...
 
typedef struct hpm_mcl_para hpm_mcl_para_t
 sliding mode control(SMC) More...
 

Functions

void hpm_mcl_smc_pos_cal (hpm_mcl_para_t *par)
 Sliding mode control function. More...
 
void hpm_mcl_smc_const_cal (hpm_motor_para_t *par)
 Calculation of sliding mode control static parameters. More...
 
float hpm_mcl_smc_pll (hpm_mcl_para_t *par, hpm_smc_pll_para_t *pll)
 Phase-locked loop filtering of angles after smc processing. More...
 
void hpm_mcl_smc_loop (BLDC_CONTROL_FOC_PARA *par, hpm_mcl_para_t *smc, hpm_smc_pll_para_t *pll, uint8_t *is_smc_enable)
 smc current loop More...
 

Detailed Description

Macro Definition Documentation

◆ BLDC_CONTROL_SMC_PARA_DEFAULTS

#define BLDC_CONTROL_SMC_PARA_DEFAULTS

#include <middleware/hpm_mcl/inc/hpm_smc.h>

Value:
{0, 0, 0, NULL, NULL,\
NULL, NULL, 0, 0, 0,\
0, 0, 0,\
NULL,\
NULL}

◆ BLDC_CONTROL_SMC_PLL_PARA_DEFAULTS

#define BLDC_CONTROL_SMC_PLL_PARA_DEFAULTS

#include <middleware/hpm_mcl/inc/hpm_smc.h>

Value:
{0, 0, 0, 0,\
0, 0, 0, 0,\
0, 0, 0, 0, 0,\
NULL}

Typedef Documentation

◆ hpm_mcl_para_t

typedef struct hpm_mcl_para hpm_mcl_para_t

#include <middleware/hpm_mcl/inc/hpm_smc.h>

sliding mode control(SMC)

◆ hpm_smc_pll_para_t

#include <middleware/hpm_mcl/inc/hpm_smc.h>

smc phase locked loop parameters

Function Documentation

◆ hpm_mcl_smc_const_cal()

void hpm_mcl_smc_const_cal ( hpm_motor_para_t par)

#include <middleware/hpm_mcl/inc/hpm_smc.h>

Calculation of sliding mode control static parameters.

Parameters
[in,out]parhpm_motor_para_t

◆ hpm_mcl_smc_loop()

void hpm_mcl_smc_loop ( BLDC_CONTROL_FOC_PARA par,
hpm_mcl_para_t smc,
hpm_smc_pll_para_t pll,
uint8_t *  is_smc_enable 
)

#include <middleware/hpm_mcl/inc/hpm_smc.h>

smc current loop

Parameters
[in,out]parBLDC_CONTROL_FOC_PARA
[in,out]smchpm_mcl_para_t
[in,out]pllhpm_smc_pll_para_t
[in]is_smc_enabletrue: smc enable, false: smc disable

◆ hpm_mcl_smc_pll()

float hpm_mcl_smc_pll ( hpm_mcl_para_t par,
hpm_smc_pll_para_t pll 
)

#include <middleware/hpm_mcl/inc/hpm_smc.h>

Phase-locked loop filtering of angles after smc processing.

Parameters
[in]parhpm_mcl_para_t
[in,out]pllhpm_smc_pll_para_t
Returns
angle

PI

◆ hpm_mcl_smc_pos_cal()

void hpm_mcl_smc_pos_cal ( hpm_mcl_para_t par)

#include <middleware/hpm_mcl/inc/hpm_smc.h>

Sliding mode control function.

Parameters
[in,out]parhpm_mcl_para_t

LOW-PASS