Go Down

Topic: New Stepper motor set up test is "Cavitating" or skipping steps or under driven (Read 1 time) previous topic - next topic

3dCreations

I have just setup an board with a couple of Stepper motors, drivers & GRBL Arduino sketch and was hoping someone could give me some guidance on trouble shooting the following problem:

Problem
When sending a command from the Arduino IDE serial monitor to the board eg. X 10 and the stepper motor does the following:
  • Brief spin
  • Motor starts "cavitating" - can be heard attempting to operate but spindle is stationary
  • Breif spin again
  • System freezes & will not spin again until board is reset



Possible ideas
I'm guessing it is something fairly basic I have over looked.
Perhaps the step interval time is not correct or the default GRBL configuration is trying to spin the motors to quickly or accelerate them to quickly
But not sure why this would make the board/ stepper freeze from accepting further commands until reset


Hardware
  • Arduino Uno
  • CNC shield V3 Protoneer Board
  • 4 x A4988 stepper motor drivers (Chinese Clones .1 Ohm reference resistor)

Current limit set to Vref 1.2V --> Current 1.5A
  • ATX power supply converted to a lab supply for steppers 12V & 24V tested
  • 17HS4401 Stepper Motors - I have limited data sheet info on these



Any thoughts, Ideas or suggestions would be welcome. Thanks


Basic Stepper Reading
Thread stepper motor basics

TomGeorge

Hi,
Have you checked your power supply voltage when the stepper is jittering?

Can you post your complete code , using code tags please?

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Have you just got ONE DRIVER and ONE STEPPER and code to JUST CONTROL that ONE STEPPER, so that you can get your driving code working before making the problem twice the size?

Thanks.. Tom.. :)
Everything runs on smoke, let the smoke out, it stops running....

groundFungus


Quote
Brief spin
    Motor starts "cavitating" - can be heard attempting to operate but spindle is stationary
    Breif spin again
    System freezes & will not spin again until board is reset
That indicates, to me, that the motor is trying to accelerate to a speed that it is not capable of, buzzes,  and then the deceleration gets to the point that it can run and then stops.  The system freeze could be when it hits a soft (or hard) limit.   Does $X unlock it? 

If you are using G00 commands the motor will try to accelerate to the max speed at the acceleration in the config file.   Try it using G01 commands with a much slower speed.  Then you might need to make changes to the config file to match what the motor can do.

Are you using micro stepping?

3dCreations

Hi Guys thanks for the quick replies.
@groundFungus 
Quote
That indicates, to me, that the motor is trying to accelerate to a speed that it is not capable of, buzzes,  and then the deceleration gets to the point that it can run and then stops.  The system freeze could be when it hits a soft (or hard) limit.   Does $X unlock it? 
Acceleration was one of my suspicions also.
I have not attempted sending $X (with out a value) but I have sent $X 10 and this remains frozen until the board is reset.
Quote
If you are using G00 commands the motor will try to accelerate to the max speed at the acceleration in the config file.   Try it using G01 commands with a much slower speed.  Then you might need to make changes to the config file to match what the motor can do.
I will give the G01 command a go and post back any thing changes.
Quote
Are you using micro stepping?
No micro stepping currently but will be testing this next

@TomGeorge
Hardware Info:

Quote
Have you checked your power supply voltage when the stepper is jittering?
I have not explicitly checked for a voltage drop when attempting to run the steppers, I'll give it a test an post back any findings.
Quote
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
http://2dplotter.blogspot.com/2015/05/6-plugging-protoneer-cnc-shield-and.html this is not a photo of my specific board but a good image of the Protoneer CNC shield v3 (please note they are not using the A4899 drivers)


Quote
Have you just got ONE DRIVER and ONE STEPPER and code to JUST CONTROL that ONE STEPPER, so that you can get your driving code working before making the problem twice the size?
Whilst the board is suited for 4 drivers I'm currently testing one driver with one motor then selecting the X axis to move in the serial interface with the GRBL code.


Software Info:
Quote
Can you post your complete code , using code tags please?
The software being used is simply GRBL refer https://github.com/gnea/grbl
Compiled and Installed via the Arduino IDE refer https://github.com/gnea/grbl/wiki/Compiling-Grbl



Thanks Again for the ideas, Any more will be most welcome.

groundFungus

$X10 is an invalid Grbl command.  $X by itself should unlock the machine if it was locked by a soft limit.  

This page shows the $ commands for Grbl.

3dCreations

@groundFungus
Sorry my mistake, its been a long time since I actually had to have looked at Gcode in a raw from. Its usually nicely compiled from me from a cad package  :)

The command I was using was a move to the X-Axis 10 rather than $X which as you noted $X - Kill alarm lock

I have not tried this as yet but will report back once I give it a run - looks like a good tip.

3dCreations

Test Results looking like some progress :)

G01 operation with reduced feed rate: Using G01 X5 F5 seems to stop the board from locking out and allows repeated operations if the X value is varied (presumable because these are absolute positions?)

I've played around with several different feed rates F5 / F 10 / F200 etc

So presumable this indicate the default GRBL acceleration / deceleration / feed rates settings are not compatible with the stepper motor.
With the limited data on the Steppers is their a how to guide on how best to test and set these values to match the motors? or is there some way of calculating the optimum values?


Voltage drop during operation: Power supply seems to be delivering 23.2V and dropping to approx 22.7V as the motor operates. Not sure if this is typical voltage drop or is a sign of excessive drawing on the power supply. This was only measured with a multi-meter across the supply so its probably not a supper accurate number.

Software (?) Lock out: $X doesn't seem to release the lock but the command is acknowledged (ok) by the board but reseting the board looks to release the the lock.



groundFungus

Quote
presumable because these are absolute positions?
Grbl defaults to absolute mode.  Change to relative with G91 and back to absolute with G90.

Quote
With the limited data on the Steppers is their a how to guide on how best to test and set these values to match the motors? or is there some way of calculating the optimum values?
This page might be helpful in that regard.  You should set Grbl configuration for your motors first (steps per mm).


MarkT

So presumable this indicate the default GRBL acceleration / deceleration / feed rates settings are not compatible with the stepper motor.
With the limited data on the Steppers is their a how to guide on how best to test and set these values to match the motors? or is there some way of calculating the optimum values?
Its way too a complex function of many variables - you have to _measure_ the max speed and max acceleration in practice, and remember it depends on supply voltage, the microstepping factor, the mechanical load (inertia and damping), and even the temperature of the motor (well, maybe!)

Once you've measured the limits, back off 20% or so to allow for inevitable variations in the various contributing variables.

Increasing the supply voltage should help with max speed.

Choosing the right degree of microstepping will help with resonance effects (as will increasing mechanical
damping).
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up