品致--半导体 广告  西安恩狄集成电路有限公司 广告

基于东软载波微控制器电机控制标幺化处理

2022-10-28 14:20:00 来源:上海东软载波微电子有限公司

第1章 概述

1. 1 概述

由于节能和环保要求,运行效率更高的永磁同步电机在各个运动控制行业应用越来越广,市场份额也越来越大。永磁同步电机矢量控制方案具有更好的转矩控制优势,随着电机驱动技术的日渐成熟,其在玩具、风机、抽油烟机、水泵、空调压缩机、电动工具、工业控制等领域已得到大量使用。

鉴于上述应用场景,上海东软载波微电子有限公司(简称essemi)对永磁同步电机驱动技术进行了深入研究,并成功开发了针对电机矢量控制解决方案,该解决方案具有启动力矩大、转矩稳定和易于实现电机最佳工作效率跟踪的优点,动态响应性能适用于负载始终处于动态变化的产品中。

在实际电机控制开发过程和方案推广中,笔者发现许多工程人员对标幺化处理不清楚,因此通过撰写本文向用户介绍如何使用essemi的ES系列芯片实现PMSM电机矢量控制过程中的数据标幺化处理。在电机矢量控制系统中,针对芯片不支持浮点运算芯片,本文提出各种参数和运算的标幺化处理,提高运算的精度,降低运算复杂度,从而减少对CPU运算时间,实现无传感器电机矢量精准控制。

第2章 矢量控制原理

FOC (Field –oriented Control磁场矢量控制)一种方法通过参考坐标变换过程实现的, 如果从定子的角度来分析电机的运行过程,则体现在三相电压电流通过角速度ω进行交流工作,该时变信号产生了旋转的磁通变化,转子的速度是旋转磁通矢量的函数。而如果从旋转的旋转子来分析,三相电压电流可视为直流信号,且旋转磁通矢量是静止的。因此,采用PI控制定子电压来获得期望的电流,则通过参考坐标变换,使用标准PI控制环,如同控制直流信号量一样实现对定子电流的控制。最终实现方式是通过定时器产生PWM控制三相电压,完成对电机运行的控制。

终上所述,实施FOC(矢量控制)的流程简化如下图所示:

基于东软载波微控制器电机控制标幺化处理

矢量控制流程图

第3章 数据的标幺化说明

数据的标幺化就是对矢量控制系统中的各种参与运算的数据,选择对应的基值进行比值转化。

3. 1 电流值的标幺化处理

根据系统的硬件参数算出相应电流基值,对电流采样系统进行Q15转化,ES系列芯片具有ADC采样右对齐功能,使得转换值减去偏差值得到的最大电流值即是0x7FFF。

例如:系统的采样电阻是100mΩ运放的增益为6倍,ADC的参考电压是5V,那么我们系统的最大电流就是(5V/2)/(0.1Ωx6) = 4.167A,该电流值在控制系统中就对应标幺值是0x7FFF。

3. 2 对电流进行坐标转换

3. 2. 1 三坐标系到二坐标转换

Clark转换公式

基于东软载波微控制器电机控制标幺化处理

公式中应用了三相电流基于东软载波微控制器电机控制标幺化处理实际值是浮点数,如果直接进行运算占用CPU大量时间,许多芯片不支持浮点运算,将无法电机矢量控制,对运算数据进行标幺化后运算后,实现了电机矢量控制,注意在过程中运算后要及时进行还原。

#define SVM_SQRT3_DIV2 (int32_t)((1L<<15) * 1.73205/2) /* SQRT3/2 */

3. 2. 2 静止坐标系到旋转坐标转换

Park转换公式

基于东软载波微控制器电机控制标幺化处理

1) 定义一个256个元素的sin函数表,记录从0度到90度的sin函数结果。

2) 将theta值-32767到32768(-180到180度)变为0到65536,通过二进制转换并右移6位,就可以将-180度到180度转化为0x000到0x3ff的数据结果

3) 0x000~0x0ff: -180度到90度

  0x0ff~0x1ff: -90度到0度

  0x1ff~0x2ff: 0度到90度

  0x2ff~0x3ff: 90度到180度

将数据结果的后16位代入sin函数结果表,再经过象限变换就可以得到-180度到180度所对应的sin函数结果

程序代码:

int32_t theta_temp32;

uint16_t theta_temp16;

int16_t SinResult;

theta_temp32 = ((int32_t)32768 + (int32_t)theta);

theta_temp16 = (uint16_t)theta_temp32;

theta_temp16 = theta_temp16 >> 6;

switch((uint16_t)theta_temp16 & 0x0300)//取出第8、9位用于判定象限

{

case 0x000: //180~270

SinResult = -Sin_Table[(uint8_t)(theta_temp16)];

break;

case 0x100: //270~360

SinResult = -Sin_Table[(uint8_t)( 0xFF - (uint8_t)(theta_temp16))];

break;

case 0x200: //0~90

SinResult = Sin_Table[(uint8_t)(theta_temp16)];

break;

case 0x300: //90~180

SinResult = Sin_Table[(uint8_t)(0xFF - (uint8_t)(theta_temp16))];

break;

default:

break;

}

return SinResult;

3. 3 电压值的标幺化处理

根据系统的硬件参数算出相应电压基值,对电压采样进行Q15格式转化,系统最大电压对应0x7FFF,

控制系统中,电压是从电流环控制的输出得到。

例如:系统的分压电阻分别为10KΩ和1KΩ,ADC的参考电压是5V,那么系统的最大电压就是55v,在控制系统中的标幺值就是0x7FFF。

3. 3. 1 PI公式标幺化

基于东软载波微控制器电机控制标幺化处理

PI公式运算时,对Kp和Ki均需要进行Q15处理;在运算过程中,需要注意中间变量的定义,防止产生溢出,对运算结果要进行及时还原,对给定的电压限值也要进行Q15格式转化。

3. 3. 2 电压的坐标系转换

Park逆转换公式

基于东软载波微控制器电机控制标幺化处理

Park逆转换是电流的逆运算,处理方式和电流一样。

3. 3. 3 SVPWM转换

SVPWM转换的相关公式

基于东软载波微控制器电机控制标幺化处理

T为PWM周期

SVPWM实现从电压到定时器的转换,运算相对复杂,主要是防止运算过程溢出。为了减少CPU的运算时间,ES系列的芯片有内部硬件除法加速器。

参考程序代码:

CALC->DIVDR = PWM_T;

CALC->DIVSR = motor_ch->drv.voltage.Vdc;

while(CALC->STAT && 1 == 1);

DCT_PWM32 = (int32_t)(CALC->DIVQR);

U_ref1 = ((int32_t)(motor_ch->drv.voltage.Vbeta));

U_ref2 = Ubeta_ref + Ualpha_ref;

U_ref3 = Ubeta_ref - Ualpha_ref;

T1 = (int32_t)((int64_t)( DCT_PWM32 * U_ref2) >> 15);

T2 = (int32_t)((motor_ch->drv.voltage.Vbeta * DCT_PWM32) >> 15);

第4章 结论

通过对电机矢量控制采样、运算过程中的数据标幺化处理,ES系列芯片的从标幺化前无法实现矢量控制,采用标幺化处理很容易实现,电机矢量控制运算复杂度,系统算力要求降低,方便实现电机矢量控制,成本进一步降低。实现高速电机的矢量控制,使电机矢量控制更加广泛用于生产生活中,为优化控制、节能减排作出有力推动。

声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请与我们联系,我们将及时更正、删除,谢谢。
2023电子峰会 广告

请使用微信扫码登陆