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.

HVPM_Sensorless中AD转换的问题



各位好,请问在28335例程中,HVPM_Sensorless测电机的电流,AD转换模块得到的AdcMirror.ADCRESULT0寄存器里的数我在watch window里测得它的范围是1600~1640间,不是应该在0-4096间才能保证电压值在0-3V变化吗,这里没搞懂,麻烦各位大师能指点下

  • Hi eassion,

    请问你有用示波器看到ADC的输入电压波形是在0~3V变化吗?

    Regards,

    Jay

  • HI,Jay,

    我只是在 HVPM_Sensorless例程中测试level2的程序,用28335的板子和XDS100V2仿真,并没有接电机,所以我在板子的ADC引脚没测到波形:

    代码如下:

    #ifdef DSP2833x_DEVICE_H
    clarke1.As=((AdcMirror.ADCRESULT0)*0.00024414-0.5534)*2*0.909; // Phase A curr.
    clarke1.Bs=((AdcMirror.ADCRESULT1)*0.00024414-0.5546)*2*0.909; // Phase B curr.
    #endif

    而ADC_MACRO_INIT()模块也没有指明ADC模块的输入,那么AdcMirror.ADCRESULT0是根据哪个转换得来的呢?


  • Hi eassion,

    请问你的硬件是TI的Motor Kit吗?

    在Main函数的初始化代码中有下面这样一段:

    // Initialize ADC for DMC Kit Rev 1.1
    ChSel[0]=1; // Dummy meas. avoid 1st sample issue Rev0 Picollo*/
    ChSel[1]=1; // ChSelect: ADC A1-> Phase A Current
    ChSel[2]=9; // ChSelect: ADC B1-> Phase B Current
    ChSel[3]=3; // ChSelect: ADC A3-> Phase C Current
    ChSel[4]=15; // ChSelect: ADC B7-> Phase A Voltage
    ChSel[5]=14; // ChSelect: ADC B6-> Phase B Voltage
    ChSel[6]=12; // ChSelect: ADC B4-> Phase C Voltage
    ChSel[7]=7; // ChSelect: ADC A7-> DC Bus Voltage

    这一段是用来初始化ADC的通道选择的。请根据你的使用情况,测试ADC的输入电压与ADC的转换结果是否对应来确定ADC转换结果的正确。

    Regards,

    Jay

  • 你看AdcResult.ADCRESULT1与AdcResult.ADCRESULT2中的只是多少,正常不?

    因为有偏置电压,在电机断开的情况下,ADC通道1,2结果在2230左右

  • hi Hardy,

    我的电机断开的情况下,ADCresult里的值是1600左右,请问这个值是初始化设置的还是外界产生的呢