Hello Guest it is July 18, 2019, 07:48:38 AM

Author Topic: Everything I learned about setting up a 4th axis, problem solved, ** final cut  (Read 10271 times)

0 Members and 1 Guest are viewing this topic.

Offline docltf

*
  •  353 353
    • View Profile
rustyolddog

the I parameter is associated with the X axis and the J parameter is associated with the Y axis.they are not associated with A B or C  axis even if you check the box use as linear.
now you can move them around on differant planes XY  XZ  YZ but not with ABC.

you can take a linear program and wrap it around a cylinder without super software by creating a new setup profile.
when you log onto mach do the create a new profile.
go to ports and pins and move your A axis setup to Y. then move your Y axis to A.
set your A axis to linear so you can jog it around.
set your Y axis steps to get what you want.
now you can carve around a cylinder without having a code with A in it.

bill
rustyolddog

the I parameter is associated with the X axis and the J parameter is associated with the Y axis.they are not associated with A B or C axis even if you check the box use as linear.
now you can move them around on differant planes XY XZ YZ but not with ABC.

you can take a linear program and wrap it around a cylinder without super software by creating a new setup profile.
when you log onto mach do the create a new profile.
go to ports and pins and move your A axis setup to Y. then move your Y axis to A.
set your A axis to linear so you can jog it around.
set your Y axis steps to get what you want.
now you can carve around a cylinder without having a code with A in it.

bill

Doh!!! Thanks Bill for pointing that out, it's so obvious & simple! Why didn't I think of it?!
Hi:

 You have it right. You cannot do arcs other than in the XY plane, XZ plane or YZ plane. There is no conceptual plane for
a rotary axis. The checkbox for linear/angualr only tells an axis not to convert when switching from mm to inch, other than that it
has no purpose. A, B and C are always rotary axis.. So using an IJ with an A axis is an error in syntax, though still legal, the missing Y in this
case woudl simply be interpreted as the current Y location, and the A would just be a linearised motion on that axis during the movement of the XY
in the XY plane arc.

Art


Thanks for clearing that up Art!
Hey Bill, thanks again for the tip. I created a new configuration, changed the port setting, motor tuning & backlash settings and it works absolutely great!.

In a nutshell for others who might be trying to accomplish the same thing:

I configured the output ports so that the controller output for the 4th axis stepper was on the Y axis port.

I changed the motor tuning on the Y axis to match my 4th axis, changed the Units per my previous post.

I configured the output ports so that the controller output for the Y axis stepper was on the A axis port.

I changed the motor tuning on the A axis to match my Y axis, changed the Units to match the Y axis setting used in the conventional mill mode.

Unticked the A axis Angular setting

Changed the Hotkeys so that they worked as in Conventional mill mode U/D arrow keys controlled the remapped A axis (Y axis), and my Home/End keys control the Y (A rotary axis) this prevents any jogging crashes when going from Conventional and Rotary Mach configurations.

Changed the Motor Reversals as required for the proper direction.

Created a new Profile & Shortcut Key for Rotary Configuration.

Now, no matter what I do in my CAD/CAM software the posted code needs no changes, I can perform the operations in either the Flat 2.5D environment or the rotary environment by simply selecting the Appropriate start up  Icon. All my posted code remains the same. The only other setting I have to change is the Units setting & backlash  for the diameter of the part I am working with.  

 ;D :D ;D :D ;D Pure Mach Nirvana!!!!!!! :D ;D :D ;D :D
« Last Edit: December 29, 2007, 02:48:04 PM by rustyolddog »
Here's and edited and corrected version in case someone wants to print for their notes:



I've spent a good bit of time perfecting my 4th axis and I thought I'd share what I learned with others here.

Under normal circumstances, the 4th or 'A' axis is angular and the moves are called out in degrees. If you have a CAD/CAM software that supports a 4th axis, you are in good shape. If all you have is a 2.5D CAD/CAM, then things can be a bit more challenging.

First, lets address the 4th axis mechanics. My and most other 4th axis 'conversions' involve adding a stepper motor to a rotary table. Simple enough. In my case my rotary table was a 1:72 ratio. 72 turns of the worm results in one 360 degree rotation of the table.

My stepper motor is a 200 step per revolution (1.8 deg) per step (360 deg/200 steps=1.8deg/step) My controller runs 1/8 micro step mode so it takes 1600 step pulses (8*200) to make a complete 360 degree motor rotation.

72 motor rotations makes one rotation of the rotary table so 1600*72 means 115,200 steps for one rotation of the rotary table.

If we divide 360 degrees by 115200, we get .003125 degrees per step.

Alternately, we can calculate the number of degrees required to move a linear distance around the circumference of a part.

For example: We have a part that is 1.5” in diameter. 1.5* Pi (3.1415) gives us a circumference of 4.7123” If we divide 4.7123 by 360 we get .01309 inches of  linear movement per degree.

