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