Welcome! Log In Create A New Profile

Advanced

Vibration at low speed

Posted by Nikel 
Vibration at low speed
May 17, 2016 01:09PM
Hi, I'm in need of some advice for how to reduce vibration on my stepper motor when rotating at slow speeds. My circuitry can only provide on/off control using LM298, so I only have a 12V square wave signal. I have a timer interrupting every 600us and then a speed control divider that will increase/decrease time between phase changes. This is the C routine that will perform the step. TOP_SPEED is 40, and at speed 37 it spins perfectly. Lower speeds start introducing vibration, I guess because of some resonance, but I cannot find a frequency that will reduce them. I tried changing timer interval to other values (550, 575, 625, 650, etc) and I also tried doubling the frequency and adding a free state inbetween, so that phase changes have 1 step pulse with no coils energized and allow a smoother settling of each phase, but It also didn't work.
// Private Functions
void StepperMove(tStepperMotor* Motor)
{
	// TMR2 interrumpts every 50us. 
	// StepperMotor_Update is called every ~600us (from main)
	int speed = (TOP_SPEED - Motor->Speed);
	if (++Motor->SpeedCounter >= speed)
	{
		Motor->SpeedCounter = 0;
		
		if (Motor->PendingSteps > 0)
		{
			Step(Motor, FORWARD);
		}
		else if (Motor->PendingSteps < 0)
		{
			Step(Motor, BACKWARD);
		}
		else
		{
			Motor->Moving = NO;
			Motor->Hold.Status = ShouldRelease;
		}
	}
}
A third option I thought would be to energize using a PWM (simulated using Timer) with an increasing Duty Cycle, starting with a very small duty and then increasing it up to 100%. At speed 10, that would mean (40-10)x600us = 18ms between steps. Slowly energizing the phase using a duty cycle would mean slower current build-up and less transitory...? At higher speeds that would not matter because I'd be stepping faster than what the inertia overshoot might affect my rotation and phase changes. (?)

Any ideas about this? Thank you for any help!
Re: Vibration at low speed
May 17, 2016 02:19PM
What motor are you driving?
Degree per step?
Steps per rotation?
How many phases?

What driver? What is putting voltage on each coil?

Appears to be a two wire motor?

confused smiley
Re: Vibration at low speed
May 17, 2016 02:31PM
Hi,

Motors are:
Sanyo Denki 103H7123-0710
Sanyo Denki 103-547-52500

Both
1.8 degrees per step
200 steps per rotation
2 phases (6 wires, not using 2)

Voltage is being enabled with the LM298 and is provided by an industrial 12V power supply (550W)

Thank you!
Re: Vibration at low speed
May 17, 2016 03:30PM
To reduce vibration at low speeds, you need to use microstepping. Scrap the LM298 (it's a thoroughly obsolete device) and use a modern constant current driver instead, which is what your motors are designed for. Any of the low-cost drivers you will find on eBay that use the A4982 or A4988 can drive the 103-547-52500 motor. The 103H7123-0710 is designed for higher current - in fact a lot more than your LM298 is capable of handling - so something like this [www.pololu.com] would be preferable (it can drive the smaller motor as well).



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Vibration at low speed
May 18, 2016 12:06PM
Hi DC, thanks for the reply. Microstepping helps a lot, but I still think it's a bit above what I'd like. Nevertheless it's more than tolerable. I also added an increasing pulse width activation of each phase and it seemes to have softened it a bit more.

As for the hardware suggestions, God I wish I could, but for now it's what I have, at least until I manage to convince my boss that the "thing" we're using now was made by a senile monkey and I get to make a new controller board.

Anyway, thanks a lot for the help!
Re: Vibration at low speed
May 18, 2016 06:16PM
If I were you and spending $5 on a microstepping module meant the difference between getting the job done quickly and many hours of essentially wasted effort, I'd spend the $5. If your boss is so tight he thinks your time is cheaper than spending the $5, I suggest you look for a new job where the boss isn't such a dope.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Sorry, only registered users may post in this forum.

Click here to login