部件号:LAUNCHXL-F2.8377万S
你好,首先,对不起我的英语。
我正在使用F2.8377万S的ADC测量电压,并通过PI控制器控制此电压。 当我将电压传感器调到我的刻度时,ADC测量正确,但当我运行代码以控制电压时,测量结果出错,并出现 不可预测的错误。
可能我设置的ADC寄存器错误?
附: 我提到电压测量,但我使用另外2个通道进行其他测量...
附件中的代码(我使用的代码)基于示例: epwm_updown_aq_cpu01.ce2e.ti.com/.../forum.txt
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.
部件号:LAUNCHXL-F2.8377万S
你好,首先,对不起我的英语。
我正在使用F2.8377万S的ADC测量电压,并通过PI控制器控制此电压。 当我将电压传感器调到我的刻度时,ADC测量正确,但当我运行代码以控制电压时,测量结果出错,并出现 不可预测的错误。
可能我设置的ADC寄存器错误?
附: 我提到电压测量,但我使用另外2个通道进行其他测量...
附件中的代码(我使用的代码)基于示例: epwm_updown_aq_cpu01.ce2e.ti.com/.../forum.txt
你好,Devin,
我的问题已经解决了。 TI的支持对我帮助很大。
这是我的代码有问题的地方:
我在中断之外执行AD读数。 采集窗口(由ADC_SOC_ePWM示例确定)与我所使用的AD分辨率不符。 在ADC_SOC_ePWM示例中,12位分辨率模式的采集时间设置为14,16位分辨率模式的采集时间设置为63。 但是 ,即使我在12位中确定了我的AD的分辨率,也没有遵守这一条件。 它遵循我所做的适当性:
示例:
IF (ADC_Resolution _12位== AdcaRegs.ADCCTL2.bit.Resolution)
{
acqps = 14;//75ns
}
ELSE //分辨率为16位
{
acqps = 63;//320ns
}
我:我刚刚删除了IF条件,并为acqps设置了14。