项目介绍
一、电机参数自动识别技术
本文主要介绍基础N32G45X介绍了电机参数识别技术系列开发的特点API调用接口开发。
在无速度传感器矢量控制系统中,电机的高性能运行需要获得准确的电机本体参数,但电机参数会随着电机负载和温度的变化而变化,严重时会导致电机系统故障。特别是对于冰箱压缩机市场,冰箱压缩机种类繁多,参数测量不方便。国家技术推出了电机参数识别(冰箱压缩机)技术,具有以下技术特点:
- 纯软件模式,基于电流识别电机参数,无需添加新模块
- 支持空载识别中的空载识别和负载识别
- 识别电阻、电感、磁链、极对数
- 与传统的冰箱压缩机参数测量方法相比,该方案节省了示波器、高压探头、电桥等设备
技术优势:
![]() |
|
|
|
二、PC端工具:电机参数识别(冰箱压缩机)的演示工具
三、基于SDK包的API接口调用
SDK包:N32G45x_FW_Lib_Src_Est_ReV1.0.如果找不到相关信息,可以联系自己获取。
参数识别算法模块被设计成一个独立的功能模块,主要为无传感器提供电机参数,包括电阻、电感和磁链。推广国家技术参数识别算法的方法如下。
- 基于国家技术冰箱参数识别评估板,可直接评估
- 国家技术提供嵌入客户的参数识别算法模块FOC算法中
-
11 返回状态结构体
typedef enum
{
NORMAL = 0,
PARAM_EST_OK,
}ParamEstType;
主要有两种返回状态,在评估结束前返回NORMAL,参数识别后返回PARAM_EST_OK。
-
-
2 属性结构体
-
typedef struct
{
//public
int16_t PwmFreq;
int16_t BaseSampVol;
float BaseCurrent;
float Udc;
int16_t *IdFedBak;
int16_t *IqFedBak;
int32_t *UdOut_Q15;
int32_t *UqOut_Q15;
int16_t *IdObj;
int16_t *IqObj;
int16_t *SampVol_Q15;
int16_t *EleAng_Q15;
int32_t *U_Alpha;
int32_t *U_Beta;
int32_t *I_Alpha;
int32_t *I_Beta;
int32_t *SpeedRpm;
//输出
float Rs;
float Ls1;
float Fs2;
//private
…
} ParaEst_Obj;
public成员可以直接访问共有变量,private不支持成员访问的私有变量。共有变量介绍如下。
成员变量
功能说明
PwmFreq
FOC系统中使用的载波频率
BaseSampVol
基值采样电压
BaseCurrent
基值电流
*IdFedBak
D轴采样电流指针
*IqFedBak
Q轴采样电流指针
*UdOut_Q15
U轴输出电压指针
*UqOut_Q15
Q轴输出电压指针
*IdObj
D轴电流指标
*IqObj
Q轴电流指针
*SampVol_Q15
采样电压指针
*EleAng_Q15
转子角度指针
*U_Alpha
Alpha轴电压
*U_Beta
Beta轴电压
*I_Alpha
Alpha轴电流
*I_Beta
Beta轴电流
*SpeedRpm
速度
Public变量在FOC程序启动初始化一次就可以。
-
-
3初始化方法 ParaEstInit
-
函数原型为:
void ParaEstInit(ParaEst_Obj *V);
该函数完成对参数识别属性的初始化,在FOC启动前进行调用。
输入:
参数识别属性
输出:
无
-
-
4参数识别方法 ParaEst
-
函数原型为:
ParamEstType ParaEst(ParaEst_Obj *V);
通过返回值判断是正在识别,还是识别完成。
输入:
参数识别属性
输出:
参数识别结果状态
-
-
5参数识别配置 ParaEstSetParam
-
函数原型为:
void ParaEstSetParam(ParaEst_Obj *V ,int16_t Enable);
在FOC启动前,调整参数识别的默认参数,使能参数识别
输入:
参数识别属性,参数识别使能
输出:
无