2020-04-23 12:02 PM
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.
2020-04-24 07:47 AM
Hi, could you share with us more details on you@ application?
2020-04-24 01:48 PM
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 ... )
2020-04-28 01:15 PM
The 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
2020-04-29 08:59 AM
In practice you have two stepper motors each one driven by a powerSTEP01 device, right?
2020-04-29 11:38 AM
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...
2020-04-30 01:21 AM
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
2020-04-30 08:20 AM
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.
2020-04-30 09:45 AM
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 ;)
2020-04-30 10:23 AM
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.