SLOSE98A December   2022  – September 2023 DRV8461

PRODUCTION DATA  

  1.   1
  2. Features
  3. Applications
  4. Description
  5. Revision History
  6. Pin Configuration and Functions
  7. Specifications
    1. 6.1 Absolute Maximum Ratings
    2. 6.2 ESD Ratings
    3. 6.3 Recommended Operating Conditions
    4. 6.4 Thermal Information
    5. 6.5 Electrical Characteristics
      1. 6.5.1 SPI Timing Requirements
      2. 6.5.2 STEP and DIR Timing Requirements
    6. 6.6 Typical Characteristics
  8. Detailed Description
    1. 7.1 Overview
    2. 7.2 Functional Block Diagram
    3. 7.3 Feature Description
      1. 7.3.1  Interface of Operation
      2. 7.3.2  Stepper Motor Driver Current Ratings
        1. 7.3.2.1 Peak Current Rating
        2. 7.3.2.2 RMS Current Rating
        3. 7.3.2.3 Full-Scale Current Rating
      3. 7.3.3  PWM Motor Drivers
      4. 7.3.4  Microstepping Indexer
      5. 7.3.5  Indexer Output
        1. 7.3.5.1 nHOME Output
      6. 7.3.6  Automatic Microstepping Mode
      7. 7.3.7  Custom Microstepping Table
      8. 7.3.8  Current Regulation
        1. 7.3.8.1 Internal Reference Voltage
      9. 7.3.9  Standstill Power Saving Mode
      10. 7.3.10 Current Regulation Decay Modes
        1. 7.3.10.1 Slow Decay
        2. 7.3.10.2 Mixed Decay
        3. 7.3.10.3 Smart tune Dynamic Decay
        4. 7.3.10.4 Smart tune Ripple Control
        5. 7.3.10.5 PWM OFF Time
        6. 7.3.10.6 Current Regulation Blanking Time and Deglitch Time
      11. 7.3.11 Current Sensing with External Resistor
      12. 7.3.12 Silent step decay mode
      13. 7.3.13 Auto-torque Dynamic Current Adjustment
        1. 7.3.13.1 Auto-torque Learning Routine
        2. 7.3.13.2 Current Control Loop
        3. 7.3.13.3 PD Control Loop
      14. 7.3.14 Charge Pump
      15. 7.3.15 Linear Voltage Regulator
      16. 7.3.16 VCC Voltage Supply
      17. 7.3.17 Logic Level, Tri-Level and Quad-Level Pin Diagrams
      18. 7.3.18 Spread Spectrum
      19. 7.3.19 Protection Circuits
        1. 7.3.19.1  VM Undervoltage Lockout
        2. 7.3.19.2  VCP Undervoltage Lockout (CPUV)
        3. 7.3.19.3  Logic Supply Power on Reset (POR)
        4. 7.3.19.4  Overcurrent Protection (OCP)
          1. 7.3.19.4.1 Latched Shutdown
          2. 7.3.19.4.2 Automatic Retry
        5. 7.3.19.5  Stall Detection
        6. 7.3.19.6  Open-Load Detection (OL)
        7. 7.3.19.7  Overtemperature Warning (OTW)
        8. 7.3.19.8  Thermal Shutdown (OTSD)
          1. 7.3.19.8.1 Latched Shutdown
          2. 7.3.19.8.2 Automatic Retry
        9. 7.3.19.9  Supply voltage sensing
        10. 7.3.19.10 nFAULT Output
        11. 7.3.19.11 Fault Condition Summary
      20. 7.3.20 Device Functional Modes
        1. 7.3.20.1 Sleep Mode
        2. 7.3.20.2 Disable Mode
        3. 7.3.20.3 Operating Mode
        4. 7.3.20.4 nSLEEP Reset Pulse
        5. 7.3.20.5 Functional Modes Summary
    4. 7.4 Programming
      1. 7.4.1 Serial Peripheral Interface (SPI) Communication
        1. 7.4.1.1 SPI Format
        2. 7.4.1.2 SPI for Multiple Target Devices in Daisy Chain Configuration
        3. 7.4.1.3 SPI for Multiple Target Devices in Parallel Configuration
    5. 7.5 Register Maps
      1. 7.5.1 Status Registers
        1. 7.5.1.1 FAULT (address = 0x00) [Default = 00h]
        2. 7.5.1.2 DIAG1 (address = 0x01) [Default = 00h]
        3. 7.5.1.3 DIAG2 (address = 0x02) [Default = 00h]
        4. 7.5.1.4 DIAG3 (address = 0x03) [Default = 00h]
      2. 7.5.2 Control Registers
        1. 7.5.2.1  CTRL1 (address = 0x04) [Default = 0Fh]
        2. 7.5.2.2  CTRL2 (address = 0x05) [Default = 06h]
        3. 7.5.2.3  CTRL3 (address = 0x06) [Default = 38h]
        4. 7.5.2.4  CTRL4 (address = 0x07) [Default = 49h]
        5. 7.5.2.5  CTRL5 (address = 0x08) [Default = 03h]
        6. 7.5.2.6  CTRL6 (address = 0x09) [Default = 20h]
        7. 7.5.2.7  CTRL7 (address = 0x0A) [Default = FFh]
        8. 7.5.2.8  CTRL8 (address = 0x0B) [Default = 0Fh]
        9. 7.5.2.9  CTRL9 (address = 0x0C) [Default = 10h]
        10. 7.5.2.10 CTRL10 (address = 0x0D) [Default = 80h]
        11. 7.5.2.11 CTRL11 (address = 0x0E) [Default = FFh]
        12. 7.5.2.12 CTRL12 (address = 0x0F) [Default = 20h]
        13. 7.5.2.13 CTRL13 (address = 0x10) [Default = 10h]
        14. 7.5.2.14 CTRL14 (address = 0x3C) [Default = 58h]
      3. 7.5.3 Indexer Registers
        1. 7.5.3.1 INDEX1 (address = 0x11) [Default = 80h]
        2. 7.5.3.2 INDEX2 (address = 0x12) [Default = 80h]
        3. 7.5.3.3 INDEX3 (address = 0x13) [Default = 80h]
        4. 7.5.3.4 INDEX4 (address = 0x14) [Default = 82h]
        5. 7.5.3.5 INDEX5 (address = 0x15) [Default = B5h]
      4. 7.5.4 Custom Microstepping Registers
        1. 7.5.4.1 CUSTOM_CTRL1 (address = 0x16) [Default = 00h]
        2. 7.5.4.2 CUSTOM_CTRL2 (address = 0x17) [Default = 00h]
        3. 7.5.4.3 CUSTOM_CTRL3 (address = 0x18) [Default = 00h]
        4. 7.5.4.4 CUSTOM_CTRL4 (address = 0x19) [Default = 00h]
        5. 7.5.4.5 CUSTOM_CTRL5 (address = 0x1A) [Default = 00h]
        6. 7.5.4.6 CUSTOM_CTRL6 (address = 0x1B) [Default = 00h]
        7. 7.5.4.7 CUSTOM_CTRL7 (address = 0x1C) [Default = 00h]
        8. 7.5.4.8 CUSTOM_CTRL8 (address = 0x1D) [Default = 00h]
        9. 7.5.4.9 CUSTOM_CTRL9 (address = 0x1E) [Default = 00h]
      5. 7.5.5 Auto torque Registers
        1. 7.5.5.1  ATQ_CTRL1 (address = 0x1F) [Default = 00h]
        2. 7.5.5.2  ATQ_CTRL2 (address = 0x20) [Default = 00h]
        3. 7.5.5.3  ATQ_CTRL3 (address = 0x21) [Default = 00h]
        4. 7.5.5.4  ATQ_CTRL4 (address = 0x22) [Default = 20h]
        5. 7.5.5.5  ATQ_CTRL5 (address = 0x23) [Default = 00h]
        6. 7.5.5.6  ATQ_CTRL6 (address = 0x24) [Default = 00h]
        7. 7.5.5.7  ATQ_CTRL7 (address = 0x25) [Default = 00h]
        8. 7.5.5.8  ATQ_CTRL8 (address = 0x26) [Default = 00h]
        9. 7.5.5.9  ATQ_CTRL9 (address = 0x27) [Default = 00h]
        10. 7.5.5.10 ATQ_CTRL10 (address = 0x28) [Default = 08h]
        11. 7.5.5.11 ATQ_CTRL11 (address = 0x29) [Default = 0Ah]
        12. 7.5.5.12 ATQ_CTRL12 (address = 0x2A) [Default = FFh]
        13. 7.5.5.13 ATQ_CTRL13 (address = 0x2B) [Default = 05h]
        14. 7.5.5.14 ATQ_CTRL14 (address = 0x2C) [Default = 0Fh]
        15. 7.5.5.15 ATQ_CTRL15 (address = 0x2D) [Default = 00h]
        16. 7.5.5.16 ATQ_CTRL16 (address = 0x2E) [Default = FFh]
        17. 7.5.5.17 ATQ_CTRL17 (address = 0x2F) [Default = 00h]
        18. 7.5.5.18 ATQ_CTRL18 (address = 0x30) [Default = 00h]
      6. 7.5.6 Silent Step Registers
        1. 7.5.6.1 SS_CTRL1 (address = 0x31) [Default = 00h]
        2. 7.5.6.2 SS_CTRL2 (address = 0x32) [Default = 00h]
        3. 7.5.6.3 SS_CTRL3 (address = 0x33) [Default = 00h]
        4. 7.5.6.4 SS_CTRL4 (address = 0x34) [Default = 00h]
        5. 7.5.6.5 SS_CTRL5 (address = 0x35) [Default = FFh]
  9. Application and Implementation
    1. 8.1 Application Information
    2. 8.2 Typical Application
      1. 8.2.1 Design Requirements
      2. 8.2.2 Detailed Design Procedure
        1. 8.2.2.1 Stepper Motor Speed
      3. 8.2.3 Application Performance Plots
      4. 8.2.4 Thermal Application
        1. 8.2.4.1 Power Dissipation
        2. 8.2.4.2 Conduction Loss
        3. 8.2.4.3 Switching Loss
        4. 8.2.4.4 Power Dissipation Due to Quiescent Current
        5. 8.2.4.5 Total Power Dissipation
        6. 8.2.4.6 Device Junction Temperature Estimation
  10. Thermal Considerations
    1. 9.1 Thermal Pad
    2. 9.2 PCB Material Recommendation
  11. 10Power Supply Recommendations
    1. 10.1 Bulk Capacitance
    2. 10.2 Power Supplies
  12. 11Layout
    1. 11.1 Layout Guidelines
    2. 11.2 Layout Example
  13. 12Device and Documentation Support
    1. 12.1 Documentation Support
      1. 12.1.1 Related Documentation
    2. 12.2 Receiving Notification of Documentation Updates
    3. 12.3 Support Resources
    4. 12.4 Trademarks
    5. 12.5 Electrostatic Discharge Caution
    6. 12.6 Glossary
  14. 13Mechanical, Packaging, and Orderable Information

