完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 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个回答
|
|
|
|
|
|
谢谢你!原理明白了,不过还是困惑,这个MfuncV1,MfuncV2,MfuncV3是怎么幅值的?是初始化的时候定义还是哪个模块的输出? |
|
|
|
volt1.MfuncV1 = svgen1.Ta; volt1.MfuncV2 = svgen1.Tb; volt1.MfuncV3 = svgen1.Tc; 就是PDF资料里面的上桥臂开关函数S1,S2,S3,是SVPWM模块输出的。 |
|
|
|
广陵云峰 发表于 2018-6-14 01:03 您好,关于电压基准我有个问题。U、V、W端电压是通过124.2倍衰减后通过12位板载ADC采集得到,ADC结果为12位,左移3位就是15位,用Q15格式表示的话就直接是范围(0,1),即Q15结果为1代表的是410V。。程序中就直接用ADC采样的结果认为就是标幺值,按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是该值。请问这是为什么呢?谢谢! |
|
|
|
cmh29 发表于 2018-6-14 01:19 ”按代码理解电压标幺值的额定电压应该是410V才对。但是程序中额定电压设置不是该值“ 你指的是: #define BASE_VOLTAGE 236.14 ? |
|
|
|
广陵云峰 发表于 2018-6-14 01:24 是的。就是为什么要除以根号3。谢谢 |
|
|
|
有原理图吗
|
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
677 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
599 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1052 浏览 1 评论
736 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
523 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
158浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
122浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
124浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
122浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
165浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 15:36 , Processed in 1.215044 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号