CNC tube bender based on linuxcnc ideas

More
09 Nov 2016 15:15 #82609 by ronaldinho07
First,i am new to linuxcnc,but i am understand how my machine actually work.So i have a lot of dumb question.You guys please help me,if my question were a general question or have been documented,please give me a link to that.SO i can read and understand it
Thank you

I own a CNC tube bender based on FANUC O series control.But its only capable of one side bending ( Left bending).So i think i can build a prototype CNC bender which is based on Linuxcnc.

My machine will include something like this:

1.Mandrel :forward and backward .Using hydraulic
2.Clamping die:Open and close.Using hydraulic
3.Pressure die :Open and close.Using hydraulic
4.Collet chuck for tilting tubing :Open and close.Using hydraulic
5.Feed motor: feeding tube before bending operation.Using step motor via reducer.
6.Tilting motor:___________________________________________
7.Bending motor:____________________________________________________


My machine will work like this:

1.There is a home position.
X-for feeding axis
Y-for tilting axis
Z-for bending axis

Clamp die/pressure die/collet must be open before Home button is pressed
About homing i am going to use proximity sensor.
1st question here
On my fanuc OM mill,when returning home,axis will rapid until it hits refference dog (ON),axis will go slowly,then after reference dog signal is off,it will counting for 1 full revolution encoder,and completely stopping.This is home
Is linuxcnc capable to do this.And how to do it ?


When homing was executed,bending operation can be made.
But 2 question is here:

Machine will use a 'Bending data" to operate
EX:

Bending angle Feed lenght Tilting
45 100 35
120 200 -15

Bending/Feeding and tilting motor will take data from this table.My friend said he can do this when programming with micro processor.but in linuxcnc i don't know how.


Example from the above table
Bending motor will rotate 45* (ex: reducer 1:100,motor has 1000 step per rev, 45* ~ 12500 step...for bending motor)
So,my question is:
how to do this in linuxcnc,any macro that supports reading file,define parameter for each type of bending/feeding/tilting motor ?



After homing,
tube was inserted into collet
1.Clamp die is closed
2.Pressure die is closed
3.Mandrel is forwarded
4.Bending motor will look for 1st value in bending data (bending angel column) and executing it.Meanwhile,pressure die will slide forward at speed as same as bending speed (using expenson valve to control speed of pressure die).Feeding motor will look for second value and move backward.Example,200mm in the above.

after 1st bending was finished

5.Mandrel is backwarded
6.Collet is closed
7.Pressure die,clamp die is opened.
8.Bending motor returns to home position.Ready for next bend
9.Feeding motor move 200mm forward
10.Tilting motor turn...

And continue..

i want my machine is capableof right bending so it needs to have second home position
How do i set up 2nd reference home in linuxcnc ?



If there were no way to operate that using a bending data table,is there any other method to do this
Some of my general question.hoping you guys can help me

Sorry for my bad writting,english is not my first language

Please Log in or Create an account to join the conversation.

More
09 Nov 2016 17:09 #82619 by andypugh

1.There is a home position.
X-for feeding axis
Y-for tilting axis
Z-for bending axis


It might be more sensible to use Z, A and C for the axes.

On my fanuc OM mill,when returning home,axis will rapid until it hits refference dog (ON),axis will go slowly,then after reference dog signal is off,it will counting for 1 full revolution encoder,and completely stopping.This is home
Is linuxcnc capable to do this.And how to do it ?


This is an INI file option HOME_USE_INDEX linuxcnc.org/docs/2.7/html/config/ini-ho...homing-configuration

Bending/Feeding and tilting motor will take data from this table.My friend said he can do this when programming with micro processor.but in linuxcnc i don't know how.


You might want to look at using a Python (or C, or C++, but Python is easier) program that reads this style of input data and sends commands directly to the axes.
LinuxCNC does have the option to use interpreters other than G-code (there is an example in the sample configs, "canterp") but that might be over-kill for this machine.
Alternatively, an input filter file could convert your table to G-code, then you would execute the G-code.

It shouldn't be _too_ hard to build a GUI with Glade that consists of a table that can be edited by hand and then outputs MDI commands to make the parts.

This: linuxcnc.org/docs/2.7/html/gui/gladevcp.html
combined with this: linuxcnc.org/docs/2.7/html/config/python-interface.html

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 05:40 #82636 by ronaldinho07

Alternatively, an input filter file could convert your table to G-code, then you would execute the G-code.


