cancel
Showing results for 
Search instead for 
Did you mean: 

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

CBeif.1
Associate II

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.

19 REPLIES 19

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 ?

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

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

A picture says more than 1000 words 😉

0693W000000WlcQQAS.gif

chaaalyy
Senior II

So it moves 4 steps (or 8 half steps...), until it reaches the same state again. If you divide this further to microstepping, let´s say from step 1 to 1 1/2: Just Q3 is switched from on to off state. Now say not just "off", say 50% (just to make it easy) and it moves from 1 to 1 1/4. Problem: we work in a digital world here and the only way to make this conversion is a pwm modulation...

CBeif.1
Associate II

LoSpeedOpt is off, but from what I read, its for voltage mode only. (I'm in current mode)

I am using my own hardware, we developed a motherboard with 3 of these chips on the board.

chaaalyy
Senior II

Also a good explanation (more in-depth, even when it looks complicated at 1st sight...) :

https://www.researchgate.net/publication/3219650_Mixed-Mode_PWM_for_High-Performance_Stepping_Motors

The figures definitely help to understand the scope readings (but anyway they don´t explain the strange "slope"...)

Ouch...

The controller mcu itself ? A stm32 mcu ? Then you have good chances to get some st examples up and running. But be aware: the coding style is ... let´s say "a little bit weird"... I used them in the beginning to play around more comfortably with the parameter settings. Therefore they aren´t too bad 😉

You can find it here:

https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-spn3.html

If you use custom hardware: on the ihm03a1 board, for current sensing are 0.100 Ohm resistors used. So if you have different ones, recalculate the Tval´s for your motor ! (if i remember correctly, for 3A it should be TvalHold 140; TvalAcc and Dec 300 and TvalRun at 280 on the ihm03a1)... I used slightly lower (around 0.2A less) values for TvalRun than the standard 300, because the motor went a little bit hot, when running all the time at 3A ...

​@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

CBeif.1
Associate II

I attached an optical encoder to my stepper motor, and then captured my step pin, and the quadrature data using high speed logic analyzer,

I moved a distance of 6 inches in this plot.

I then plotted the difference in microsteps between my microstep position and encoder position (translated to microsteps).

Does this look normal? Is this normal stepper motor resonance? For x16 microstepping in current mode, I am off from -2 to 7 microsteps.

with a very high frequency oscillation. This definitely explains the oscillations I see in the laser engraving.

0693W000001cMtcQAE.png