Hi, We are using a stepper motor setup and DRV8711 is driver for it. We are seeing APDF or BPDF flag set and motor stopping randomly. We are just running the motor with limited current with 250mohm as feedback resistor just for development.
Below is our setting
G_CTRL_REG.Address = 0x00;
G_CTRL_REG.DTIME = 0x03;
G_CTRL_REG.ISGAIN = 0x02;
G_CTRL_REG.EXSTALL = 0x00;
G_CTRL_REG.MODE = 0x01;
G_CTRL_REG.RSTEP = 0x00;
G_CTRL_REG.RDIR = 0x00;
G_CTRL_REG.ENBL = 0x01;
// TORQUE Register
G_TORQUE_REG.Address = 0x01;
G_TORQUE_REG.SIMPLTH = 0x07;
G_TORQUE_REG.TORQUE = 0xff;
// OFF Register
G_OFF_REG.Address = 0x02;
G_OFF_REG.PWMMODE = 0x00;
G_OFF_REG.TOFF = 0x40;
// BLANK Register
G_BLANK_REG.Address = 0x03;
G_BLANK_REG.ABT = 0x01;
G_BLANK_REG.TBLANK = 0x01;
// DECAY Register.
G_DECAY_REG.Address = 0x04;
G_DECAY_REG.DECMOD = 0x03;
G_DECAY_REG.TDECAY = 0x0a;
// STALL Register
G_STALL_REG.Address = 0x05;
G_STALL_REG.VDIV = 0x03;
G_STALL_REG.SDCNT = 0x03;
G_STALL_REG.SDTHR = 0x05;
// DRIVE Register
G_DRIVE_REG.Address = 0x06;
G_DRIVE_REG.IDRIVEP = 0x00;
G_DRIVE_REG.IDRIVEN = 0x01;
G_DRIVE_REG.TDRIVEP = 0x01;
G_DRIVE_REG.TDRIVEN = 0x01;
G_DRIVE_REG.OCPDEG = 0x03;
G_DRIVE_REG.OCPTH = 0x02;
// STATUS Register
G_STATUS_REG.Address = 0x07;
G_STATUS_REG.STDLAT = 0x00;
G_STATUS_REG.STD = 0x00;
G_STATUS_REG.UVLO = 0x00;
G_STATUS_REG.BPDF = 0x00;
G_STATUS_REG.APDF = 0x00;
G_STATUS_REG.BOCP = 0x00;
G_STATUS_REG.AOCP = 0x00;
G_STATUS_REG.OTS = 0x00;
Let us know what need to be tuned to fix it.