各位好:
我采用的原理图和slvc594.zip中介绍的相同,现在板子读写DRV8711的寄存器一切正常。检流电阻为0.25欧,设计每相电流最大2.2A。
现在的问题是只要DRV8711退出复位(根本没接电机),电机使能(仅仅CTRL.ENBL=1,其他寄存器和CTRL的其它位都是复位值),
FAULT指示灯就亮。前几天STATUS的值一直为0x06,即出现AOCP和BOCP错误。今天上班后把BIN1和BIN2都接高(+3.3V)后(原来BIN1 BIN2悬空),
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
不知道有无异常?