PDA

View Full Version : Program for custom zero and home made touch off point



Justin G
12-20-2014, 10:39 PM
What I would like to do:

Run a custom program that sends my machine to a location of my choosing to allow a manual bit change within arms reach. Then moves to a "touch off" point where it runs the c2/"custom zero the Z off of a plate command" automatically. Then jogs to home. Doing that with prompts in between the bit change so I have as much time as I would like to switch out the bit before sending it to the zero location.

What I need help with:

I know how to make a basic program to move the machine around, and certain commands. I do not however know how to build in prompts/ pauses, etc.

I also do not have an off the table zero plate or know how to wire it once I build one. I need one off the table for sheet goods. I realize I could zero before placing the sheet down but I do not want to be limited to that every time I forget. Which is every time. I would also like to retain use of my zero plate for normal zeros off material in some instances.


I'm sure this is possible, but what do I need as far as hardware/ programming?

I guess I could cut a segment of the plate off to make a separate zero jig elsewhere.

any help would be awesome. thank you everyone.

Justin G
12-20-2014, 10:42 PM
I feel I should also note that I often cut several projects of varying thicknesses at the same time, which occupy different zones on the table. Jumping up on the table to find a spot to run the c2 command and taking a ceiling fan blade to the side of the head is getting old.

srwtlc
12-21-2014, 12:31 AM
Justin,

You can use the same file that is called up with C2 and hard code the changes as far as positions for zeroing and then set it up as a different Custom Cut # (one that is not currently being used). The file that is used for C2 is Zzero.sbp in the C:\SBparts folder. If you open this in an editor (SBEdit, notepad, etc.) you can read through the code and follow along as to what it is doing and where you could set locations and place prompts. You can see how pauses and messages are handled for prompts also. The programming handbook is also a great reference for all the various programming statements etc. You can find that under the help menu.

Some guys have mounted a brass rod somewhere off the edge of the table for a zeroing fixture and this either gets machined off when surfacing the table or adjusted to match after each surfacing. This would be wired into the same input as the factory zero plate. Maybe someone that has one or something similar will chime in on it.

If you need some extra help, just ask.

Justin G
12-21-2014, 12:47 AM
Justin,

You can use the same file that is called up with C2 and hard code the changes as far as positions for zeroing and then set it up as a different Custom Cut # (one that is not currently being used). The file that is used for C2 is Zzero.sbp in the C:\SBparts folder. If you open this in an editor (SBEdit, notepad, etc.) you can read through the code and follow along as to what it is doing and where you could set locations and place prompts. You can see how pauses and messages are handled for prompts also. The programming handbook is also a great reference for all the various programming statements etc. You can find that under the help menu.

Some guys have mounted a brass rod somewhere off the edge of the table for a zeroing fixture and this either gets machined off when surfacing the table or adjusted to match after each surfacing. This would be wired into the same input as the factory zero plate. Maybe someone that has one or something similar will chime in on it.

If you need some extra help, just ask.
Scott, you're just using my questions as target practice at this point. Awesome.

After I posted this question, I pulled out that binder that came with my shopbot, having taught myself (I am sure like most guys in here) there is a lot I never even think to do. I was reading the programming handbook when your response came through.

All of it totally makes sense. I am excited to program this stuff in....
HOWEVER now that I know how to knock the code out, how do I make an off table zero plate thing? and how do I wire it? I am sure if I think through this long enough I'll figure out how to run a wire from the control box and mount it to the spindle with maybe a magnet or something. So the wire would be semi-permanently mounted and I could confidently run my zero routine without fear of it falling off. The other wire would just be ground correct and maybe I could use a bolt like I have seen a couple other folks talking about?

Are there any threads already on here with a how to/ pictures for that kind of set up? I saw some stuff about changing the thickness of the zero plate in the programming. so I could level the bolt with the table bed and have an accurate zero. hmmmmm

Also just for general situational awareness. I leave my zero plate alligator clip, clipped to my z rail and only fuss with the plate when zeroing. I stopped clipping the clip to the collet because the dust foot is always in the way.

Justin G
12-21-2014, 12:50 AM
I always check the connection continuity before actually running the zeroing routine by just tapping the zero plate to the bit and seeing if output light 1, lights up on my computer screen. I have not noticed any discernible difference in thickness between clipping the alligator clip to the top of my z rail vs the collet. If there is a difference, its universal to all of my cuts and therefore a non-issue. I think.

srwtlc
12-21-2014, 11:11 AM
Justin, there are many ways to 'Skin the cat', as you'll see with the programming and from botter to botter.

Since you have a spindle, you don't really need to use the alligator clip. It's mainly for those using a router (possibly if you have ceramic bearings in a spindle too).

