PMSM三相电压估算,问这个Mfcun1是个什么值?为什么也是无量纲的?这个相电压估算的原理是什么?

YHYDZ ( 楼主 ) 2018-6-14 00:18:51  显示全部楼层
本帖最后由 一只耳朵怪 于 2018-6-14 10:22 编辑

/* =================================================================================
File name: VOLT_CAL.H
===================================================================================*/

#ifndef __VOLT_CAL_H__
#define __VOLT_CAL_H__
typedef struct [ _iq DcBusVolt; // Input: DC-bus voltage (pu)
_iq MfuncV1; // Input: Modulation voltage phase A (pu)
_iq MfuncV2; // Input: Modulation voltage phase B (pu)
_iq MfuncV3; // Input: Modulation voltage phase C (pu)
Uint16 OutOfPhase; // Parameter: Out of Phase adjustment (0 or 1) (Q0) - independently with global Q
_iq VphaseA; // Output: Phase voltage phase A (pu)
_iq VphaseB; // Output: Phase voltage phase B (pu)
_iq VphaseC; // Output: Phase voltage phase C (pu)
_iq Valpha; // Output: Stationary d-axis phase voltage (pu)
_iq Vbeta; // Output: Stationary q-axis phase voltage (pu)
_iq temp; // Variable: temp variable
] PHASEVOLTAGE;

/*
OutOfPhase = 1 for the out of phase correction if
* MfuncV1 is out of phase with PWM1,
* MfuncV2 is out of phase with PWM3,
* MfuncV3 is out of phase with PWM5,
otherwise, set 0 if their phases are correct.
*/
/*-----------------------------------------------------------------------------
Default initalizer for the PHASEVOLTAGE object.
-----------------------------------------------------------------------------*/
#define PHASEVOLTAGE_DEFAULTS [ 0, \
0, \
0, \
0, \
1, \
0, \
0, \
0, \
0, \
0, \
]
#define ONE_THIRD _IQ(0.33333333333333)
#define TWO_THIRD _IQ(0.66666666666667)
#define INV_SQRT3 _IQ(0.57735026918963)
/*------------------------------------------------------------------------------
Phase Voltage Calculation Macro Definition
------------------------------------------------------------------------------*/

#define PHASEVOLT_MACRO(v) \
\
\
/* Scale the incomming Modulation functions with the DC bus voltage value*/ \
/* and calculate the 3 Phase voltages */ \
v.temp = _IQmpy(v.DcBusVolt,ONE_THIRD); \
v.VphaseA = _IQmpy(v.temp,(_IQmpy2(v.MfuncV1)-v.MfuncV2-v.MfuncV3)); \
v.VphaseB = _IQmpy(v.temp,(_IQmpy2(v.MfuncV2)-v.MfuncV1-v.MfuncV3)); \
\
if (v.OutOfPhase==0) \
[ v.VphaseA=-v.VphaseA; \
v.VphaseB=-v.VphaseB; \
] \
/* Voltage transformation (a,b,c) -> (Alpha,Beta) */ \
v.Valpha = v.VphaseA; \
v.Vbeta = _IQmpy((v.VphaseA + _IQmpy2(v.VphaseB)),INV_SQRT3);

#endif // __VOLT_CAL_H__
// Phase C (if needed)
// v.VphaseC = _IQmpy(v.temp,(_IQmpy2(v.MfuncV3)-v.MfuncV2-v.MfuncV1)); \
请问这个Mfcun1是个什么值?为什么也是无量纲的?这个相电压估算的原理是什么?谢谢1

7个回复

广陵云峰 发表于 2018-6-14 00:27:12
输出相电压可以用直流母线电压和上桥臂的占空比来计算,具体原理见附件的文档:
回复

举报 使用道具

YHYDZ 发表于 2018-6-14 00:44:14
广陵云峰 发表于 2018-6-14 00:27
输出相电压可以用直流母线电压和上桥臂的占空比来计算,具体原理见附件的文档:

谢谢你!原理明白了,不过还是困惑,这个MfuncV1,MfuncV2,MfuncV3是怎么幅值的?是初始化的时候定义还是哪个模块的输出?
回复

举报 使用道具

广陵云峰 发表于 2018-6-14 01:03:47
YHYDZ 发表于 2018-6-14 00:44
谢谢你!原理明白了,不过还是困惑,这个MfuncV1,MfuncV2,MfuncV3是怎么幅值的?是初始化的时候定义还是哪个模块的输出?

volt1.MfuncV1 = svgen1.Ta;
volt1.MfuncV2 = svgen1.Tb;
volt1.MfuncV3 = svgen1.Tc;
就是PDF资料里面的上桥臂开关函数S1,S2,S3,是SVPWM模块输出的。
回复

举报 使用道具

cmh29 发表于 2018-6-14 01:19:24
广陵云峰 发表于 2018-6-14 01:03
volt1.MfuncV1 = svgen1.Ta;
volt1.MfuncV2 = svgen1.Tb;
volt1.MfuncV3 = svgen1.Tc;

您好,关于电压基准我有个问题。U、V、W端电压是通过124.2倍衰减后通过12位板载ADC采集得到,ADC结果为12位,左移3位就是15位,用Q15格式表示的话就直接是范围(0,1),即Q15结果为1代表的是410V。。程序中就直接用ADC采样的结果认为就是标幺值,按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是该值。请问这是为什么呢?谢谢!
回复

举报 使用道具

广陵云峰 发表于 2018-6-14 01:24:45
cmh29 发表于 2018-6-14 01:19
您好,关于电压基准我有个问题。U、V、W端电压是通过124.2倍衰减后通过12位板载ADC采集得到,ADC结果为12位,左移3位就是15位,用Q15格式表示的话就直接是范围(0,1),即Q15结果为1代表的是410V。。程序中就直接用ADC采样的结果认为就是标幺值,按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是 ...

”按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是该值“
你指的是:
#define BASE_VOLTAGE    236.14   ? 
回复

举报 使用道具

cmh29 发表于 2018-6-14 01:34:23
广陵云峰 发表于 2018-6-14 01:24
”按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是该值“
你指的是:
#define BASE_VOLTAGE    236.14   ? 

是的。就是为什么要除以根号3。谢谢
回复

举报 使用道具

王栋春 发表于 2018-6-14 21:07:51
有原理图吗
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-6-23 08:33 , Processed in 1.333063 second(s), 24 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表