Part Number: DRV8711
I'm using the DRV8711 driver for a bipolar stepper motor and now I want to detect the stall (end of the run) by reading the Back EMF voltage.
These are my registers settings and values:
//#### Registers setting:
MODE = 0010xb = microstep 1:4
ISGAIN = 11xb = 40
DTIME = 11xb = 800ns (*)
TORQUE = 0x0A0h = 160
SMPLTH = 100uS (*)
TOFF = 0x032h = 25uS
PWDMODE = 0xb = Internal indexer
TBLANK = 0x0h = 20nS (?)(**)
ABT = 1xb = Enable adaptive blanking time
TDECAY = 0x10 = 8uS (*)
DECMOD = 101xb = Auto Mixed Decay all times (TDECAY as no effect)
Minimal drive, minimum OCP deglitch and threshold(**):
TDRIVEN = 00xb = 250ns
TDRIVEP = 00xb = 250ns
IDRIVEN = 00xb = 100mA
IDRIVEP = 00xb = 50mA
(?) is 0x0h equal to 20ns or 1us ?
(*) as in "SLVSC40G - DRV8711 Stepper Motor Controller"
(**) as in "SLVA632 - DRV8711 Quick Spin and Tuning Guide"
//#### Registers value (HEX):
DRV_REG00_CTRL_VALUE 0xF10
DRV_REG01_TORQUE_VALUE 0x1A0
DRV_REG02_OFF_VALUE 0x032
DRV_REG03_BLANK_VALUE 0x100
DRV_REG04_DECAY_VALUE 0x510
DRV_REG05_STALL_VALUE 0xC90 (Freq = 500 SPS)
DRV_REG06_DRIVE_VALUE 0x000
(?) is 0x0h equal to 20ns or 1us ?
(*) as in "SLVSC40G - DRV8711 Stepper Motor Controller"
(**) as in "SLVA632 - DRV8711 Quick Spin and Tuning Guide"
PROBLEM:
the BEMF is not stable at my target speed (250 SPS – Step Per Second):
![]()
this unwanted behavior disappears at double speed (500 SPS):
QUESTION:
Which register's parameters I must change to have a good behavior at my target speed?
(I need 250 SPS to have enough force, as shown in the graph of the motor datasheet)
![]()
I'm using the DRV8711 driver for a bipolar stepper motor and now I want to detect the stall (end of the run) by reading the Back EMF voltage.
These are my registers settings and values:
…. (allegare da .h…
//#### Registers setting:
MODE = 0010xb = microstep 1:4
ISGAIN = 11xb = 40
DTIME = 11xb = 800ns(*)
TORQUE = 0x0A0h = 160
SMPLTH = 100uS(*)
TOFF = 0x032h = 25uS
PWDMODE = 0xb = Internal indexer
TBLANK = 0x0h = 20nS(?)(**)
ABT = 1xb = Enable adaptive blanking time
TDECAY = 0x10 = 8uS(*)
DECMOD = 101xb = Auto Mixed Decay all times (TDECAY as no effect)
Minimal drive, minimum OCP deglitch and threshold(**):
TDRIVEN = 00xb = 250ns
TDRIVEP = 00xb = 250ns
IDRIVEN = 00xb = 100mA
IDRIVEP = 00xb = 50mA
(?) is 0x0h equal to 20ns or 1us ?
(*) as in "SLVSC40G - DRV8711 Stepper Motor Controller"
(**) as in "SLVA632 - DRV8711 Quick Spin and Tuning Guide"
//#### Registers value (HEX):
DRV_REG00_CTRL_VALUE 0xF10
DRV_REG01_TORQUE_VALUE 0x1A0
DRV_REG02_OFF_VALUE 0x032
DRV_REG03_BLANK_VALUE 0x100
DRV_REG04_DECAY_VALUE 0x510
DRV_REG05_STALL_VALUE 0xC90 (Freq = 500 SPS)
DRV_REG06_DRIVE_VALUE 0x000
This is my stepper motor:
model “UAL5AN03E1A” - Johnson Electric - bipolar stepper motor
…. (allegare PDF) …
PROBLEM:
the BEMF is not stable at my target speed (250 SPS – Step Per Second):
…. (allegare PicoS) …
this unwanted behavior disappears at double speed (500 SPS):
…. (allegare PicoS) …
QUESTION:
Which register's parameters I must change to have a good behavior at my target speed?
(I need 250 SPS to have enough force, as shown in the graph of the motor datasheet)