For the off table fixture, Adrian posted a pic of his in one of the other threads and here's another type (http://www.talkshopbot.com/forum/showthread.php?t=602). Adrian's can be adjusted as the table is surfaced over time and the other one, the plate is removed and then the block is surfaced with the table. One uses 0.0 for the thickness and the other uses the thickness of the plate just the same as the factory plate does. It needs to be insulated from ground and the one wire goes into the control box and is connected to the same place (input #1) as the factory plate.

You can make the file simple and just run it as a separate custom cut from the 'Cuts' menu or you could integrate it into the C2 one and have it ask you what you want to do, table fixture or factory hand held plate. If you set it up in ShopBot setup, you'll be locked into one or the other for location. If you don't mind answering prompts each time, you can make a merged file. If you want to just run one or the other, make them separate.

As for test tapping the plate to see if input 1 lights up (with factory plate), you can also make the program ask you to tap the plate and if it doesn't work, it will not continue.

scottp55
12-21-2014, 12:21 PM
"you can also make the program ask you to tap the plate and if it doesn't work, it will not continue."

Scott, How do you do that one? Can you point me to a thread or info?
Thanks,
scott

scottp55
12-21-2014, 12:23 PM
Oh, and can it be easily over ridden?

srwtlc
12-21-2014, 12:31 PM
Scott, when I get back in the shop tomorrow I'll look for the file I had that I was playing with and then lost due to an update and overwrite that I didn't catch.

scottp55
12-21-2014, 01:45 PM
No Biggie Scott! I Always(Almost:) ) Tap. Just thinking when Kirk trains a second operator, it would be nice to have.
Enjoy your Holidays:)
scott

srwtlc
12-22-2014, 01:23 PM
Scott,

Here's a modification of the zzero.sbp file that will ask if you want to test for continuity or continue without testing. You can try it by running it just like any other file.

A simpler version would just require you to tap the plate to the tool to continue instead of answering more propmts.

If you need more time to do the test, there's a place commented in the file where you can add more counts to the test loop.

Give it a whirl.

scottp55
12-22-2014, 02:35 PM
Thanks Scott, Much appreciated!!
Merry Merry Christmas:)
scott

Justin G
12-22-2014, 04:52 PM
Off table zero plate and custom zeroing routine completed.

So it took me about a day, but I now apparently know how to program the shopbot. I modified the Zzero routine like you mentioned Scott, added prompts using the PAUSE function where I needed them, along with basic J3 commands to get the tool to where I needed to do my business.

Photos are attached of my home-built zeroing plate. the collet wrench is shown for size comparison.

I pretty much built a small verson of my table bed with plywood & MDF. it is placed on the upper (for me) side of the table where the YZ car can travel all the way until it touches the X car. I held it onto the rail on the bot by making the holes of the plywood line up so that the edges of the bolts going through the holes rub the rail on the shop bot on either side, then I used washers as a "lip" and tightened everything down. seems to hold great and there are no new holes in my bot. see picture taken from underside of machine to clarify that ridiculous explanation. I plan on removing the plate with the four screws and surface my entire table bed when need be, then just put the plate back in. I did not mess around with trying to adjust the thickness of the plate or anything like that, so it is pretty straight forward from a programming standpoint.

I cut 2.5" off of my zero plate and used that for my new plate. I drilled holes on my drill press and counter sunk the BACK of those holes to remove the burs and make sure the plate was not any thicker than it should be. I did that so I would not have to sand or file and take a risk of changing the shape of the aluminum.

Then I ran some extra prox wire I have had laying around from one of the screws I used on the new plate to the control box.

I wired that wire directly into input 1 where the black wire goes in from my normal plate. the alligator clip is now attached to ground permanantly, as scott mentioned I do not need to deal with that alligator clip having a spindle because I think that the other wire on the zero plate is actually just ground.

then I added my custom zero file to the custom cuts as C9 and everything works GREAT so far.

One thing I did learn that may be worth noting to anyone interested in doing something similar but that does not have the patience to figure out programming. In the my variable file, there is a section where you can assign X/Y values to your zero location. Then when you run your c2, it checks for these locations and will go there every time you run it. I could see this being a pain if you change your zeroing strategy from table bed to material often. I think a work around for that may be to save your custom zero routine as something other than the regular c2 function, and remove that variable check from the original c2 file. This would give you the flexibility to zero from a place of your choosing, or your assigned X/Y values.

This above method would not work for me because I wanted prompts and as little work as possible (pressing c9 instead of moving to a memorized locations, changing, then running routine).

No clue if all of that makes sense, if anyone is curious about this stuff please feel free to ask or if you want my file, I would be happy to upload it.

Thank you guys for all of your help.

srwtlc
12-22-2014, 05:36 PM
Good job Justin, and kudos for taking/finding information, learning, and applying it!

As you say, if you set the location variables in the my_variables.sbc file, the z zero routine (C2) will always go there. The following code can be placed at the commented line to allow you to choose which way you want to z zero. You could also set those locations here instead of in the my_variables file.

Be sure to back up any custom files you make, as an update may overwrite them.

'Check to see if we should move to a table zeroing location

MSGBOX(Z ZERO AT TABLE ZERO PLATE? ,35,Zeroing Location)
'35 makes YES the default button
'291 makes NO the default button
'547 makes CANCEL the default button
IF &msganswer = Cancel THEN ENDALL
IF &msganswer = YES THEN GOSUB STARTMOVE