Skip to main content
CBeif.1
Associate II
April 23, 2020
Question

I am trying to do laser engraving with a POWERSTEP01. But I get high frequency oscillations on my motor.

  • April 23, 2020
  • 14 replies
  • 6289 views

0693W000000WMx4QAG.jpg

I am in current control mode, and the stepper motor is using about 3 amps.

Is there anything I can do to reduce these oscillations.

Also note that the white line is about 0.010" thick.

I am using x16 microstepping, and I currently have 1600 microsteps per inch of resolution.

This topic has been closed for replies.

14 replies

Cristiana SCARAMEL
Technical Moderator
April 24, 2020

​Hi, could you share with us more details on you@ application?

  • What is the device setup (registers contents)?
  • How did you make the movement in the XY plane?

"If you feel a post has answered your question, please click ""Accept as Solution"""
chaaalyy
Senior II
April 24, 2020

And further the used motor and the parameters, you use for initialization :) A picture of your mechanical setup could be also helpful (ball screws ? belt driven ? linear bearings ? moved masses ? ... and so on ... )

CBeif.1
CBeif.1Author
Associate II
April 28, 2020

0693W000000Wc9QQAS.jpg0693W000000WcB1QAK.jpgThe application is a laser engraver.

The movements are made with an XY gantry on rolling wheels in a track, using a stepper motor attached directly to a belt drive,

We have other systems that don't have this problem.

Here are the register settings

Addr B3 B2 B1 B0

---- -- -- -- --

0x01   00 00 00

0x02      00 00

0x03   00 00 00

0x04   00 00 40

0x05      00 0c

0x06      00 1a

0x07      00 00

0x08      00 04

0x09         04

0x0a         19

0x0b         19

0x0c         19

0x0e         58

0x0f         03

0x10         1f

0x12         10

0x13         0d

0x15      07 00

0x16         0c

0x17         0f

0x18      03 e3

0x19         60

0x1a      a7 90

0x1b      e6 02

Cristiana SCARAMEL
Technical Moderator
April 29, 2020

​In practice you have two stepper motors each one driven by a powerSTEP01 device, right?

"If you feel a post has answered your question, please click ""Accept as Solution"""
chaaalyy
Senior II
April 29, 2020

Analysing the picture of the "spiral", i would say, there are two problems coming together:

a) the axles are called alternately, so (for example) x makes a movement, then y, then x again and so on ... Soluition would be (if you use the provided libraries, the according functions are already implemented) to use command queueing or to drive them with external step signals.

b) if the timings aren´t set up correctly, this driver unfortunately tends to "swallow" microsteps and moves in rough full steps, when enough microsteps are "cumulated". In such a case try to play around with minimum on time, off time and so on. always keep an eye of the resulting current, this can be really tricky. You can easily test this behaviour: Try to turn one stepper really slow, maybe 5 MICROsteps / sec. (don´t use the goto command for that... You can´t set the minimum speed low enough. Even with 0 it performs at least 5 full steps / sec.) and watch the movement. If it turns smoothly, your settings shouldn´t be too worse ;) As far, as i remember you should switch off the Low Speed Optimization also (i stopped using these powersteps and his little brothers and sisters a long time ago, because ALL other brands have been FAR better supported and had much less trip hazards...)

Search for the " DS9836 " documentation and read it very carefully. Many trip hazards are well hidden in the description of the single functions...

Cristiana SCARAMEL
Technical Moderator
April 30, 2020

My doubt concerns the synchronization of the two axes movement, too.

Here the link of powerSTEP01 datasheet (DS9836) for the parameters fine tuning and function description

"If you feel a post has answered your question, please click ""Accept as Solution"""
CBeif.1
CBeif.1Author
Associate II
April 30, 2020

Does the POWERSTEP01 give smoother results in current mode or voltage mode. The last engineer that was here was adamant about current mode being better?

But what is the difference? Current mode is limited to x16 microstepping, but voltage mode has x128 microstepping.

P.S. X and Y axes are being driven by an FPGA, so hopefully the timing is very precise.

Also note that the thickness of the engraved line is about 0.01"

the full step distance is also 0.01" so I am worried that I am somewhat depending on the positional accuracy between full steps,

and I am concerned that the motor is vibrating between the 2 full steps.

chaaalyy
Senior II
April 30, 2020

In the so called voltage mode, it should give far better and smoother movement. Unfortunately it´s nearly impossible to reach useful speeds in that mode. Also (just my experience...) it´s more than very hard to determine the needed parameters to set it up correctly. There are some tutorials out there, how to find the basic setup with measuring the BEMF while turning the motor manually. Unfortunately this method is ... Let´s say useful for a 1A NEMA17 stepper, if you want to run it at max. 100 rpm ... I tried it with so many different motors... From 0.6 up to 10.0 Amps ... NONE of them provided more than 10% of the performance (torque and speed) , i got with current mode. As i already said: For a setup with different speeds (like cnc control...) the powerstep is nearly unusable. If you have a fixed movement (always the same parameters) and a lot of time: Nearly unbeatable ...

