DRV8711过流

Other Parts Discussed in Thread: DRV8711, DRV8711EVM

各位好:

     我采用的原理图和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工程师指点下。
  •  寄存器的值最好都配置一下,电源电压是多少,MOS用的是什么的

    BINx在index模式下是接地的。

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

  • 电源电压 = 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步进电机。

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

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

  • 配参数时,关于预驱动电流和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

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

    CTRL: 0x031

    TORQUE: 0x03FF

    OFF: 0x0E

    BLANK: 0x032

    DECAY: 0x0306

    STALL: 0x040

    DRIVE: 0x05E

     

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

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

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

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

  • 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

           不知道有无异常?

  • AOUT1,AOUT2,BOUT1,BOUT2的电压都是0.65V

  • AISENN,BISENN在EVM板上通过一个0欧电阻接地,而且此电阻放在检流电阻的GND端,这有什么特殊考虑吗?

    我的PCB的地是一个整个的内电层,AISENN,BISENN通过0欧电阻就近接地了,这会有问题吗?

  • 非常感谢Wilson Zuo的热心帮助,问题已找到。是8个MOS管的漏极和电路板没焊接好(没加锡)。

  • 你好,刚使用DRV8711,spi设置寄存器没有反应,可以发下你SPI的发送的配置吗??

  • 你好 想知道这个问题后面解决了吗?我也遇到类似的问题,运转一阵子出现过流