• 大小: 17KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-05
  • 语言: 其他
  • 标签:

资源简介

STM32FOC电机控制角度速度计算源代码MC_State_Observer

资源截图

代码片段和文件信息

/******************** (C) COPYRIGHT 2007 STMicroelectronics ********************
* File Name          : MC_State_Observer.c
* Author             : IMS Systems Lab 
* Date First Issued  : 21/11/07
* Description        : This module implements the State Observer of 
*                      the PMSM B-EMF thus identifying rotor speed and position
*
********************************************************************************
* History:
* 21/11/07 v1.0
********************************************************************************
* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
* AS A RESULT STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
* CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/

/* Includes ------------------------------------------------------------------*/

#include “stm32f10x_type.h“
#include “MC_type.h“
#include “MC_State_Observer.h“

/* Private define ------------------------------------------------------------*/
#define BUFFER_SIZE (u8)64

/* Private variables ---------------------------------------------------------*/
static s32 wIalfa_estwIbeta_est;
static s32 wBemf_alfa_est wBemf_beta_est;
static s32 wSpeed_PI_integral_sum;
static s16 hBemf_alfa_esthBemf_beta_est;

static s16 hSpeed_Buffer[BUFFER_SIZE];
static s16 hRotor_El_Angle;
static s16 hRotor_Speed_dpp;


static bool Max_Speed_Out Min_Speed_Out Is_Speed_Reliable;
static u8 bSpeed_Buffer_Index;

extern const s16 hSin_Cos_Table[256];

static volatile s16 hC2 hC4;
static s16 hF1 hF2 hF3 hC1 hC3hC5 hC6;

static volatile s16 hSpeed_P_Gain hSpeed_I_Gain;
static s32 wMotorMaxSpeed_dpp;
static u16 hPercentageFactor;

/* Private function prototypes -----------------------------------------------*/
s16 Calc_Rotor_Speed(s16 s16);
s16 Speed_PI(s16 s16);
void Store_Rotor_Speed(s16);

//function of MC_Clarke_Park.c
Trig_Components Trig_Functions(s16);

/*******************************************************************************
* Function Name : STO_Calc_Rotor_Angle  角度
* Description : This function implements the State Observer of a
*        PMSM back-emfs. Thus motor speed and rotor angle are calculated
*         and stored in the variables hRotor_SpeedhRotor_El_Angle.
* Input : Stator voltage reference values Valpha Vbeta (as provided by RevPark
*         through variable Stat_Volt_alfa_beta)
*   Stator current values IalphaIbeta (as provided by Clark trasformation
*   through variable Stat_Curr_alfa_beta)  DC bus voltage.                          // 定子的电压与电流有关
* Output : None
* Return : None
***************************

评论

共有 条评论

相关资源