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.

[参考译文] DRV8302-HC-C2-KIT:TMS320F28035 - ADC 读取问题

Guru**** 2933630 points

Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/848738/drv8302-hc-c2-kit-tms320f28035---adc-reading-problem

器件型号:DRV8302-HC-C2-KIT

大家好、

我一直在使用 ti\controlSUITE\development_kits\DRV830x-HC-C2-KIT_V105\InstaSPIN_BLDC 项目来开发 DRV8302-HC-C2-KIT_V105\InstaSPIN_BLDC。 我的主要目标是对 BLDC 电机进行无传感器梯形控制。  

虽然使用示例代码可以正常工作、但当我尝试从 ADC 通道获取有意义的值时、我失败了、我是指直流总线电流。

在该项目中、直流总线电流通过 ADC-A2进行读取、如下所示。

我还使用示例代码 ADC_MACROL_INIT()初始化了 ADC、如下所示。  

#define ADC_MACROL_INIT ()\
\
DELAY_US (ADC_USDELAY);\
AdcRegs.ADCCTL1.all=ADC_RESET_FLAG;\
asm (" NOP ");\
asm (" NOP ");\

EALLOW;\
AdcRegs.ADCCTL1.bit.ADCBGPWD= 1;//加电带隙*\

DELA_US (ADC_USDELAREGL.ADCCTL1.bit.ADCBGPWD = 1;\ ADCLA.ADCR0.ADCR1.ADCR1.ADCR1.ADCR0.ADCR1.ADCR0.RIST0= 1;\ ADCR0.ADCR1.ADCR1.ADCR0.ADCR1.ADCR0.ADCR1.ADCR1.ADCR1.ADCR1.ADCR0.ADCR0.ADCR0.ADCR0.ADCR


/*上电基准*/\
AdcRegs.ADCCTL1.bit.ADCPWDN= 1;/*为 ADC 的其余部分加电*/\
AdcRegs.ADCCTL1.bit.ADCENABLE= 1;//启用 ADC */\

\ asm (" RPT#100 || NOP");\AdcRegs.ADCLA.1=ADCCTL1.ADCCEST.ADC.E1.ADAPS.ADAPS.E1.DEPS.ADCMP0




;\ADCMP0

信道选择***** /\

\\\\ AdcRegs.ADCSOC0CTL.bit.CHSEL
= 15;/*虚拟内存。 避免出现第1个采样问题 Rev0 Picolo*/\
AdcRegs.ADCSO0CTL.bit.TRIGSEL = 5;\
AdcRegs.ADCSO0CTL.bit.ACQPS= 6;\

AdcRegs.ADCOC1CTL.bit.CHSEL= 15;// ChSelect:ADC B7->ADCSOC1*
= 6、ADCSOC1RMC1.C0 = 1、ADCSOC1RMCTR0 *、ADC1CTRL = 6、ADCSOC1CTR0 = 1、ADCTR0 * 1。
/*将 SOC0 S/H 窗口设置为7个 ADC 时钟周期、(6个 ACQPS 加1)*/\
\\ AdcRegs.ADCSOC2CTL.bit.CHSEL
= 7;//选择:ADC A7->V 相位 B */\
AdcRegs.ADCOC2CTL.bit.TRIGSEL = 5;
ADCSOC32.ADC32.ChCCL

= 6位 ADC32.ADCCPL.ADCTIGSEL = 6;ADC32.ADCCL.ADC32.ADCTIGCCRC.ADCL.ADCTIGSEL = 6位 ADC B4->V 相位 C */\
AdcRegs.ADCSOC3CTL.bit.TRIGSEL = 5;\
AdcRegs.ADCSO3CTL.bit.ACQPS= 6;\
AdcRegs.ADCOC4CTL.bit.CHSEL
= 2;// ChSelect:ADC A2->低侧



寄存器= 6;\ ADCCOM.CC1RC.ECCS.bit.ADCTI.ADCTRS.CTI.RC.ECC6;\ ADCTI.ADCTI.ADCTRS.RC.RC.ECC6 * = 1;//启用 ADCINT1 */\
AdcRegs.INTSEL1N2.bit.INT1CONT = 0;//禁用 ADCINT1连续模式*/\
AdcRegs.INTSEL1N2.bit.INT1SEL= 4;//设置 EOC4以触发 ADCINT1触发*/\

EDIS;\
。\
/*为 EPWM1的时基设置启用 CNT_ZERO 的事件触发器*/\
EPwm1Regs.ETSEL.bit.SOCAEN = 1; /*启用 SOCA */\
EPwm1Regs.ETSEL.bit.SOCASEL = 2;//启用 TTBCNTR = SOCA 的 PRD 事件*/\
EPwm1Regs.ETPS.bit.SOCAPRD = 1; /*在发生第一个事件时生成 SOCA */\
EPwm1Regs.ETCLR.bit.SOCA = 1; /*清除 SOCA 标志*/\

/*为电流采样设置 SOCB 脉冲*/\
EPwm1Regs.ETSEL.bit.SOCBEN = 1; /*启用 SOCB */\
EPwm1Regs.ETSEL.bit.SOCBSEL = 6;//启用 TBCNTR = CMPB 递增事件*/\
EPwm1Regs.ETPS.bit.SOCBPRD = 1; /*在发生第一个事件时生成 SOCB */\
EPwm1Regs.ETCLR.bit.SOCB = 1; /*清除 SOCB 标志*/

#endif //__F2803XIDC_VEMF_H__

但是、我在 ADC 结果中看不到任何有意义的关系。  

此外、我在 TP23上测量了总线电流(如上所示)、并且测得的电压与总线电流之间具有某种线性关系。  

我将测量结果列出如下:

ADC 值 总线电流
2060. 0.1.
2060. 0.1.
2061 0.1.
2060. 0.13
2060. 0.16.
2060. 0.18.
2060. 0.22.
1855 0.26.
1811. 0.31.
1850 0.36.
1915. 0.43.
1963年 0.49.
1980年 0.56.
1975年 0.64
1931年 1.11.
1900年 1.65
1870 2.34.

总线电流 TP23的测量电压
0.1. 1.65
0.31. 1.647
1.15. 1.632
2.45 1.605

我对不同的 ACQPS 值进行了一些改进、但仍然没有在 ADC 输入和寄存器值之间获得有意义的关系。  

感谢您抽出宝贵时间提出任何建议。

此致、

亚辛

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

    测得的电流正确、如果低侧总线电流等于零、ADC 引脚上的反馈电压将闭合至1.65V、公式为

    I_bus =(1.65 - Vin)*增益作为参考中的代码。

    IDCfdbk=-((_IQ15toIQ (AdcResult.ADCRESULT4<<3)-IDC_OFFSET)<1);

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

    你好、Luo、

    恐怕您没有注意到 ADC 值的荒谬之处。 我正在从上面给出的表中重新写入一些值。

    2060 -> 0.10A

    1850 -> 0.36A

    1980年-> 0.56A

    1870 -> 2.34A

    因此、请将这些值放入您的公式中、然后我希望您能理解我的意思。

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

    您好!

    我仍然有相同的问题。 为了清楚、我再次写下我的问题:

    总线电流 使用万用表测量 TP23的电压

    ADC 寄存器结果

    0.1. 1.65 2060.
    0.31. 1.647 1811.
    1.15. 1.632 ~ 1930年
    2.45 1.605 ~ 1870

    从表中可以看出、我得到了一些尴尬的结果、例如0、31A 为1811、1、15A 为1930。 由于其他结果(0.31和2.45)、我在1.15下的预期结果类似于~ 1850。

    是否有任何建议或有人有熟悉的问题?

    感谢你能抽出时间。

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

    罗您好;

    我的项目中也存在同样的问题。 从 TP23连接器读取电压值时没有问题。 但是、当我查看该过程的 ADC 测量结果时、我会看到非线性结果。 有一个12位 ADC 周期。

    我的 ADC 值;
    2060 -> 0.10A
    
    1850 -> 0.36A
    
    1980 -> 0.56A
    
    1870 -> 2.34A 
    如何根据电流结果评估 ADC 结果? 似乎有问题。 

    辛凯勒里


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

    您是如何获得这些电流值的? 它们是否来自直流电源? 您不能使用万用表直接测量 TP23上的电压。 请使用示波器监控 TP23上的电压、并使用电流探头测量低侧直流总线上的电流。 您可能会发现电压和电流波形都不是连续信号。

    此项目中的 ADC 配置正确、当前样本工作正常、您可以按照指南逐步尝试参考。 BTW、我们不建议将此套件上的电流环路用于 InsraSPIN-BLDC、如果您想实现电流闭环、可以参阅 DRV8312-KIT 以对直流总线电流进行采样。

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

    1 -我们通过直流电源读取电流值。

    2 -我们只读取 TP23的电压输出。

    3 -我们直接使用万用表测量 TP23输出。

    ADC 结果直接是 ADC 寄存器的值。 此外、我们使用相同的参考设计实现了这些结果。 我将使用示波器进行您所说的测量、并再次分享结果。

    辛凯勒里

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

    好的、请继续。 如果您有任何疑问、敬请告知。 我们要先关闭此主题。 谢谢!