最近STM32H7 调电机,电机驱动用 DRV8301;
阴沟里翻船;之前用过这个料,踩过不少坑,最近重新用H7 又做了个硬件:
问题如下(主要是Ti 板块实在没人气):
https://bbs.21ic.com/icview-3358030-1-1.html
求大佬伸以援手;
求助高手:
之前用过 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 也是拉低的;
电路图如下: [size=0.83em]8169165b913efc7136.png (795.3 KB ) 下载附件 [color=rgb(153, 153, 153) !important]2024-1-30 23:21 上传
GVDD 约11.25V;
求大佬帮忙解决;
|