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.

关于controlsuite中HVPM2833xsensorless的问题



问题一:我在HVPM2833XSENSORLESS这个工程中使用了LEVEL1,我将EnableFlag设置成1进行再编译,然后在DEBUG界面中设置变量IsrTicker和EnableFlag两个变量,发现运行LEVEL1的这个IsrTicker变量一直就没变过,一直为零,相当于就一直没有进过LEVEL1的中断。。。

问题二:怎么得到从SVGEN-MACRO中输出的Ta,Tb,Tc以及Tb-Tc的波形,我看TI官方给的PDF就有相应的图形求大神解答

  • Wade,

    1. IsrTicker是表示中断处理执行次数的变量,只要正常进入中断了,不管是offset中断还是mainisr中断,都会执行;检查下你的变量观测窗口是否选择连续刷新了;

    2. 这个图是外部DAC输出的,你可以用示波器测量板子上的J14的DAC1~4口,原理是通过PWM模块输出包含Ta/Tb/Tc/Tb-Tc信号(通过占空比改变)的PWM信号,然后通过外部EVM板上的RC滤波电路转换成模拟量。如DAC-PWM的设置如下:

    //    Connect inputs of the PWMDAC module
    // ------------------------------------------------------------------------------ 
     pwmdac1.MfuncC1 = svgen1.Ta;
        pwmdac1.MfuncC2 = svgen1.Tb;
        PWMDAC_MACRO(6,pwmdac1)         // PWMDAC 6A, 6B
       
        pwmdac1.MfuncC1 = svgen1.Tc;
        pwmdac1.MfuncC2 = svgen1.Tb-svgen1.Tc;
     PWMDAC_MACRO(7,pwmdac1)   

    // ------------------------------------------------------------------------------
    //    Connect inputs of the DATALOG module
    // ------------------------------------------------------------------------------
        DlogCh1 = _IQtoQ15(svgen1.Ta);
        DlogCh2 = _IQtoQ15(svgen1.Tb);
        DlogCh3 = _IQtoQ15(svgen1.Tc);
        DlogCh4 = _IQtoQ15(svgen1.Tb-svgen1.Tc);

  • Martin Yu 说:

    Wade,

    1. IsrTicker是表示中断处理执行次数的变量,只要正常进入中断了,不管是offset中断还是mainisr中断,都会执行;检查��你的变量观测窗口是否选择连续刷新了;

    2. 这个图是外部DAC输出的,你可以用示波器测量板子上的J14的DAC1~4口,原理是通过PWM模块输出包含Ta/Tb/Tc/Tb-Tc信号(通过占空比改变)的PWM信号,然后通过外部EVM板上的RC滤波电路转换成模拟量。如DAC-PWM的设置如下:

    //    Connect inputs of the PWMDAC module
    // ------------------------------------------------------------------------------ 
     pwmdac1.MfuncC1 = svgen1.Ta;
        pwmdac1.MfuncC2 = svgen1.Tb;
        PWMDAC_MACRO(6,pwmdac1)         // PWMDAC 6A, 6B
       
        pwmdac1.MfuncC1 = svgen1.Tc;
        pwmdac1.MfuncC2 = svgen1.Tb-svgen1.Tc;
     PWMDAC_MACRO(7,pwmdac1)   

    // ------------------------------------------------------------------------------
    //    Connect inputs of the DATALOG module
    // ------------------------------------------------------------------------------
        DlogCh1 = _IQtoQ15(svgen1.Ta);
        DlogCh2 = _IQtoQ15(svgen1.Tb);
        DlogCh3 = _IQtoQ15(svgen1.Tc);
        DlogCh4 = _IQtoQ15(svgen1.Tb-svgen1.Tc);

    您好我想再问下,我用示波器看到的从PWM-MACRO模块中输出PWM1A/B,PWM2A/B,PWM3A/B的波形都是像下图一样,一个电压为4.55v,另一个为1.7v

    并且这三相电压也没有相位差,但是输入进来的Ta,Tb,Tc是有相位差的,可是这个PWM输出的电压是没有是没有相位差的。。。想问下是不是哪里出了问题?

  • Wade,

    你看的是哪几个信号?如果是开始说的Ta/Tb/Tc和Tb-Tc的话,就应该测得是PWM6A\PWM6B\PWM7A\PWM7B,而且建议量电阻后端的,即经过RC低通滤波的信号,这样的就是正弦信号。板子上的[Main]的J14。

  • Martin Yu 说:

    Wade,

    你看的是哪几个信号?如果是开始说的Ta/Tb/Tc和Tb-Tc的话,就应该测得是PWM6A\PWM6B\PWM7A\PWM7B,而且建议量电阻后端的,即���过RC低通滤波的信号,这样的就是正弦信号。板子上的[Main]的J14。

    您好我测量的就是就是下图的PWM1A/B,PWM2A/B,PWM3A/B这六路PWM输出,这六路就是PWM1A,PWM2A,PWM3A完全相同,PWM1B,PWM2B,PWM3B完全相同

    输出

  • Wade zhang1 说:

    Wade,

    你看的是哪几个信号?如果是开始说的Ta/Tb/Tc和Tb-Tc的话,就应该测得是PWM6A\PWM6B\PWM7A\PWM7B,而且建议量电阻后端的,即���过RC低通滤波的信号,这样的就是正弦信号。板子上的[Main]的J14。

    您好我测量的就是就是下图的PWM1A/B,PWM2A/B,PWM3A/B这六路PWM输出,这六路就是PWM1A,PWM2A,PWM3A完全相同,PWM1B,PWM2B,PWM3B完全相同

    输出

    [/quote]还有就是28335是没有PWM7A/B这个功能引脚的呀

  • 你用CCS里面的graph窗口能看到波形吗?这四个波形可以通过CCS里面的graph窗口看也可以利用PWM模块输出到外面用示波器看的。

    而且例程中让你侧的而是Ta/Tb/Tc,在这个模块之前的SVPWM模块的输出,或者说是Mfunc1_C1~C3而不是输出的PWM1A/B等;

     

  • Martin Yu 说:

    你用CCS里面的graph窗口能看到波形吗?这四个波形可以通过CCS里面的graph窗口看也可以利用PWM模块输出到外面用示波器看的。

    而且例程中让你侧的而是Ta/Tb/Tc,在这个模块之前的SVPWM模块的输出,或者说是Mfunc1_C1~C3而不是输出的PWM1A/B等;

     

    问题一:我将LEVEL1烧写到28335中发现当我烧到RAM和FLASH中会出现不同的结果,我想问一下除了将buildlevel设置为level1和将enableflag置1,是否还有其他我没有设置的标志位?

    问题二:刚说到当程序烧到RAM和FLASH中会出现不同的结果,我是由于板子的PWM6A/B当做了I/O来使用,所以我先将1,2引脚配置成PWMDAC,  3.4.5配置成了PWM引脚

    pwmdac1.MfuncC1 = svgen1.Ta; 
    pwmdac1.MfuncC2 = svgen1.Tb; 
    PWMDAC_MACRO(1,pwmdac1) // PWMDAC 1A, 1B

    pwmdac1.MfuncC1 = svgen1.Tc; 
    pwmdac1.MfuncC2 = svgen1.Tb-svgen1.Tc; 
    PWMDAC_MACRO(2,pwmdac1)

    这是烧写到FLAHS中的结果,会发现完全没有资料中说到的120°的相位差,这是为什么?以及实时调试变量的结果,会发现烧写到FLASH的时候ISRTICKER这个变量根本就没有任何变化相当于没有进中断,但是当我烧写RAM中的时候,ISRTICKER这个变量是在不断增加的,但是烧写到RAM中一直都没有PWM波形输出,这又是什么原因呢?

    图一为烧写到FLASH中,我测得的波形已经加上了RC低通滤波

    图二为烧写到FLASH中的实时变量,可以看到ISRTICKER这个变量没有改变

    图三为当把程序烧写到RAM中时的实时变量的变化,ISRTICKER一直增加,但是用示波器观察PWM输出引脚没有任何变化,一直为低电平

    麻烦大神解答,不胜感激

  • 您好,我有关于controlSUITE中的FOC无传感器 (Delfino F2833x)例程的一点疑惑,想请教一下,F2833x是浮点型芯片,为什么例程仍然给的是定点呢,这样的话,在程序实现上,除了两个芯片硬件结构不同外,和用dsp2812芯片又有什么不同呢