Home › Forums › TinyG › TinyG Support › Z-axis stalls–but not always!
- This topic has 9 replies, 2 voices, and was last updated 8 years, 7 months ago by cmcgrath5035.
-
AuthorPosts
-
May 13, 2016 at 8:55 pm #9668VexMember
Hi again folks! I have an interesting problem that I would like some input on: I’m trying to figure out if it’s a physical (the machine itself), a hardware (TinyG), or a software (Chilipeper) issue. My trouble seems to be that at a very specific line in the code (around Line 54 “G0 z15.24”) my Z-axis will stall.
I’ve run multiple tests and different gcodes that repeatedly test the jog of the z-axis up and down the entire length without problem. The motor doesn’t stall at all.
I’ve included the code below for reference (and bolded the location that causes my machine to stall).
(FACE6) M5 M9 T1 S11028 M3 G54 M9 G0 X52.864 Y-49.368 Z15.24 Z5.08 G1 Z0.317 F1026. G18 G3 X52.546 Z0. I-0.318 K0. G1 X50.8 X0. G17 G2 Y-46.379 I0. J1.495 G1 X50.8 G3 Y-43.389 I0. J1.495 G1 X0. G2 Y-40.4 I0. J1.495 G1 X50.8 G3 Y-37.411 I0. J1.495 G1 X0. G2 Y-34.421 I0. J1.495 G1 X50.8 G3 Y-31.432 I0. J1.495 G1 X0. G2 Y-28.442 I0. J1.495 G1 X50.8 G3 Y-25.453 I0. J1.495 G1 X0. G2 Y-22.464 I0. J1.495 G1 X50.8 G3 Y-19.474 I0. J1.495 G1 X0. G2 Y-16.485 I0. J1.495 G1 X50.8 G3 Y-13.496 I0. J1.495 G1 X0. G2 Y-10.506 I0. J1.495 G1 X50.8 G3 Y-7.517 I0. J1.495 G1 X0. G2 Y-4.528 I0. J1.495 G1 X50.8 G3 Y-1.538 I0. J1.495 G1 X0. G18 G3 X-0.317 Z0.317 I0. K0.317 <strong>G0 Z15.24</strong> G17
If I don’t stop/hit the safety switch the machine will crash during the adaptive milling phase that follows.
There has been, on occasion, a stall on other Z-axis movements with this gcode (see the first call for a g0 z15.24).
As for TinyG status I am using FW 440.20 and here’s my settings dump: https://drive.google.com/open?id=0Bx6o1FtzhQNZOWxxc3FSRDREdTA
Any help/direction would be well appreciated. Thanks
May 14, 2016 at 6:06 pm #9669cmcgrath5035ModeratorA couple of things that look strange (not necessarily ‘bad’) in your parameters:
You have a Z axis homing switch, yet Zmin=0 and Zmax = 254mm (really?)
By convention, if you home Z axis with a homing cycle, Zhome=0.(=Zmax)
Zmin should in your case should be -254mm, Zmax=0.0
If you don’t home Z, should not be an issue but then suggest you set $zsx=0.Most folks run microstepping=4 on axis with very small $_tr
Did you enter your speeds in In mode?
[zvm] z velocity maximum 635 mm/min
[zfr] z feedrate maximum 457 mm/min
would suggest that, unless 635 mm/min is special to you.
There have been issues with parameters entered in in mode,
mm mode highly recommendedThis entry
[xjm] x jerk maximum 1905 mm/min^3 * 1 million
[xjh] x jerk homing 51 mm/min^3 * 1 million
and the Y axis entries look very unusual as well.You appear to have a really fine thread ball screw machine(?)
$_tr=1.27mm.
Not clear what the correct jerk setting are for such a machine, but consider that on a typical SH2 belt machine ($_tr=40 mm), $zjm=5000 and $zjh=10000 to 20000.Unexplainable parameters like
[xsv] x search velocity 406 mm/min
frequently are the result of corrupted EEPROM (the parameter store).
If you can’t explain 406, as opposed to 400, or don’t remember explicitly setting it, I would suggest the following:1. use your Gdrive file as a guide, write down what you think parameters should be, based on whatever setup guide you might be following.
I have never seen a guide that suggested [xsv] x search velocity 406 mm/min.2. from the CP Serial console command line, enter $DEFA=1 command
This will reset tinyG parameters to factory defaults, likely nothing close to what is right for your machine.3. Grab another $$ parameter dump and mark it up with the values you believe are correct for your machine.
4. Enter G21 in the serial console to ensure tinyG in mm mode.
5. Now enter parameters that need to be changed, one at a time, in the Serial Port console CLI. I suggest avoiding the configuretinyG widget, it seems to have contributed to corruption for some users, but not others.
When done, save your $$ list for future reference.
Now rerun your job, maybe in air first, to see if it behaves more sanely.
If not, reports results, and this time better explain what you mean by Z axis “stalling”. Just not moving, stopping but making a lot of noise, etc, etc.
BTW, if you do have a screw machine, double check the set screws on your motor couplings as well.
May 18, 2016 at 1:54 pm #9672VexMemberThanks for getting back to me!
A couple of things that look strange (not necessarily ‘bad’) in your parameters:
You have a Z axis homing switch, yet Zmin=0 and Zmax = 254mm (really?)
By convention, if you home Z axis with a homing cycle, Zhome=0.(=Zmax)
Zmin should in your case should be -254mm, Zmax=0.0
If you don’t home Z, should not be an issue but then suggest you set $zsx=0.I currently don’t home my machine (no home/limit switches). It is on my to-do list, but would like to be able to machine the mounts. I’ll go ahead and set $zsx=0
Most folks run microstepping=4 on axis with very small $_tr
Wouldn’t that make the location inaccurate, IE if I’m running a 10 TPI screw and adjust it to 5 TPI with the same decrease in microstep?
Did you enter your speeds in In mode?
Yes
[zvm] z velocity maximum 635 mm/min
[zfr] z feedrate maximum 457 mm/min
would suggest that, unless 635 mm/min is special to you.
There have been issues with parameters entered in in mode,
mm mode highly recommendedI don’t quite follow? Are you suggesting I adjust feedrate and velocity to some other value?
This entry
[xjm] x jerk maximum 1905 mm/min^3 * 1 million
[xjh] x jerk homing 51 mm/min^3 * 1 million
and the Y axis entries look very unusual as well.You appear to have a really fine thread ball screw machine(?)
$_tr=1.27mm.
Not clear what the correct jerk setting are for such a machine, but consider that on a typical SH2 belt machine ($_tr=40 mm), $zjm=5000 and $zjh=10000 to 20000.If I remember correctly I based it around this, and fine tuned by ear. Are these values incorrect?
Unexplainable parameters like
[xsv] x search velocity 406 mm/min
frequently are the result of corrupted EEPROM (the parameter store).
If you can’t explain 406, as opposed to 400, or don’t remember explicitly setting it, I would suggest the following:I don’t recall ever adjusting this value away from default–I may have, but it’s been awhile.
1. use your Gdrive file as a guide, write down what you think parameters should be, based on whatever setup guide you might be following.
I have never seen a guide that suggested [xsv] x search velocity 406 mm/min.2. from the CP Serial console command line, enter $DEFA=1 command
This will reset tinyG parameters to factory defaults, likely nothing close to what is right for your machine.3. Grab another $$ parameter dump and mark it up with the values you believe are correct for your machine.
4. Enter G21 in the serial console to ensure tinyG in mm mode.
5. Now enter parameters that need to be changed, one at a time, in the Serial Port console CLI. I suggest avoiding the configuretinyG widget, it seems to have contributed to corruption for some users, but not others.
When done, save your $$ list for future reference.
Now rerun your job, maybe in air first, to see if it behaves more sanely.
Sounds good. I’ll run through it next chance I have to carve out some time.
If not, reports results, and this time better explain what you mean by Z axis “stalling”. Just not moving, stopping but making a lot of noise, etc, etc.
Yeah, I must apologize for the lack of that descriptor. The Z-axis stepper stalled out (I heard the noise and saw that the coupler wasn’t moving). Tested the z-axis after that without issue.
BTW, if you do have a screw machine, double check the set screws on your motor couplings as well.
Yup. Tight as can be and not slipping.
May 18, 2016 at 3:35 pm #9673cmcgrath5035Moderator$xjm=1905 would not be a problem, and probably translates to a more ’round’ number in inches.
$xjh=51 is very low, but you don’t home the machine so this value never gets used.Turn off all home/limit switches that you don’t want to be active.
To my knowledge, there is not a Synthetos ‘suggested’ parameter set for screw machines, so you are on you own to collaborate with others.
If you do find one, send me a link.May 19, 2016 at 10:36 am #9674VexMemberCarl,
A quick thought occurs to me: Based on this Discussion, it sounds like I may have my current limiting dash pots set too low.
My physical setup includes NEMA23s on each axis (bipolar, 4-wire, rated for 3 amps, double shaft), active cooling on the ground plane of the TinyG v8 (CPU fan CF-T12S), it is contained within a case that houses the power supply (Meanwell switching with thermally controlled fan) and spindle control board. This case also has an AC fan to cycle air through the case while turned on.
Would it be of benefit to increase the current limit?
Thanks!
May 20, 2016 at 6:31 am #9679cmcgrath5035ModeratorInadequate drive current is certainly a possibility, I suppose.
Do you have a very heavy spindle?
With $tr=1.27mm, your Z motor already has a good mechanical advantage.
You could run your problematic code repeatedly while tuning your current pot to see if that helps.What you describe sounds like cooling is about as good as it gets – forced air on the bottom of the tinyG is the most effective way to go.
Are you sure there is no binding along the travel of your up-down motion?
Do you keep the Z screw lubricated(Graphite, etc)?
What material do you typically mill?
How do you keep the lead screws clean?
At this pitch (1.27), seems that could be a long term issue.
Is this a custom machine?May 20, 2016 at 9:52 am #9681VexMemberThe spindle is one of the heavier components on the machine. It is a modified Sherline machine with very little customization on the physical side. It is similar in size and scope to this mill, the only difference being that it is actually an older version. Current physical alterations include new shaft couplers and steppers (increased torque from the original 120 some-odd oz-in–Current stepper motors, I believe, are rated around 400 some-odd oz-in).
I have not noticed any binding on the z-axis. I’ve adjusted the gibs and lubricated both the screw and the prismatic beam. Gear grease and silicon spray respectively. There is no backlash mechanism on this version for the z-axis so binding ‘shouldn’t’ be an issue on that front.
All test cuts are using plexiglass/acrylic. Sufficiently soft to not bind and cause missing steps (running spindle around 8-10k rpm). Lead screw on this machine is hidden behind the prismatic beam/rail–no swarf is able to get to it that way. Chips are usually cleaned after each use of the machine (air spray and brush). X- and Y- axis screws are similar and hidden from swarf and debris either from the work table itself, or through various covers.
May 20, 2016 at 10:33 am #9682VexMemberIntermediate update: Just completed doing an air-cut test of the program after increasing the current limit from the dash-pot. It appears to have successfully completed a run without stalling. I will attempt another test cut of the material and report back.
May 20, 2016 at 10:49 am #9683VexMemberCompleted test cut. It appears to be a success. My current was set to low. I may bump the current on my x- and y- too as I think I’m missing a few steps there during some aggressive cuts. But all things said and done; it turned out quite well!
May 22, 2016 at 6:42 am #9688cmcgrath5035ModeratorYou might find it worthwhile to invest in a laser guided temp measurement tool, such as
and gather some temp rise data measuring driver package temp, relative to the device specifications.
You **may** encounter issues on very log jobs, or not. Hard to predict. -
AuthorPosts
- You must be logged in to reply to this topic.