各位好:
我采用的原理图和slvc594.zip中介绍的相同,现在板子读写DRV8711的寄存器一切正常。检流电阻为0.25欧,设计每相电流最大2.2A。
现在的问题是只要DRV8711退出复位(根本没接电机),电机使能(仅仅CTRL.ENBL=1,其他寄存器和CTRL的其它位都是复位值),
FAULT指示灯就亮。前几天STATUS的值一直为0x06,即出现AOCP和BOCP错误。今天上班后把BIN1和BIN2都接高(+3.3V)后(原来BIN1 BIN2悬空),
寄存器的值最好都配置一下,电源电压是多少,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步进电机。
配参数时,关于预驱动电流和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
芯片检测导通后的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
不知道有无异常?
AISENN,BISENN在EVM板上通过一个0欧电阻接地,而且此电阻放在检流电阻的GND端,这有什么特殊考虑吗?
我的PCB的地是一个整个的内电层,AISENN,BISENN通过0欧电阻就近接地了,这会有问题吗?