CNC tube bender based on linuxcnc ideas
- ronaldinho07
- Offline
- New Member
- Posts: 12
- Thank you received: 1
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.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.
- ronaldinho07
- Offline
- New Member
- Posts: 12
- Thank you received: 1
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.
- ronaldinho07
- Offline
- New Member
- Posts: 12
- Thank you received: 1
example
G01 Z-30 Y-100 M62
G28 Z0 M63...
etc
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.
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.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 ?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.
- ronaldinho07
- Offline
- New Member
- Posts: 12
- Thank you received: 1
yes,that is what i want to do.My current bending machine uses proportioning valvesYou 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?
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.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.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
You need to know the diameter of the hydraulic piston, then the force is simply piston area x pressure.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 ?
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.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.
- ronaldinho07
- Offline
- New Member
- Posts: 12
- Thank you received: 1
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.
- andypugh
- Offline
- Moderator
- Posts: 23310
- Thank you received: 4858
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.