Hello,
This last summer I started upgrading my custom CNC router to 5 axis. I went the way of GimbleCB head. Related information here:
https://dynomotion.com/forum/viewtopic. ... ebe98d7c96
http://forums.thehomefoundry.org/index. ... 777/page-2
I was still getting too much bearing play through a weak design and the wiring situation gave me nightmares. Also took out a KFLOP board via a voltage spike! So I have decided to go to tilting B axis in the head and a C axis rotary table built into the table. This way I can have a continuous C axis and most to all of the cables can be statically placed. Will look like this.
My question is if there is a kinematics file out there already for something like this? Or could I modify the existing TableAGimbleB?.. As in change out the variable names/etc to make a new class for the C axis instead of A axis following these guidelines:
https://www.dynomotion.com/wiki/index.php/Kinematics
Is it this simple or am I missing some critical math? The involved .cpp and .h files seem to do the math for all 6 axis regardless. I could be missing a lot. Still learning. Thanks for the help in advance!
-Batty
Gimbal B Table C Kinematics Class
Moderators: TomKerekes, dynomotion
- TomKerekes
- Posts: 2679
- Joined: Mon Dec 04, 2017 1:49 am
Re: Gimbal B Table C Kinematics Class
Hi Batty,
I think you are correct. It should be a relatively simple change to change the CKinematicsTableAGimbleB class to a CKinematicsTableCGimbleB class.
I believe change:
to
HTH
I think you are correct. It should be a relatively simple change to change the CKinematicsTableAGimbleB class to a CKinematicsTableCGimbleB class.
I believe change:
Code: Select all
//Perform A rotation to obtain (Xa, Ya, Za)
Rotate3(0, 0, 0, Xt, Yt, Zt, a, 0, 0, &Xa, &Ya, &Za);
Code: Select all
//Perform C rotation to obtain (Xc, Yc, Zc)
Rotate3(0, 0, 0, Xt, Yt, Zt, 0, 0, c, &Xc, &Yc, &Zc);
Regards,
Tom Kerekes
Dynomotion, Inc.
Tom Kerekes
Dynomotion, Inc.
Re: Gimbal B Table C Kinematics Class
This is what a guy really likes to hear! I will get to this and replay back. My new board shows up this week.
Thanks for the quick response, Tom.
TSRH
(this should really help)
-Batty
Thanks for the quick response, Tom.
TSRH
(this should really help)
-Batty
Re: Gimbal B Table C Kinematics Class
Copied and renamed the TableAGimbleB .cpp and .h files in their root directory to TableCGimbleB. Did a replace all for changing the variable names over in the respective .cpp and .h files. Added the class in CoordinateMotion.ccp and STAfx.h. Made the changes in the code as Tom illustrated. Was able to successfully build the solution!
Now I just need to cast and machine the needed parts and we will be off to testing!
Does anybody know of a good Table C Gimbal B post-processor while I am at it?
Thanks for the help Tom,
-Batty
Now I just need to cast and machine the needed parts and we will be off to testing!
Does anybody know of a good Table C Gimbal B post-processor while I am at it?
Thanks for the help Tom,
-Batty
Re: Gimbal B Table C Kinematics Class
Just an FYI to others who may be reading this.
Code has been put in so that if there is a line in the Kinematics.txt about pivot-to-chuck length it will update the corresponding variable. This will be very handy in getting the system set up or whenever the spindle has to be remounted!
Correct me if I am wrong.
-Batty
Code has been put in so that if there is a line in the Kinematics.txt about pivot-to-chuck length it will update the corresponding variable. This will be very handy in getting the system set up or whenever the spindle has to be remounted!
Correct me if I am wrong.
-Batty
- TomKerekes
- Posts: 2679
- Joined: Mon Dec 04, 2017 1:49 am
Re: Gimbal B Table C Kinematics Class
Hi Batty,
I don't. But its not clear to me why you need one. The idea behind the kinematics is that the GCode only needs to specify how to move the tool tip through space, and what angles the tool should be at. How that is achieved should be transparent to the CAD and GCode. There might be some side effects I'm not aware of with regard to limits or efficiency or something.Does anybody know of a good Table C Gimbal B post-processor while I am at it?
I think you are correct.Code has been put in so that if there is a line in the Kinematics.txt about pivot-to-chuck length it will update the corresponding variable. This will be very handy in getting the system set up or whenever the spindle has to be remounted!
Correct me if I am wrong.
Regards,
Tom Kerekes
Dynomotion, Inc.
Tom Kerekes
Dynomotion, Inc.
Re: Gimbal B Table C Kinematics Class
You are totally right. I was way overthinking this. Can't believe I didn't catch this. The only caveat would be an "unwind the head" feature for limited rotation heads. A guy could always right an unwind C program I bet! So really just might need the orginal rs274 post or something real close and simple. That is reassuring.Does anybody know of a good Table C Gimbal B post-processor while I am at it? I don't. But its not clear to me why you need one. The idea behind the kinematics is that the GCode only needs to specify how to move the tool tip through space, and what angles the tool should be at. How that is achieved should be transparent to the CAD and GCode. There might be some side effects I'm not aware of with regard to limits or efficiency or something.
The castings/parts are slowly coming along. Getting back in gear on this.
Thanks for the help!