i used to have this idea but its still so vague
example:
tube length is 2000mm,Z axis for feeding as you said
origin of machine is located at origin of bending die.
after tube was inserted into collet,collet closed.
Program scans the table,it sees Tube length data is [value=2000]=>it will convert that data to => G0 Z-[value=2000].;
Centerline radius is 100

Bending angle =[value=45] =>arc length ~ 78.5mm
=>G01 Z-[2*pi*CLR / 360 * bending angle]. A[value=xxx].F[value=yyy].;
=>G01 Z-78.5 A[xxx].F[yyyy].;

Sorry but i have a dump question here:

if axis were linear,i could calculate how much axis needs to move
but with rotation axis,how do i calculate it ?
full rotation = 360,i need to use encoder to divive it from zero to 360,right ?
after first bending angle was made
=> G28 A0.

Is my above idea possible? thank you

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 11:00 #82644 by ronaldinho07
can i use M62-M65 to control hydraulic on/off during movement of bending axis?
example
G01 Z-30 Y-100 M62

G28 Z0 M63...
etc

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 12:30 #82648 by andypugh

Program scans the table,it sees Tube length data is [value=2000]=>it will convert that data to => G0 Z-[value=2000].;
Centerline radius is 100


Yes, that is the sort of thing I was thinking of.

I actually made a start on an example program in GladeVCP but then got distracted.

Sorry but i have a dump question here:
if axis were linear,i could calculate how much axis needs to move
but with rotation axis,how do i calculate it ?

It depends on whether it is a servo or a stepper, but it basically comes down to setting the scale in the HAL file to give 360 degrees for a full turn.

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 12:33 #82649 by andypugh

can i use M62-M65 to control hydraulic on/off during movement of bending axis?


Yes, absolutely.

You could also use digital inputs to make sure that the program does not continue until the hydraulics are clamped.

For the bending and rotation axes, though, you would configure them as a servo. Do they have proportioning valves or simple 2-port valves?

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 14:14 #82657 by ronaldinho07

You could also use digital inputs to make sure that the program does not continue until the hydraulics are clamped.

For the bending and rotation axes, though, you would configure them as a servo. Do they have proportioning valves or simple 2-port valves?

yes,that is what i want to do.My current bending machine uses proportioning valves
But i am now thinking about full electric,except mandrel
Mandrel will uses air cyclinder,because ,mandrel does not need any force/torque,it just needs to forward/backward inside the tubing.
So i just need control a air cyclinder : ON/OFF.Is it ok to use M8/M9 to control it,because M8/M9 can be used independently

There is a problem here:
Usually i use about 1200psi clamping force to clamp tubing
Do you know any fomula to convert from ballscrew load to linear force and clamping force ?

And i am going to use 2 homing.G28 for left bending and G30 for right bending

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 14:31 #82659 by andypugh

yes,that is what i want to do.My current bending machine uses proportioning valves
But i am now thinking about full electric,except mandrel

If it is hydraulic now then I would leave it hydraulic, it is likely to be better. LinuxCNC should be able to control the proportioning valves.

Usually i use about 1200psi clamping force to clamp tubing
Do you know any fomula to convert from ballscrew load to linear force and clamping force ?

You need to know the diameter of the hydraulic piston, then the force is simply piston area x pressure.

And i am going to use 2 homing.G28 for left bending and G30 for right bending

This sounds like you are a bit confused about homing. You would simply home the bending axis once at the start of the day, then use G1A45 (etc) commands to make a left bend and G1A-45 to make a right bend.

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 15:49 #82663 by ronaldinho07
how about converting linear force to clamping force ?
i have calculated that my motor will output 11477lb linear force,but i do not know how much this number in clamping force
in case i use 32mm ball screw

Please Log in or Create an account to join the conversation.

More
10 Nov 2016 17:41 #82673 by andypugh
I don't know what you mean by clamping force.

You probably want to calculate based on Ca rather than the bigger number in this case.
So, for a 32mm screw that's about 30kN or 7000lb. If you need 11,000 then you might need a 50 or 63mm screw.

The torque to drive a 10mm (0.033 ft) pitch screw at 1100lbs is a bit more than (11,000 * .033) / 2 * pi = 60 lb.ft. So probably needs a gear motor.

Please Log in or Create an account to join the conversation.

Time to create page: 0.085 seconds
Powered by Kunena Forum