@Cristiana SCARAMEL​ : Sorry, if i have to complain about that driver family... But i hate to tell the people embellished truths or even worse: to lie. Especially the powerstep01 is a product, which is far better promoted, than supported. Based on the given parameters (10A rms @85V isn´t too bad ;) ) and the highly praised voltage mode ( i know nobody, who got it to work satisfactorily...) I really would love to say something different and i also would like to choose it for upcoming projects. More than 2 years ago i told some st guys at the "embedded world" fair about some major bugs in the provided libraries (beginning with just stupid syntax errors, not compilable code and missing brackets...) -> Still present in actual firmware :( More than two years ago i asked for help in official support channel via e-mail... No answer in nine months :(

As far, as i see, you wrote more support in this single thread here than anybody else of the whole st support staff (at least, when it comes to powerstep01). Please keep on going and keep on helping some desperate users getting your products up and running ;)

Or even better: Provide some webinars or MOOCs, teaching the people (in an understandable way) the in-depth basics. You really could sell so much more of the stuff, if it is well supported. Not everybody is a studied engineer with 20 years experience ;)

Cristiana SCARAMEL
Technical Moderator
May 4, 2020

​@Karl Hönemann​ I'm sorry for your "poor" experience with ST guys. Obviously is not the way we want to be close to our customers.

Thanks for the tips and your support in the community

"If you feel a post has answered your question, please click ""Accept as Solution"""
CBeif.1
CBeif.1Author
Associate II
April 30, 2020

Thanks for your advise!

I guess my only choice is to play with the configuration settings or switch to a different chip.

I do have a question about CONFIG.TSW setting.

It looks like my current setting is "01001" (which based on my calculations gives a switching period of the current control algorithm of 27.77KHz)

I know that I send microsteps up to 160KHz (we are trying to move at a max speed of 100 ips)

does this mean the current control algorithm is useless at this speed, and I need to reduce my TSW setting??

Also, is there guidance as to how I should set T_FAST, TON_MIN, and TOFF_MIN

There are too many parameters for trial and error.

chaaalyy
Senior II
April 30, 2020

It´s a bit more complicated ;) Basically the 27.xxkHz are based on the "full step frequency". If you connect an oscilloscope directly to one of the phases, it´ll show you a pwm signal. The switching period describes the frequency of that signal. The microsteps are "driven" by extending or shortening of the duty cycle. Ok, this is just the half truth... There are some other effects to keep track of... So for example the max. current and so on.

I really suggest to connect an oscilloscope for a deeper understanding, what´s going on ;) For example: A linear transition of the duty cycle will not lead to a linear movement between two full step positions. Imagine a simple magnet (and we work with magnetic fields here...), sticking to a metallic surface. To lift it off, you´ll need for example a force of 10N. At a distance of 1" it still pulls with 1N ... What would you expect at a distance of 0.5" ? And nope... It´s NOT 5.5N, as the force increases with the square of the distance... That´s also one of the effects, which can lead to a rough or stuttering movement.

How do you set up your parameters ? With the unions / structs provided from the examples ?

CBeif.1
CBeif.1Author
Associate II
April 30, 2020

0693W000000WlSaQAK.bmpI captured a single phase with Oscope, channel 1(yellow) on PHASE A+ and channel 2(blue) on PHASEA-

The top picture is moving at 40 ips, and the bottom picture moving about 1 ips (at a constant speed)

The pink signal is channel 1 - channel 2.

This is not quite what I would expect

(especially the strange slope when moving at a constant slow speed?, what is that?)

0693W000000WlSVQA0.bmp

chaaalyy
Senior II
April 30, 2020

Do you have the "LoSpeedOpt" switched on ? But indeed it looks a bit "weird"... The calculation (in pink) shows basically, what´s going on, from one "full step" to the next one. Every full step it has to change polarity and so at least THIS is correct ;) More or less at the point, when it changes polarity, the "spikes" should become denser, the further it moves to the "center point" and then become lighter until it reaches the next polarity change.

It´s a long time, since i played around with the powerstep01 on my scope :( I really should search, where i have these ihm03a1 boards lying around and connect a motor ;) Without running hardware it´s more than difficult to analyse, what´s going on at your side :(

Which hardware do you use to evaluate the powerstep ? ihm03a1 plugged onto a nucleo ?

Edit: Let me check some literature 1st ;) especially the sequence, when driving a stepper in fullstep mode (just switching the coils ...). As i said: a long time, since i did this and sometimes it´s better to check, if i´m still right ;)

chaaalyy
Senior II
April 30, 2020

A picture says more than 1000 words ;)

0693W000000WlcQQAS.gif