This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320F28035:TI controlSUITE 太阳能 Mirco 逆变器示例

Guru**** 2555720 points
Other Parts Discussed in Thread: CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/757264/compiler-tms320f28035-ti-controlsuite-solar-mirco-inverter-example

器件型号:TMS320F28035
Thread 中讨论的其他器件:controlSUITE

工具/软件:TI C/C++编译器

尊敬的 TI 专家:

我将介绍 TI controlSUITE 太阳能微型逆变器示例提供的代码。

项目名称:SolarMicroInv_F2803x。 它与3p3z 控制器有关。 它是构建2、无电网、电阻器负载、仅限逆变器。

#define CNTL_3P3Z_IQ_MACRO (v、k)                           \
 /*计算误差*/                           \
 K.Errn = k.Ref - k.Fdbk;                          \
 K.out =_IQ24mpy (v.COEFF_A3、k.Out3)+_IQ24mpy (v.COEFF_A2、k.Out2)+_IQ24mpy (v.COEFF_A1、k.Out1)       \
 +_IQ24mpy (v.COEFF_B3、k.Errn3)+_IQ24mpy (v.COEFF_B2、k.Errn2)+_IQ24eff (v.COEFF_B1、k.Errn1)+_IQ24mpy (v.Compy_B0、k.Errn); \
                                 \
 /*更新错误值*/                          \
 K.Errn3 = k.Errn2;                            \
 K.Errn2 = k.Errn1;                            \
 K.Errn1 = k.Errn;                            \
                                 \
 /*确定新输出*/                          \
 K.out =(k.out < v.Max)? K.out:v.Max;                      \
 K.out =(k.out > v.imin)? K.out:v.imin;                      \
                                 \
 /*存储输出*/                            \
 K.Out3 = K.Out2;                            \
 K.Out2 = k.Out1;                            \
 K.Out1 = k.out;                             \
 /*饱和输出*/                           \
 K.out =(((k.out > v.min)? K.out:v.min);

我的问题是:

(1)什么是 IMIN? 它的用途是什么? Imin 和 Min 之间的区别是什么? 我在 main()中看到,min 初始化为-0.97。 但 Imin 不是。 因此、我假设 IMIN 为0。 那么、当.out 变为负时、它会变得有问题。

 CNTL_3P3Z_IQ_VARS_INIT (&cntl3p3z_initi_vars);
 CNTL_3P3Z_IQ_COEFFS_init (&cntl3p3z_initi_coeff);
 cntl3p3z_invi_coeff.COEFF_A1 =_iQ24 (1.584);
 cntl3p3z_invi_coeff.coeff_A2 =_iq24 (-0.6978);
 cntl3p3z_invi_coeff.COEFF_A3 =_iQ24 (0.1137);
 cntl3p3z_invi_coeff.COEFF_B0 =_iQ24 (0.2866);
 cntl3p3z_invi_coeff.COEFF_B1 =_iQ24 (-0.3173);
 cntl3p3z_invi_coeff.COEFF_B2 =_iQ24 (0.3338);
 cntl3p3z_invi_coeff.COEFF_B3 =_iQ24 (-0.2616);
 cntl3p3z_invi_coeff.Max =_iq24 (0.95);
 cntl3p3z_invi_coeff.min =_iq24 (-0.95);

(2)两个初始化函数( CNTL_3P3Z_IQ_VARS_init (&CNTL3p3z_INVI_vars);CNTL_3P3Z_IQ_COEFFS_init (&CNT3p3z_INVI_COEff))的代码在哪里? 我在项目中找不到任何位置。  

提前感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1)阅读 UG、SolarLib.pdf、请参阅第119页、其中描述了它的含义。

    C:\ti\controlSUITE\libs\app_libs\solar\v1.2

    2) 2)其源代码编译到太阳能库中。 太阳能库的来源位于
    C:\ti\controlSUITE\libs\app_libs\solar\v1.2\IQ\source