Package Options

Mechanical Data (Package|Pins)
Thermal pad, mechanical data (Package|Pins)
Orderable Information

Silent step decay mode

Conventional peak current mode control looks at instantaneous current in the sensing MOSFETs to determine drive and decay durations. As a result, the motor driver reacts to instantaneous inaccuracies in the system. These sudden changes in current cause audible noise from the motor.

To ensure noiseless stepper motor operation, the DRV8461 features the silent step decay mode. The silent step is a voltage mode PWM regulation scheme to remove noise due to PWM switching at standstill and low speeds. Thus, silent step operated stepper motor applications are highly suitable for applications such as 3D printer, medical equipment and factory automation, where low noise operation is critical.

Note:

When the device is operating with silent step decay mode -

  • Open-load fault detection works only when the motor is in motion, but not if the motor is in standstill.
  • Stall detection is not supported.
  • Spread spectrum feature is disabled.

The silent step loop is designed for low bandwidth operation, therefore at moderate to high motor speeds, the decay mode can be switched back to one of the conventional current-mode decay schemes programmed by the DECAY bits. Transition from silent step to another decay mode is immediate, whereas the transition from other decay modes to silent step happens at the boundary of electrical half-cycles.

Figure 7-18 shows the block diagram of the silent step decay mode implementation -