If we want to move a linear distance of 1.125” on our 1.5” diameter (4.7123" cir) part, we divide 1.125” by .01309 in/deg and get 85.94 degrees of movement required to move 1.125” linear on the 1.5” diameter part.

Thus, we can create a correction factor or scaling factor for our 4th axis by dividing the circumference of the part by 360, and manually coding the linear distance for the ‘A’ axis move.

Alternately, if your CAD/CAM software has a scaling feature, you can create a scaling correction factor. You would create your part in standard 2.5D with X & Y moves with Y typically being the axis to be converted to ‘A’.  You take the circumference and divide it by 360 then take the inverse of that value (1/x) and that becomes your scaling correction factor.

Using the previous example: 1.5”* 3.1415= 4.7123”
4.7123”/360=.01309
1 divided by 0.01309=76.397 scaling correction factor

Therefore, you would scale your ‘Y’ axis by a factor of 76.397 to get the equivalent linear move on the ‘A’ axis. Once you post the scaled code, you would do a simple search & replace substituting ‘A’ for ‘Y’ in your text editor. The end result  X, Y, back plot & drawing will look strange because the Y axis will be substantially elongated. But it will be correct as far as the computer is concerned.

While it does work, this later method has an inherent problem. The feed rate will be significantly slower than the desired or specified feed rate. And IJ Moves will not work as they are functions of the X & Y axis, they are not recognized in an A move.

As a result, I had to search for a better method. Thus part 2.

Using the same math:
72:1 ratio, 1600 steps per rev of the motor, 115200 steps for 360 rotary table movement .

In Mach2 (my version), we can take the total number of steps for 360 deg. Table rotation and divide it by the circumference to determine the number of steps per inch of movement. Again using the previous example:

1.5” diameter*3.1415=4.7123”
115200/4.7123=24447 steps per inch of linear movement.

Calculating for the diameter of the part, we take the solution and use it in the ‘Steps per Unit’ setting for the Rotary axis in the motor tuning menu. We do this for each different diameter of part that we have machine. For a 1.5” diameter, we enter 24447 for our steps per unit.

Thus, by doing so we do NOT have to scale our ‘Y’ axis by a calculated scaling correction factor. Our back plot & drawing appears normally. The beauty of it is the specified feed functions correctly. 

Now, in order for the IJ moves to work correctly on our rotary axis, we have to substitute the Rotary axis for the Y axis (or X if you desire), then remap the Y axis to the A axis. It’s a lot simpler than it sounds.

First I created a new profile called rotary and cloned the Mach2mill profile. This retains all your setting currently in use.

I configured the output ports so that the controller output for the 4th axis stepper was on the Y axis port. Just swap the output pin numbers in the port menu between Y and A.

I swapped the motor tuning data between the Y axis & 4th axis, changed the steps per units as noted above for the diameter I’m working with.

Unticked the A axis Angular setting

Changed the Hotkeys so that they worked as in Conventional mill mode U/D arrow keys controlled the remapped A axis (now the Y axis), and my Home/End keys that control the Y (now A rotary axis) This prevents any jogging crashes when going from Conventional and Rotary Mach configurations since the jog keys will move the same axis regardless of the configuration (Mill or Rotary) selected.

Changed the Motor Reversals as required for the proper directions.

Created a new Shortcut Key for the Rotary profile Configuration, I used the lathe icon to prevent a mistake.

Now, no matter what I do in my CAD/CAM software the posted code needs no changes, I can perform the operations in either the Flat 2.5D environment or the rotary environment by simply selecting the appropriate start up icon. All my posted code remains the same. The tool path display functions normally. The rotary mode tool path looks just like a 2.5D tool path. 

The only setting I have to change for a job is the Steps per Unit setting per the math/diameter discussion & the backlash setting for the diameter of the part I am working with. 

Hope this little exercise is of some help to others.

Offline Chaoticone

*
  • *
  •  5,524 5,524
  • Precision Chaos
    • View Profile
Thanks for shareing that with us Rustyolddog, that is very nice. I have't got to read it all but will next week. The gifts that members give such as this and the curtosy they share is the main reason this forum is so great.

 :) Thanks,
Brett
;D If you could see the things I have in my head, you would be laughing too. ;D

My guard dog is not what you need to worry about!

Offline Bodini

*
  •  216 216
    • View Profile
d00d,

it pained me to see you do all that math and motor tuning and what not.  so i threw up a thing on a screenset to do all that.  forgive me for any crudeness to it, it was a 10 minute task, and I used the screen that use most too.

anywho, if you load the screenset attached, you will see some dros on the program run screen:

Diameter: [put your desired dia here, you had "1.5"] (dro 1500)
Rot Step: [put your rotary steps here, you had "115200"] (dro 1501)
Y2A: [this is calulated to what you called "steps per inch of linear movment"] (dro 1502)
Calculate button (script on button for portability sake)

So enter your dia, the rotary steps, and press Calc.

this calcs the steps per inch of linear movement as shown in the Y2A dro.  now go to your motor tuning and see that by pressing the Calc, it also SET the motor tuning of the Y counts to that value.

So there you have it, no more calcumalation or motor tuning BS.

-nick
d00d,

it pained me to see you do all that math and motor tuning and what not. so i threw up a thing on a screenset to do all that. forgive me for any crudeness to it, it was a 10 minute task, and I used the screen that use most too.

anywho, if you load the screenset attached, you will see some dros on the program run screen:

Diameter: [put your desired dia here, you had "1.5"] (dro 1500)
Rot Step: [put your rotary steps here, you had "115200"] (dro 1501)
Y2A: [this is calulated to what you called "steps per inch of linear movment"] (dro 1502)
Calculate button (script on button for portability sake)

So enter your dia, the rotary steps, and press Calc.

this calcs the steps per inch of linear movement as shown in the Y2A dro. now go to your motor tuning and see that by pressing the Calc, it also SET the motor tuning of the Y counts to that value.

So there you have it, no more calcumalation or motor tuning BS.

-nick

Thanks Nick, I'll give it a try. Just got a new machine to run Mach 3.