Home › Forums › TinyG › TinyG Support › Z axis problem
Tagged: z-axis firmware
- This topic has 35 replies, 4 voices, and was last updated 10 years, 8 months ago by sparkcrafter.
-
AuthorPosts
-
March 26, 2014 at 1:04 am #5676grimMember
Turns out I’m still having this issue as well. I just tried running some new gcode and had the problem again. I had a specific gcode file that was repeatably having this problem while on fw380.08 and it went away when I changed to fw412.01 so I thought it was fixed. Very strange as I’ve run my machine a number of times now without this issue, but this new gcode was longer than the previous ones. It happened approx. 40 minutes into the program, so testing for it will be pretty time consuming. I don’t have the gcode available right now to attach but I can later if you guys want it. I was using tgfx on a Win7 machine to send the file. Also, mine always plunges into the workpiece (negative z). I can try to measure the part tomorrow to try to determine how far it went off, but it’s probably pretty close to the same amount as sparkcrafter (~4.5mm), just negative instead of positive. I think it occurred during a rapid +z move, so I guess it’s possible that it was case of missed steps. I reduced my z velocity and jerk values after my last go around with this and it seemed to be running pretty good – no funny noises or any obvious missed steps while jogging or running. I’ve got an acme thread z axis coming this week too so maybe that will help if it is missing steps.
March 26, 2014 at 6:55 am #5677aldenMember@sparkcrafter – I would like to see if I can reproduce this. SOme questions.
– Were you using the settings you provided in JSON in the March 23, 3:00 AM post? If not, can you please post the settings you were using.
– Can I confirm that you are on 412.01?
There are adjustments that can be made in firmware to set the size of the planner buffer. See PLANNER_BUFFER_POOL_SIZE and PLANNER_BUFFER_HEADROOM in planner.h.
I will try to reproduce this some time today.
March 26, 2014 at 6:58 am #5678aldenMember@grim – Yes, please post the Gcode, your settings and the build number. Did I read correctly that the problem went away once you dropped your Z velocity and jerk values? Can you please post the newer values as well?
What is the mechanical HW for the Z? I don;t remember what machine you are running. .. Thanks in advance for the info.
March 26, 2014 at 8:55 am #5679aldenMemberUpdate: I plan to push a build later today in a separate branch called Issue76. This build is derived from the current dev branch and has a number of small fixes have been incorporated since 412.01. The build number will be something upwards of 420.02. I will put the hex on the download page or perhaps make it available by a dropbox link. This will give us a good baseline to work from.
@sparkcrafter – Would you be so kind as to test your snippet with this new branch when it becomes available? My expectation is that the same behaviors you are seeing now will still exist.
@grim – This may or may not work with tgfx as it has not been integrated and tested. So no expectations on that front.Thanks
March 26, 2014 at 10:50 am #5681sparkcrafterMemberAlden,
I am on 412.01 and the json settings I sent are current. I have a few more hours to test, then won’t be available to test until next week. Would be great to try a build with buffer size increased if you have a chance to do that.March 26, 2014 at 11:05 am #5682aldenMember@sparkcrafter – I’ll pick up the testing. I want to be sure to get to a point where I can reproduce the problem on my setup.
– Do I understand correctly that the snippet with the dwell works, but fails sporadically when you remove the dwell?
– Another question – When you see the Z axis issue what does the status report show at the end of the run (type ‘?’). Does the Z axis position reflect the erroneous 2.5mm, or is this movement not reflected in the Z axis position? In other words, does the system think it actually moved those 2.5mm, or does it not know that it did? Do you have a physical DRO on your machine’s Z axis? If so, what does it say about Z’s final position?
– If the issue could possibly be noise related it might make sense to run with the spindle off (dry run), and to set the limits off and the homing switches to homing only (not limits and homing). But this seems like a reach as the problem is so repeatable at the same spot in the code. ALso, I’m not sure how you would see the effect if you were not cutting.
Thanks
March 26, 2014 at 11:44 am #5683sparkcrafterMemberYou are correct. Adding the dwell fixes the problem and removing it causes the problem to appear. This may or may not happen on your system as the problem is very sensitive to anything that effects the timing. If you can’t get the snippet to fail, use the two full listings I posted. I’ve never been able to get both of them to work using any settings.
When it fails, the status report does not show any problem. To return to my original starting point after a failure I have to execute:
g0z-4.5 (remember the gcode left the machine at 0,0,2 so this is a 2.5mm adjustment)
g28.3 z0I don’t have a physical DRO. I currently just run the code over top of the wood with the relief cut so it just skims about 0.1mm above the relief until the failure point. The benefit of this approach is that I can see the failure without running the spindle. So, yes, it fails without the spindle running.
March 26, 2014 at 11:59 am #5684aldenMemberThanks. I’ll work with this info.
March 31, 2014 at 11:04 am #5719grimMemberI may have made some progress this weekend. I started out with more strange behavior, this time my y-axis was shifting, which I haven’t seen before. Program would be running along and then decide it’s new y-position was about +20mm from where it should have been. I was proving out a gcode file in wood prior to attempting in aluminum so I had sped up all the g1 feed rates to 1000 mm/min. This seems to be the cause of the problem. Anything over 250 mm/min causes my machine major grief. I continued to modify the gcode file with slower feed rates until it made it through the entire program. It seems like the slower the feed rate, the longer it takes to see a problem. I’m fairly certain the max feed rate I can achieve is highly dependent on the gcode file, in particular the number of curves in the file. I suspect that if I were making long straight moves, allowing more time between one block to the next, the code would run OK. Just a hunch, but it seems like either the processor or planner can’t keep up when the feeds are higher. Unfortunately I’m at work now and can’t post my settings or code, but I should be able to get them up later today. The good news is I was eventually able to get my part made 🙂
March 31, 2014 at 11:16 am #5720aldenMemberThanks for your patience and perseverance. Yes, the issue is related to speed. We have been working on this issue for a few weeks and made substantial progress over the weekend. I am hoping that we found and fixed the root cause.
For now the revised code is in the dev branch as build 421.01. Once we validate that it works with tgfx we will push to edge. Hopefully that will be some time this week.
At that point we can see how this works across a number of setups.
March 31, 2014 at 12:13 pm #5721sparkcrafterMemberAlden,
Great to hear you may have a fix for this. Can you provide a temporary link to a .hex file for this build so I can test it against my setup?March 31, 2014 at 12:15 pm #5722aldenMemberI’ll put up a dropbox link tonight. Be aware, this is not tested with tgfx yet and may not work. But it should work with coolterm or other low-level comm options.
March 31, 2014 at 9:00 pm #5724aldenMemberHere’s a link to an experimental hex file
https://www.dropbox.com/s/tvz765z7b58kbs6/tinyg_421.06_dev.hexThe default settings are mostly sparkcrafter settings, with the exception of the Z axis (motor 4) pitch which I set for my shapeoko.
It also has fixes for the repeated tn element in the {c:n} readout, and the double axis report, so [zzvm] should go back to [zvm]
It’s not been tested with tgfx, so I do not expect it will work with it (it might). Please realize that this is experimental and don’t beat me up too badly if it doesn’t work!
April 3, 2014 at 11:09 am #5738grimMemberI’ve started doing some testing with the new dev firmware. So far it looks pretty good. I ran a gcode file last night that was heavy with curves at 500 mm/min and didn’t have any issues at all. I’m going to do some more testing with a gcode file that I know was giving me problems before to verify (I’ve run it cutting air and so far it looks OK, but I want to run it in some material to be sure). For reference I’m running a Shapeoko2 with Windows 7, and I sent the file using jcnc with flow set to rts/cts.
Alden-a couple notes/questions:
1. I didn’t try sending a file with tgfx, but it seemed to mostly work with exp build 3009. To jog I had to push the button twice to get movement.
2. $st not working. I couldn’t set my switches to NC.
3. I noticed new power management settings for the motors. Looks like some good stuff, can you provide some definitions for how they function?April 3, 2014 at 11:19 am #5739aldenMemberThanks for the feedback. Points:
– I’ll look into the $st. Probably something dumb I did.
– I have on my list to write up the new pages for the wiki, as there are a small number of new settings and functions available. In the absence of new documentation, hopefully most of this can be gleaned by looking at the text-mode $ dumps. I try to list the options in the text that follows the setting.
-
AuthorPosts
- You must be logged in to reply to this topic.