-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
short probing tests #32
Comments
Quick update thanks for that. Tab Edge finder: MDI input now works too. Center Probing: I touch wood with a touch plate so it would be very useful if the touch plate offset were included. Touch plate thickness 5mm safety height 5mm DRO 7mm. |
Keeping jogging active is something I have to investigate further, e.g. since jogging uses the navigation keys it has to be disabled when any input field is active (has focus/is given focus)... Keyboard jogging is in fact one of the more difficult parts (for me at least) to get working correctly.
I am not a machinist so a bit slow to pick up all the details required for implementing this... |
FYI: the DRO fields are writable and can be used to set the current position manually (by pressing <Enter> after inputting a value. Edit: enter button text was eaten by formatting. |
Yes i never thought about that, right if an input field is active the keyboard jogging must be deactivated.
I honestly have to think about that. In my macro I also scan the surface twice but not in rapid motion ;)
I am aware that you can set the safety distance in the field probing offset, but it seems to me that in center probing the distance is halved, each side 2.5mm instead of 5mm. All related to original settings.
Which explains a lot, of course. ;)
I think you're doing a very good job.
Very good function, I haven't noticed it yet, I will definitely use it more often now. |
Found here a probe-screen for linux cnc written in python but the macros might be helpful for you? |
Good find, the linked blog post contains a lot of useful information. The related linuxcnc discussion is 37(!) pages long - a lot to digest there too. Thanks a lot, very useful - likely the reference we need. And obviously probing is not something completed in a hurry... |
what kind of probe do you want? Maybe I (or we) can make you one as a gift for all of your fine work here! |
@jschoch : Thank you for the offer. My current idea is to integrate one into the prototype ATC on my mini mill so I'll try that first. I expect to get my mini lathe conversion up and running the coming week, Then I will be able to machine the parts I need. And hopefully I will be able to complete spindle sync support (for G33/G76) in grblHAL too. I have too many nearly completed projects on my hand... |
you and me both! It would be fun to collaborate on a probe so let me know if there is anything I can do to help. |
taking this quite a bit off topic but I took a look at your mill and I had some thoughts if you don't mind the feedback. I went down the road of cheap spindles and it was a pretty big waste of time. If your spindle has .1 or .2mm of runout you aren't likely to have much luck milling something small like a 8-Pin TSSOP. I am now running an NSK NR-40 which literally is a dream. It has pneumatic tool changing and it has no vibration while cutting. The only downside is the cost of the collets and getting them with the motors is quite expensive however I was able to pick mine up for $200 on ebay with the collet being $100. This is well worth it in my opinion. Plan B would be for you to make a spindle on your lathe. You can pickup angular contact bearings from aliexpress for quite a reasonable price. They make a huge difference for milling. You can also pick up an er "extension" from aliexpress and hard thread the end (required for adding preload to your bearings). You can then reuse that spindle to drive an o-ring/pulley combination. The downside is that you'd be stuck with ER collet changing which gets old very quickly for frequent tool changes. It looks like you are going to be attempting to capture the collet nut for tool changing, is that what the thingie is center left of the bed? That seems like a very tough engineering challenge but it has been done. If you are only doing very light milling that spindle mount may be ok but I doubt it will work for milling aluminum. I'd suggest you look at nema 23 steppers and running it at 48V (24 at the bare minimum). STSPIN820s can do $45V if you want to stick with a polalau type stepper driver, also TMC2130 can do 46v. Both likely require a better rated capacitor than is typically on most boards if run > 24v. That Z lead screw will also cause you problems with backlash which brings me back to the idea of donating something to you for your efforts. I got super lucky and picked up 8 small ball screws for $80 shipped on ebay a while ago. If you want I can send you one of them for your Z axis. You'd likely have to re-think your Z axis to accommodate it but they make a huge difference in rigidity and accuracy. |
I do not mind. ;-) The mini mill is for drilling PCBs, milling the outline and as a test platform for grblHAL - so for light use. I use my homemade laser exposer to image the tracks and solder mask. No problem with exposing for 0.5mm pitch ICs and 0.15mm tracks. The big brother at our workshop - the first CNC project I did: Hiwin rails (new - the real deal), second hand ballscrews from Korea, THK KR33 actuator for Z-axis second hand from Thailand, Nema 23 for X and Y, DQ542MA stepper drivers and a Kress spindle. Heavy duty enough for my general use - mostly milling aluminium. For this I use Mach 3 with a ethernet SmoothStepper controller, no grbl for that (yet). IIRC I run the motors at 36V. The ATC is a kind of fun project, happy if I get it to work and if not a good challenge. Not shown in the picture is the mechanics for clamping the spindle so I can unscrew/screw the collet nut. I need some small diameter metric screws to finish that, M1.2? Again, thanks for your offer - but I believe it is a waste of good parts upgrading the mini mill beyond the requirements for the intended use... Oh, and the spindle runout is not too bad. I could have used a small ball screw for my lathe X-axis, but I already got a second hand NSK from Korea so too late for that. I appreciate that users of my code takes time to test and give feedback, that is giving back good enough for me. |
back on topic, while I had good luck this morning and milled out a double sided board without much drama, tonight I tried to probe Z and auto level and several times the G92 tool height setting operation set my Z height to 192 mm. It was impressive to watch my v cutter plunge through FR4 and into the MDF below without breaking, but I don't think that is good for my machine. I caught another crash, not sure if it was the tool height or the auto leveling that threw it off. I think it would be good to have the DRO screen visible while in the probing tab while the kinks are worked out. |
New release up, refactoring inspired by the LinuxCNC probing plugin. Still work on todo list though. |
Refers to Alpha 19. Outside diameter probing: But what I noticed with the outside diameter probing it would be an advantage if the probing would take a little distance after the second exact probing before the z axis moves up. For this you could use e.g. the latch distance. Corner probing: Is it really wanted that the z axis after the probing again on Z0 on the corner drives? I do not find it very advantageous. Further tests will follow. :) |
Thanks for the feedback.
I have to check my code again, it should move XY clearance distance.
Lazy coding by me? By subtracting the deceleration distance it could be avoided, but then I need to get the current point from a status report to be able to set the offset precisely. The easy way out was to move to the probed point using G53 before setting the offset. From LinuxCNC documentation (I added the bold):
and
Note that the probing motion decelerates to a stop after triggering the probe, e.g. probing with a tool is thus not a good idea? |
Okay, now I understand your approach. It's legitimate for you to take the best part. Personally, I don't think that the restarting of Z0 is so good. One more small note about G92, please use the command with care. It does not just move one coordinate system. I personally prefer to use G10 P20 P0 XYZA... to zero the axis in the current coordinate system. As can be seen in my macro above.
Probing with a tool is not a good idea, but it's much faster and with wood that I work on very often it doesn't really matter. |
I have added some new tool change modes to grblHAL that may be relevant to this discussion as some can use probing/tool length offset. Comment at this issue if of interest. |
Today I had found some time to test the new Edge version (GCode Sender) of the revised Edge Finder External Tab extensively. |
Thanks again for testing, very much appreciated. I hope we are getting closer to a usable system now.
This is no longer possible, I now disable the Z-probe checkbox when the x-probe graphics is clicked. I have also added interlocks for the fields on the left hand side, this means that the only the fields used for the selected probing action will be enabled for input. This will make it clearer which values are actually used. Later I will add some configuration options for probing in the Settings: App tab such as XY offsets if the probe is not in the center of the spindle. The Edge version has been updated with these changes. |
Today the Edge Finder was once internal and the Edge Finder external under strict observation. ;) The process of all corner and side scans is excellent. However, there are problems with the z-sample. I also noticed that the entries in XY Clearance are not correct later in the process. For example if you enter 5mm the sample is only 2mm or if you enter 6mm the sample is only 3mm ...... away from the edge. |
New edge version just uploaded.
I believe this is fixed now.
I have added preview as suggested by @jschoch earlier but in a less intrusive way. Can you check the code generated with preview enabled when this happens? Note that the preview lists the moves as relative to where the tool is placed and that the wrap up after XY probing is currently not added to the preview. Again, I appreciate the time you spend testing! |
I have to report that I get the craziest messages and movements with the new version when I touch the corner and/or plus z-probe.
As I can see from the preview window you do not take into account the diameter of the probe. Wouldn't it be better to include it in the XY clearance? Because if I have a diameter of 12mm and a clearance of 6mm the probe would not be offset from the touch surface. Hope you understand what I mean. Note the third line in the preview window diameter 1mm and diameter 12mm the line is the same. What i think is wrong. The z-probing is not shown in the preview window even though it is activated and was sometimes executed even though it was not visible in the window? |
I am sorry for causing this, a single line of code is creating havoc. I will also add 0.5 x probe diameter to XY clearance in the next upload, I have to admit I did not consider that myself but it does make sense. Z probing is a bit tricky to get into the preview window from the real code as bits of that needs probing positions and is waiting for the machine to come to rest at commanded positions during execution. I will add "dummy" code later to show which commands are issued. BTW, waiting for "come to rest at commanded positions" could be the reason for probing sometimes hanging - currently I wait for a delta of max 3 micrometers, this should be increased, made configurable or handled in some other way if the condition is never met. Perhaps even terminating the probing sequence with an error. The next version of grblHAL will have an option to enable simple probe protection. By no means perfect but better than nothing. It works by cancelling movement if the probe is triggered when a non-probe move is executed. Cancelling is executed by the sender and may thus be delayed a bit. A faster and safer protection scheme is on my todo list. This will be added to the grblHAL but is harder to get right. |
I saw this morning that you uploaded a new edge version at 00.10am. Tell me, do you never sleep? ;) Unfortunately I am still unable to do further tests because I always get a probing faild. If I set the speed very slowly the probing sometimes runs until the latch through but then breaks off.
This is probably a bit too sharp for my machine because I always get the probing error messages?
This is a big step forward to make the machine really safe, I am excited. |
I do now and then, but hard to go to sleep when working on a problem or exiting new idea.
Oops, I left the new probe protection snippet in place, it should only be enabled if enabled in the controller. I have changed the "come to rest at commanded positions" handling as well. It is terminated with failure:
It could still hang but I believe that is unlikely. Testing, testing... Hmm, could be that "within two steps of the target" should be complemented with an absolute check for within some few micrometers. Rounding errors and high number of steps per mm could cause the "within two steps of the target" to fail. |
I have just come off the machine and can only report positive news. The probing works again as it should and half diameter is implemented, as written above. 👍 I also saw that you set a logical relation between the probing distance and XY Clearance. Hopefully tomorrow I will find the time to continue testing, and I will also try to get Gremlin out again. ;) |
Great, hopefully we are getting closer to a fully functional version now.
Maybe I forgot, maybe I did not think about it... Anyway added now but with no arbritary distance added in. Impossible to make probing bomb proof for inexperienced users, some understanding is required.... New edge build uploaded. |
As announced I tested the Edge finder, external/ internal and the centre finder extensively today. But I have to think about this message in the Edge finder external, do you think the statement is not quite correct? Couldn't have said it better: The offset minus half the diameter of the Probe tip/tool is smaller than the XY clearance, use Offset and.....? Unfortunately I also have to report that the G-Code Sender has crashed once. The controller was still there, but after restarting the G-Code Sender it could be addressed normally. The only thing that was strange in the DRO display of the 4th axis was that there were no more numbers to be seen. Here is the event log of the error, maybe you can read something out. But it only happened once during a nearly two hours long probing test. The following Probing went without any problems and went through correctly. |
I also took a look at the height map today. I know it from Open CNC Pilot. |
if you set the latch distance to 0 it will only probe once. There is no sampling, the signal is on or off from the controller's perspective. |
I have looked into this now, the crash happened in code that runs often when probing so a real Gremlin... Currently I do not know how to track this down or fix it. |
I should have thought of that myself. :-) Thanks jschoch
And I thought you had found and changed something, because I haven't had a single crash of the programme since. |
Hello terjeio,
today i did some short probing tests and would like to tell you the results.
First of all I would like to suggest that you can jogging in the probing tab, would be very helpful in my opinion.
Now to my first probing tests: ;)
For all attempts no milling program was loaded and the basic settings were unchanged except the cutter diameter was 6mm.
Corner probing without z works without errors.
Z probing, the process is okay so far, milling cutter moves to the set height (5mm) is unfortunately not displayed in the dro.
Corner probing with z is the same, wrong dro display.
Think there is a mistake in z probing somewhere.
Entry in mdi is only possible once, e.g. G0 X2 Y2, the second entry, e.g. G0 X0 Y0 is no longer accepted.
Think the probing Tab is a very nice helper. +1:
Will continue the tests and report.
Cheers Stefan
The text was updated successfully, but these errors were encountered: