打印
[MCU]

DRV8301 一直 fault 求助

[复制链接]
1890|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 xiaofei558008 于 2024-1-30 23:21 编辑

求助高手:

之前用过 DRV8301,一直 没啥问题;最近用之前的原理图重新做了个板子,然后就出问题了;

status1 寄存器,D10 位老是 Fault 置为,且 nFAULT pin 拉低了;

SPI 配置如下:

  DRV_8301_CS_H();
  LL_mDelay(10);

  Drv8301_Gate_Disable(pTemp);
  LL_mDelay(10);

  Drv8301_Gate_Enable(pTemp);
  Drv8301_DC_Cal_Disable(pTemp);
  LL_mDelay(10);

  /* Update all 4 registers before setting.
  */
  DRV8301_UpdateCtrlStatus_Regs(pTemp);

  pTemp->Regs.Ctrl_Reg1.Gate_Current = GATE_CURRENT_1_7A;
  pTemp->Regs.Ctrl_Reg1.PWM_Mode     = PWM_MODE_SIX_CHAN;
  pTemp->Regs.Ctrl_Reg1.Gate_Reset   = GATE_RESET_OFF;
  pTemp->Regs.Ctrl_Reg1.OC_Mode      = GD_OC_MODE_SHTDWN;/*GD_OC_MODE_LIMIT;  GD_OC_MODE_SHTDWN*/
  pTemp->Regs.Ctrl_Reg1.OC_Adj_Set   = OC_ADJ_SET_1_175V;

  pTemp->Regs.Ctrl_Reg2.DC_CAL_CH1   = DC_CAL_CH1_OFF;
  pTemp->Regs.Ctrl_Reg2.DC_CAL_CH2   = DC_CAL_CH2_OFF;
  pTemp->Regs.Ctrl_Reg2.Gain         = GAIN_20V;
  pTemp->Regs.Ctrl_Reg2.OC_TOFF      = OC_TOFF_CBC;
  pTemp->Regs.Ctrl_Reg2.OCTW_Set     = OCTW_SET_OCTW;

  Drv8301_Reg_Write(pTemp, Ctrl_Reg1, pTemp->Regs.Ctrl_Reg1.All);
  Drv8301_Reg_Write(pTemp, Ctrl_Reg2, pTemp->Regs.Ctrl_Reg2.All);
  LL_mDelay(10);

  /* Update all 4 registers.
  */
  DRV8301_UpdateCtrlStatus_Regs(pTemp);




读取 status0 D10位 老是FAULT,实际 nFAULT 也是拉低的;


电路图如下:
GVDD 约11.25V;

求大佬帮忙解决;


使用特权

评论回复
评论
xiaofei558008 2024-1-30 23:22 回复TA
TIM_BRK TIM_BRK2 都由MCU 内部拉高; 

相关帖子

沙发
xiaofei558008|  楼主 | 2024-2-18 15:08 | 只看该作者
问题找到了一半:
GVDD 电压是11V左右,默认贴了个6.3V / 2.2uF 电容,应该导致芯片挂了,换了电容之后,MCU 初始化不再出现nFault了;
但目前出现问题是,PWM 波上管开启,立即报过流故障,示波器看 上管mos gate电压,只有10v左右,之前产品正常都20V,应该是上管的开启有问题,没有开启上管mos,导致 VDS 电压很大,触发过流保护;
问题还没有完全解决,还在挣扎,求有经验的大佬再点拨一下;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

134

主题

943

帖子

13

粉丝