Skip to main content
ile ile
Associate II
October 10, 2017
Question

How do we use step-clock mode when operating in voltage mode?

  • October 10, 2017
  • 1 reply
  • 2342 views
Posted on October 10, 2017 at 21:30

With PowerSTEP01, L6470 and L6480, the BEMF compensation does not work with step-clock mode (the motor status is stop). The output (to motor) voltage won't be increased when speeding up the motor by changing PWM frequency. without BEMF compensation, the output current is too low at high speed. Thus, step-clock mode is totally useless in voltage mode.

I have a temporary solution for this problem, I set KVAL_HOLD register to change the voltage when changing speed. But the SPI communications eat many CPU circles, so there is a limitation of speed because the interval can't be less than a SPI communication needs. It is even worse with daisy chain: more devices on the bus, more time is consumed by SPI communications. So, changing voltage between two step pulses is difficult.

And there is a question: after the SPI communication (setting KVAL_HOLD) ends (all bytes are sent from MCU), how long does it take before the voltage is actually changed? we must guarantee the voltage is high enough before the pulses achieve a higher rate, so I think this is a important question. Without the knowledge about elapsed time between command (setting parameters) and action actually executed, we cannot estimate a proper lead (time to send the command) to satisfy the condition. Could anybody give us an answer please ?

Or, Could any body give us a better solution to use step-clock mode in voltage mode? IMHO, using the RUN command and speed profiles can't do everything the step-clock mode can do. And only voltage mode has 1/128 micro-step. So how to make the combination of step-clock mode and voltage mode work is important to me.

(I haven't tried current mode yet, because the 1/16 micro-step is not good enough for my project. So I don't know if current mode have similar problems. Does step-clock mode work better in current mode? If somebody know, you may provide some info here, others can get benefits from your knowledge and advice.).

Any suggestions is appreciated. Thank you.

#powerstep01 #bemf #voltage-mode #step #compensation

Note: this post was migrated and contained many threaded conversations, some content may be missing.
This topic has been closed for replies.

1 reply

val_ltd
Associate III
October 16, 2017
Posted on October 16, 2017 at 13:39

Some years ago I asked

'Problem with dSPIN L6470 chip in step-clock mode.'

I have a problem with a

L6470

chip, when I use it in

step-clock mode. In this mode, I can get the necessary torque.....

They answred me:

The

L6470

works in voltage and needs bemf compensation. For that you need to know the speed. When you use the motion engine (run command for instance) our chip performs the voltage compensation . When you use the step clock, be definition we do not know the speed so there is no Bemf compensation. Then the current decreases Vs the speed.

Think to use the current mode Like the L6472. In that case you will get the same torque using step clock or motion engine.

ile ile
ile ileAuthor
Associate II
January 4, 2018
Posted on January 04, 2018 at 01:53

Thank you.

Their answer does make sense but it's helpless. Because they don't show us a way to apply voltage compensation by ourselves. they (our their chip) don't know the speed but we, the users DO know.

And it disappoints me that they don't answer me if my approach is workable or not. I think we need more details.

Thanks again for the information you provided. It's an important confirm for me.

Enrico Poli
ST Employee
January 4, 2018
Posted on January 04, 2018 at 13:56

The voltage mode algorithm is described in details in the

http://www.st.com/content/ccc/resource/technical/document/application_note/ad/fc/fb/f0/f7/c7/4c/48/DM00061093.pdf/files/DM00061093.pdf/jcr:content/translations/en.DM00061093.pdf

.

About the other questions:

- After the KVAL_HOLD is updated, the duty-cycle is updated at the next PWM cycle.

- An alternative way to implement the voltage mode compensation curve is to use the ADCIN input and the supply voltage compensation feature. The resolution is lower than the one you can obtain updating the KVAL_HOLD through SPI, but I think it could give good results.

- Alternatives to step-clock operation depends on the purpose of your application,can you share more details?