TI中文支持网
TI专业的中文技术问题搜集分享网站

DRV8711过流

各位好:

     我采用的原理图和slvc594.zip中介绍的相同,现在板子读写DRV8711的寄存器一切正常。检流电阻为0.25欧,设计每相电流最大2.2A。

现在的问题是只要DRV8711退出复位(根本没接电机),电机使能(仅仅CTRL.ENBL=1,其他寄存器和CTRL的其它位都是复位值),

FAULT指示灯就亮。前几天STATUS的值一直为0x06,即出现AOCP和BOCP错误。今天上班后把BIN1和BIN2都接高(+3.3V)后(原来BIN1 BIN2悬空),

 STATUS的值变为0x02,即只有AOCP错误,FAULT指示灯仍然亮。后又把BIN1 BIN2悬空,STATUS的值仍为0x02。
     很奇怪的问题,希望TI工程师指点下。
Wilson Zuo:

 寄存器的值最好都配置一下,电源电压是多少,MOS用的是什么的

BINx在index模式下是接地的。

上电后看到UVLO错误是正常的,但是在没有电机的情况下不应该看到xOCP错误,也没有在别的客户看见过类似的问题,建议先仔细检查硬件,在做完整的寄存器配置,看看是否还有问题

kong deliang:

回复 Wilson Zuo:

电源电压 = 24V

MOS  =  CSD18531

刚刚又试了下把BIN1 BIN2都接地(看到DATASHEET上芯片内部有下拉的,故原理图中悬空了),

在没有电机的情况下仍然有xOCP错误(这次是BOCP,STATUS值为0X04),感觉AOCP BOCP是随机的。

寄存器配置如下:

ResetDrv1();//复位2个电机驱动器 Delayms(3);ResetReleaseDrv1(); Delayms(3); Drv8711_SPI_Init(); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegCTRL); i &= 0x0fff; i |= 0x01; Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegCTRL, i);

//此时FAULT灯开始亮

i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegSTATUS); //配置寄存器值 Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegCTRL, 0x0C00); //ISGAIN=5 Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegTORQUE,0x01ff); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegOFF, 0x028); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegBLANK, 0x096); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegDECAY, 0x0514); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegSTALL, 0x0840); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegDRIVE, 0x0f7); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegSTATUS,0x0); Drv8711_SPI_WriteReg(Rotation_Drv8711,Drv8711_RegCTRL, 0x0C01); //ISGAIN=5

//读取寄存器值, i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegCTRL); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegTORQUE); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegOFF); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegBLANK); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegDECAY); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegSTALL); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegDRIVE); i = Drv8711_SPI_RdReg(Rotation_Drv8711,Drv8711_RegSTATUS);

    寄存器赋值有无错误?采用内部INDEXER方式,控制2相42步进电机。

kong deliang:

回复 kong deliang:

今天上午查了下DRV8711EVM的PCB和自己板子PCB中DERV8711每个脚的连接,没有发现问题。2块板子都有此问题。

kong deliang:

回复 kong deliang:

我的板子上有2个DRV8711,现在调试,已经把一个DRV8711去掉了。

kong deliang:

回复 kong deliang:

原理图请看附件

Wilson Zuo:

回复 kong deliang:

配参数时,关于预驱动电流和OCP保护请按照如下配置红色部分,其他请参考

DTIME 400ns

ISGAIN 00 (5)

1/64

Torque to 2.8A

TOFF 14 (7us)

TBLANK 50

ABT 0

TDECAY 6 (3us)

DECMOD 3

OCPTH 2

OCPDEG 3

TDRIVEN 1

TDRIVEP 1

IDRIVEN 0

IDRIVEP 0

kong deliang:

回复 Wilson Zuo:

如上配置参数后错误依旧(这次是2相皆过流,STATUS:0x06),寄存器值如下:

CTRL: 0x031

TORQUE: 0x03FF

OFF: 0x0E

BLANK: 0x032

DECAY: 0x0306

STALL: 0x040

DRIVE: 0x05E

 

kong deliang:

回复 kong deliang:

想知道:外部MOS出现什么情况,导致DRV8711检测到电机某相过流?

Wilson Zuo:

回复 kong deliang:

芯片检测导通后的Vds电压判断过流保护

给出的参数在EVM或者Boostpack或者很多客户的板子上不同的MOS情况下都可以正常运行,建议还是检查硬件,DRV8711 VCP电压,VCP,CPx电容值,5V,1.8V电压值等是否正常

可以申请一套TI的Boostpack套件做做实验看看

kong deliang:

回复 Wilson Zuo:

VCP=+33.7V   V5 = 4.95V   VDIG = 1.792V  VCP电容值 = 1.09uF

CP1、CP2之间电容值 = 101nF 

A1HS,A2HS,B1HS,B2HS都是0.65V

A1LS,A2LS,B1LS,B2LS都是0V

       不知道有无异常?

赞(0)
未经允许不得转载:TI中文支持网 » DRV8711过流
分享到: 更多 (0)