主题中讨论的其他器件:TMDXIDDK379D
大家好、
我正在使用 具有 F28388D MCU 和 BOOSTXL-3PhGAN的定制板运行 FCL 项目(在 PMSM 上使用快速电流环路、基于 EtherCAT 的互联伺服驱动器)。 PMSM 连接到 BOSSTXL、我们使用增量编码器 ABZ -> QEP_POS_ENCODER
增量构建级别1运行良好。
增量构建级别2、我能够以开环方式运行电机、电机旋转、速度我们接近 speedRef、测量/估算位置、基准看起来正常:
DAC 输出 B 和 C 上的 rg1.Out 和 posEncElecTheta[position_Encoder]: 。
因为我使用 的是 BOOSTXL-3PhGAN 而不是 tmdxiddk379d、所以我没有 LEM 电流传感器、而是 INA240A 电流传感器。
分流电阻为5m Ω、INA240A 增益为20、100mV/A
我的 F28388D ADC 基准使用3V 基准、但 BOOSTXL INA 使用3V3基准、因此我稍微放宽了范围、但对于测试、我希望可以>
我想正确定义我的电流传感器、但我很难。
我的 ADC 范围为0-3V、INA 传感器提供1.7V @ 0A、这提供了+/-1.3V =+/- 13A 输入的范围
#define BASE_LEM_CURRENT 13 // ----- do ----- #define LEM_TO_SHUNT 1.307189542 // (13.0/9.945)
这有道理吗? 我是否需要更改 offset_lemv 和 lemw 等其他任何内容?
我尝试将电流可视化以查看测量是否正确、我显示 clarke1As 和 Bs、电流的形状看起来正常、但振幅毫无意义。
为什么 clarke1.As 和 Bs 仅从-0.4缩放、它是安培单位? 对于 DAC 、存在1.5v 偏移、比例是多少?
确认电流读数良好的最佳方法是什么?
当电机停止分阶段消耗电流 时、我尝试检查 clarke1As 和 Bs 与我的电源的比较值、@15V PSU 上的电流为1A、但 B+AS = 0.55A、我是否缺少什么?
我尝试了构建3、但一旦我启用了标志 TripFlagDMC (在构建2中没有发生)。
我阅读了有关同一问题的所有主题、但 它没有帮助。
另一件事是直接使用 ADC 而非 SDFM 测量 VBUS 检测、我使用 ADC A5 SOC2:
// ******************************** // VBUS at A5 // ******************************** // trigger on ePWM1 SOCA/C ADC_setupSOC(ADCA_BASE, ADC_SOC_NUMBER2, ADC_TRIGGER_EPWM1_SOCA, ADC_CH_ADCIN5, 28);
// Read and update DC BUS voltage for FCL to use // static inline float32_t getVdc(void) { float32_t vdc; // vdc = ((int32_t)SDFM_getFilterData(SDFM1_BASE, VDC_SDFM_FILTER) >> 16) * // SD_VOLTAGE_SENSE_SCALE; vdc = ADC_readResult(ADCARESULT_BASE, ADC_SOC_NUMBER2) * BOOSTXL_VOLTAGE_SENSE_SCALE; if(vdc < 1.0) { vdc = 1.0; } return(vdc); }
我在调试器中的读数可以、但您有任何问题吗? Vdcbus 是在 FCL 控制的任何位置使用、还是仅用于调试/显示?
谢谢你