Skip to main content
Associate
June 29, 2026
Question

L6470 vs L6472

  • June 29, 2026
  • 6 replies
  • 71 views

I want the motor to run at 4000pps with 38 V power supply and full step with 17HS 8401!
In this case, which is superior, L6470 (voltage control) or L6472 (current control)? Also, if you have any points to keep in mind, please let me know.

6 replies

Peter BENSCH
ST Technical Moderator
June 29, 2026

Welcome ​@karuby, to the community!

both L6470 and L6472 are current-controlled, but not in exactly the same way:

  • L6470: classic current control with KVAL-based amplitude regulation
  • L6472: predictive current control with adaptive decay

For this motor and speed target, L6472 is the better choice, because it has direct current regulation with target current setpoints via TVAL_HOLD, TVAL_RUN, TVAL_ACC and TVAL_DEC. This allows the desired phase current to be set more directly, the control is more robust, behaviour at high speeds and under changing loads is better, and tuning is less time-consuming.

However, with 4000 pps = 1200 rpm, you should expect significantly reduced torque.

Hope that helps?

Regards
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
karubyAuthor
Associate
June 29, 2026

Thank you for your answer, Peter.

I am arranging EVAL6472H. I'm going to use this to see if it spins at 4000PPS in full steps.

Please tell me the procedure to try, each register item, and the set value if there is any.

Peter BENSCH
ST Technical Moderator
June 30, 2026

A good starting point would be the software packet STSW-STSPIN01, but for a quick 4000 PPS full-step test on EVAL6472H I would recommend a minimal manual setup rather than relying only on the Workbench defaults.

Suggested approach:

  • set STEP_MODE = full-step
  • configure TVAL_RUN / TVAL_ACC / TVAL_DEC with a moderate current first
  • set TVAL_HOLD lower than running current
  • make sure MAX_SPEED is above 4000 steps/s
  • use conservative ACC/DEC at first
  • keep OCD protection enabled and set OCD_TH slightly above the operating current

For a first test, start with moderate current and gentle acceleration, then increase step by step if the motor does not reach 4000 PPS.

Deeper support is hardly possible here due to the lack of access to your hardware, so I recommend contacting the FAE of your local distributor.

Good luck!
/Peter

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
karubyAuthor
Associate
June 30, 2026

Thank you for your answer, Peter.
I will add the L6472 specification to the default source code of L6470 and try the contents you have taught me.

karubyAuthor
Associate
July 12, 2026

I tried it with EVAL6472H.
As a result, the motor rotated normally even at 400pps. Thank you very much.
For reference, the actual setting values are shown below.

    CS_LOW(cs_id);
    sci8_SPI_transfer(0xC0); // ResetDevice
    CS_HIGH(cs_id);
    mWait(20);

    CMD_Send2(cs_id, L6472_ALARM_EN, 0xFF, 1);
    CMD_Send2(cs_id, L6472_ACC, 0x40, 2);
    CMD_Send2(cs_id, L6472_DEC, 0x40, 2);
    CMD_Send2(cs_id, L6472_MAX_SPEED, 0x0106, 2);
    CMD_Send2(cs_id, L6472_MIN_SPEED, 0x00, 2);
    CMD_Send2(cs_id, L6472_TVAL_HOLD, 0x14, 1);
    CMD_Send2(cs_id, L6472_TVAL_RUN, 0x14, 1);
    CMD_Send2(cs_id, L6472_TVAL_ACC, 0x14, 1);
    CMD_Send2(cs_id, L6472_TVAL_DEC, 0x14, 1);
    CMD_Send2(cs_id, L6472_OCD_TH, 0x0A, 1);
    CMD_Send2(cs_id, L6472_T_FAST, 0x19, 1);
    CMD_Send2(cs_id, L6472_TON_MIN, 0x29, 1);
    CMD_Send2(cs_id, L6472_TOFF_MIN, 0x29, 1);
    CMD_Send2(cs_id, L6472_STEP_MODE, 0x08, 1); // FullStep 000b + 0x8
    config.bit.OSC_SEL    = 0x0;
    config.bit.EXT_CLK    = 0x0;
    config.bit.SW_MODE    = 0x0;
    config.bit.EN_TQREG    = 0x0;
    config.bit.OC_SD    = 0x1;
    config.bit.POW_SR    = 0x2;
    config.bit.TSW        = 0x0B;
    config.bit.PRED_EN    = 0;
    CMD_Send2(cs_id, L6470_CONFIG, (unsigned long)val, 2);
 

karubyAuthor
Associate
July 12, 2026

Postscript, test environment.

MCU(RX),EVAL6472,17hs8401(Vcc:38V)

karubyAuthor
Associate
July 13, 2026

Correct, it is 4000pps, not 400pps, it also rotated at 4500pps.