GUID-20220604-SS0I-B7GJ-ZNLX-05RKSGCWPQX3-low.svg Figure 7-18 Silent step block diagram

Table 7-23 shows the SPI register parameters related to the silent step decay mode.

Table 7-23 Silent step Parameter Table

Parameter

Description

EN_SS

When EN_SS is 1b, silent step decay mode is enabled. Device starts operating with silent step after one zero cross each for currents in coil A and coil B. Writing 0b to EN_SS disables silent step decay mode, and the decay mode changes as per DECAY bit setting.

SS_PWM_FREQ[1:0]

Represents the PWM frequency (FPWM) in silent step decay mode.

  • 00b = 25 kHz (default)

  • 01b = 33 kHz

  • 10b = 42 kHz

  • 11b = 50 kHz

Higher PWM frequency results in more switching loss.

SS_SMPL_SEL[1:0] Silent step current zero cross sampling time. Default value is 2 μs. If current waveform is distorted around zero crossing, increase the sampling time.
  • 00b = 2 μs (default)

  • 01b = 3 μs

  • 10b = 4 μs

  • 11b = 5 μs

SS_KP[6:0]

Represents the proportional gain of the silent step PI controller. Has a range of 0 to 127, with a default value of 0.

SS_KI[6:0]

Represents the integral gain of the silent step PI controller. Has a range of 0 to 127, with a default value of 0.

SS_KP_DIV_SEL[2:0]

