主题中讨论的其他器件:OPA320
你好
我们正在开发 BLDC 板。
为此、我们使用28377控制器。
我们使用 ADC 获取 DCLink 电压(约24VDC)、然后获取电机相电流(U 和 V)。
DCLink 电压由电阻器分压(除数= 21)。
相电流由8mohms 的分流电阻器获得、然后是放大器。
提供了该方案的摘录。
电流测量正常。
DCLink 电压正常。
但现在、我们控制电机。 全部正确运行。
现在、在速度环路控制上、我们询问零速度。 然后电机不转动、但施加了扭矩。 然后、当我们尝试用手移动电机时、测得的电机电流会从量上增加到施加的扭矩。
到目前为止、一切都很好!
但在这种状态下(电机速度= 0、手动施加转矩)、ADC 测量在受 DCLink 增加影响的通道上完成、而 ADC 输入保持稳定! 然后软件得到大约30V 的电压、而输入代表24V!
相位电机中的电流为4A。 这对应于 ADC Get 值。
电机相电流的 ADC 输入会影响通道上针对 DCLink 电压的测量值!
我检查所有其他电压(GND、Vref HI、Vref Low 等) 所有物理电压都正常。
只需将寄存器 AdccResultRegs.ADCRESULT1从#1390增加到大约#1500...#1600!
DCLink 的模拟输入为1.13V、对应于 DCLink 的24V。 1500..#1600应该说这个输入大约为25..26V。
该误差随电机电流的增加而增加。 当电机电流约为10A 时、测量的 DCLink 高达30V、而物理 DClink 电压保持在24V……
架构:
这是 Init 代码:
/* /* 旋转变压器 FBK -正弦 */*注意!!! ADCINC2在此电路板上未使用、链接至 GND */ * / AdccRegs.ADCSOC0CTL.bit.CHSEL = 2; /*配置与 ADC/SOC 关联的引脚*/ AdccRegs.ADCSOC0CTL.bit.ACQPS = 30; SYSCLK 周期(ACQPS + 1) x 200MHz ^-1 = 155ns (数据表最小值= 75ns)*/ AdccRegs.ADCSOC0CTL.bit.TRIGSEL = 15;* PWM6 SOCA => 160KHz */*选择哪种事件 SoC 将触发转换开始* /*** //* 总线电压反馈 * //**************** / AdccRegs.ADCSOC1CTL.bit.CHSEL = 3; /*配置与 ADC/SOC 关联的引脚*/ AdcRegs.ADCSOC1CTL.bit.ACQPS = 30; SYSCLK 周期(ACQPS + 1) x 200MHz ^-1 = 155ns (数据表最小值= 75ns)*/ AdcRegs.ADCSOC1CTL.bit.TRIGSEL = 5; /* PWM1 SOCA => 10kHz *//*选择哪个事件 SoC 将触发转换开始*/ /********* / /*分流电机电流 V * /* / AdcdRegs.ADCSOC0CTL.bit.CHSEL = 3; /*配置与 ADC/SOC 关联的引脚*/ AdcdRegs.ADCSOC0CTL.bit.ACQPS = 30;SYSCLK 周期(ACQPS + 1)中的/*采样窗口 x 200MHz ^-1 = 155ns (数据表最小值= 75ns)*/ AdcdRegs.ADCSOC0CTL.bit.TRIGSEL = 5; /* PWM1 SOCA => 10kHz *//*选择哪个事件 SoC 将触发转换开始*/ /*配置 PPB 以消除与减法相关的计算 * AdcdRegs.ADCPPB1CONFIG.bit.config = 0; /* PPB 与 SOC0 */关联 AdcdRegs.ADCPPB1CONFIG.bit.OFFCAL = 0; /*现在将0写入此寄存器,直至偏移 ISR 运行 *
" ADC 依赖"的原因可能是什么?
