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.
我构建了一个全新的逆变器、相当简单、f28069M launchpad UCC27211栅极驱动器+ 3个同相 ina240A2 40V/v、具有0.5 m Ω 分流器。 DCBus +相位上的 Vsense。
在实验2a 中、它通常无法测量电阻、在 rampup 中、它不会移动、然后当它在这里旋转时、它会以小的脉冲旋转、它会在一秒钟左右的时间内完美地工作。 然后、它会报告检测到的电机结果非常不正确 。
使用实验2c 以不同的方式执行 Rover_RS、在 Vbus 上产生电压骤降的某个位置发送大电流、RAPup 工作正常、但以低转速运行时非常粗糙、然后随着转速的升高平滑输出。 一旦它尝试测量磁链、转子就会锁定、然后它开始缓慢转动、同时剧烈振动、然后再退出并报告错误。 通常、当发生这种情况时、一个相位的温度极高、给人的印象是所使用的电流限制的20倍。
到目前为止、我已经消除了:
硬件故障:电机和逆变器可与另外2个自动检测 FOC 产品配合使用。
电流感测极性正常
我禁用了 drv8301 SPI、并在 hal.h 中添加了死区时间调整死区时间似乎会产生一些影响、但它只是在不靠近电机旋转的情况下改变了一些小事情
#define HAL_PWM_DBFED_CNT 25 //! \brief 定义 PWM 死区上升沿延迟计数(系统时钟) //! #define HAL_PWM_DBRED_CNT 25
我尝试了25到150之间的时间
各种 CCS 版本和编译器、没有真正的区别。
这是我的 userh 配置、尽管我尝试了许多轻微的更改、但效果很好。 我还在 BOOST-xldrv8301上看到了相同的电机运行、它是第一次运行、但没有对项目进行任何更改。
我还没有错过任何其他内容吗? 这给我的印象是、我错过了死区时间所需的一些代码、或者正在进行相位调整的 ina240。
你(们)好
1、检查 user.h 中的 USER_ADC_FULL_SCALE_CURRENT_A 和 USER_ADC_FULL_SCALE_VOLTGE_V、以确保这适用于您的硬件。
2.确保 HAL_readAdcData()中当前读取值的电流反馈极性正确。
3.确保电流和电压感应清晰无噪。
首先将 HAL_PWM_DBRED_CNT 和 HAL_PWM_DBFED_CNT 设置为100以上 、并使用 lab2A/2c 识别 Rs、如果 Rs 不正确、请勿进入下一步。
我设法使它运行得更近一点。
100多个死区时间不起作用、它只是粉碎、作用很小。 大约30个是最成功的。
极性正确、使用适合较低电流的新分压器和分流器来修改逆变器没有影响。
我使它工作得最接近、45khz PWM、 USER_R_over_L_EST_FREQ_Hz = 800、测量时频率越低、直流总线压降就越大。 可以使用这些值达到斜升级、但转子将在电感测试期间停止。 我使用能够提供更大电流的电池进行了测试、USER_MOTOR_IND_EST_CURRENT -5在电感测试期间几乎设法保持运动状态、但速度缓慢下降。 然而、它不是我设定的任何电流限值附近的地方、它必须汲取50A 或更高的电流、因为它能够显著地加热每根导线、使其达到在尝试之间冷却所需的点。