Divider factor for KP. Actual KP = SS_KP / SS_KP_DIV_SEL.

  • 000b - SS_KP/32 (default)

  • 001b - SS_KP/64
  • 010b - SS_KP/128
  • 011b - SS_KP/256
  • 100b - SS_KP/512
  • 101b - SS_KP/16
  • 110b - SS_KP

SS_KI_DIV_SEL[2:0]

Divider factor for KI. Actual KI = SS_KI / SS_KI_DIV_SEL.

  • 000b - SS_KI/32 (default)

  • 001b - SS_KI/64
  • 010b - SS_KI/128
  • 011b - SS_KI/256
  • 100b - SS_KI/512
  • 101b - SS_KI/16
  • 110b - SS_KI

SS_THR[7:0]

Programs the frequency at which the device transitions from silent step decay mode to another decay mode programmed by the DECAY bits. This frequency corresponds to the frequency of the sinusoidal current waveform.
  • 00000001b = 2 Hz
  • 00000010b = 4 Hz
  • .
  • .
  • 11111111b = 510 Hz (default)

To convert the SS_THR threshold to STEP frequency (fSTEP) for a specified microstepping setting, Equation 14 should be used -

Equation 6. fSTEP = (SS_THR * 1000 * usm) / 256

Where usm corresponds to the number of microsteps (4, 16, 256 etc.). When the device is operating with custom microstepping mode, use usm = 256 in Equation 14 when calculating the STEP frequency.

The gain vs frequency plot of the silent step loop is shown below -

GUID-20220606-SS0I-CJGC-PTG3-MHBNJC0ZTM6C-low.svg Figure 7-19 Silent step Gain vs. Frequency

The loop transfer function has two poles and one zero -

  • One pole at origin
  • One pole (fP) due to the motor coil resistance and inductance -
    Equation 7. fP = RMOTOR / (2 * π * LMOTOR)
  • One zero (fZ) created by the PI loop
    Equation 8. fZ = (KI * FPWM) / (2 * π * KP)

The proportional gain KP should be chosen to achieve the desired loop gain. Use the following equation to calculate the KP -

Equation 9. KP = 6 * π * UGB * LMOTOR / VM

Where UGB is the unity-gain bandwidth of the loop, RMOTOR is the motor coil resistance, LMOTOR is the motor coil inductance, IFS is the full-scale current and VM is the supply voltage.

  • If any frequency is less than UGB, it is allowed to pass.
  • Frequencies higher than UGB, such as PWM frequency or STEP frequency are attenuated and do not contribute to motor noise.
  • 200 Hz is a reasonable choice for UGB to attenuate most frequencies in the audible range.
  • In the event of supply voltage change, UGB can be changed by modifying the value of KP. This way similar audio noise suppression can be achieved across a wide range of operating conditions.
  • If the zero is chosen to be at a lower frequency than the motor pole, UGB will increase, as shown in the gain vs frequency plot.

The zero should be placed to cancel the motor pole. By equating fP and fZ for a discretized implementation, the following equation can be used to calculate KI.

Equation 10. KI = KP * RMOTOR / (FPWM * LMOTOR)

As an example, consider the following use case -

  • VM = 24 V
  • IFS = 3 A
  • RMOTOR = 0.9 Ω
  • LMOTOR = 1.2 mH
  • UGB = 200 Hz
  • FPWM = 25 kHz
  • Above 50 RPM, the decay mode should change from silent step to smart tune ripple control.

Using the previous equations, KP = 0.1885 and KI = 0.00566. The following register values can be set -

  • SS_KP = 0110000b = 48
  • SS_KI = 0000011b = 3
  • SS_KP_DIV_SEL = 011b = 1/256
  • SS_KI_DIV_SEL = 100b = 1/512
  • 50 RPM corresponds to roughly 42.6 kpps at 1/256 microstepping, which is equivalent to 42 Hz frequency of the sinusoidal current waveform. So SS_THR = 00010101b = 21.

The following scopeshot shows the smooth sinusoidal coil current waveforms when the motor operates in silent step decay mode.

GUID-20220604-SS0I-TFCD-VZZ1-2NHNPXBG1VN2-low.png Figure 7-20 Coil Current Waveform with Silent Step Decay

The SS_SMPL_SEL bits influence the smoothness of current waveform around zero crossing point. Default value of 2 μs sampling time will work well for most motors and applications. In case current waveform distortion is oberved around the zero crossing, the value of sampling time can be increased to a maximum of 5 μs. The following scopeshot shows an example of transition from silent step decay mode to smart tune ripple control decay mode with a sampling time of 5 μs.

GUID-20221202-SS0I-JMLH-GSVX-BL5XQXHLGLV6-low.png Figure 7-21 Silent step to smart tune transition. Traces from top to bottom: AOUT2, AOUT1, coil A current, coil B current, nSCS