two independent X at the same time.
Please Log in or Create an account to join the conversation.
www.linuxcnc.org/docview/html//common_ma...g_center.html#r1_1_1
X,Y,Z and U,V,W are linear axes and A,B,C are rotary normally.
John
Please Log in or Create an account to join the conversation.
so what's the idea: make that each X and Y was independent. but i do not know will it work if i define first plane as XY and second AB or UV (COORDINATES). will they work at the same time? cannot find anything about it in Documentation section.
Yes, that is exactly what you would expect to do.
If you change your INI file to be an XYUV machine then G-codes like G1 X1 Y2 U4 V6 should lead to coordinated movement in all axes simultaneously.
Your truncated cone should be
G1 X0 Y6 U0 V4
G2 I0 J6
But I am fairly sure that that won't work, as I don't think G2 and G3 arcs are supported in the UV plane. It might be worth a try though (with no foam loaded)
I think you will need NUM_AXES = 8 and [AXIS_0] to [AXIS_7] stanzas in the INI file (X = axis0, Y axis 1, U axis 6, V axis 7) You should be able to leave the unused ones blank. There is a development version of EMC2 which removes this fixed mapping between joints and axes, but it is a fair way from release.
In the HAL file you would l define 4 stepgens and link them as :
net x-axis axis.0.motor-pos-cmd => stepgen.0.position-cmd
net y-axis axis.1.motor-pos-cmd => stepgen.1.position-cmd
net u-axis axis.6.motor-pos-cmd => stepgen.2.position-cmd
net v-axis axis.7.motor-pos-cmd => stepgen.3.position-cmd
You will probably end up with home buttons etc in the Axis UI for all the unused axes, unfortunately.
Please Log in or Create an account to join the conversation.
- step4linux
- Offline
- Premium Member
- Posts: 115
- Thank you received: 5
It is a proven solution for foam cutter.
The solution for non-linear movements is a CAD/CAM tool which aproaches the circle by a sequence of lin moves.
This is how cutter data is created e.g. by model aircraft wing design software.
Also be aware that the speed you define with F--- is always related to the XY plane. The UV movement will follow with a speed dependent on the relation of distances on XY and UV, either slower or faster.
regards Gerd
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- step4linux
- Offline
- Premium Member
- Posts: 115
- Thank you received: 5
code.google.com/p/emc2hotwinch/
It includes a specific kinematic, however it is easy to remove the kinematic and use it as a simple XY -UV machine with linear axis.
Gerd
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
mmm as i am not an advanced user, could anyone tell me how new axes (UV e.g.) can be attached physically? which pins can i use or do i need another lpt via, for example, pci-lpt card?.
You can just about squeeze 4 axes out of one LPT port. Set it up as an XYZA config in stepconf using Z as U and A as V.
Then you will need to manually edit the INI file to:
NUM_AXES=8
COORDINATES=XYUV
Then you need to duplicate the [AXIS_2] etc stanzas for axes 4 to 7 (this shouldn't be necessary really, but EMC2 gets confused if you skip axis definitions, even if you don't use them). Make them all LINEAR
You need to then look through the HAL file and change some mappings.
Change all references to Z axis to be U axis and A axis to be V (though, actually, you can skip this as it is just so it reads correctly for humans, EMC2 only knows about numbered axes/joints)
You will be using stepgens 0 to 3, and axes 0, 1, 6, 7. So, edit all references to axis.2 to be axis.6 and axis.3 to be axis.7. Leave the stepgen numbering the same.
That should do the trick. After this editing you can't use stepgen again, as it will undo all the edits.
While debugging, get into the habit of starting EMC2 from the command line (just type emc in a terminal window), it is very likely that EMC2 will fail to start at first, but it will give you a clue what has gone wrong, either in the terminal window or when you type dmesg.
On the hardware side:
Because of a shortage of pins you will need to have all the amps share one amp-enable, and the chances are that one p-port pin can't drive that many inputs. Your P-Port can only source about 5mA, though it can source 15mA, so looking at the drive specs will be needed. alternatively hard-wire them.
4 axes on one port is probably OK for a foam cutter, but if you want to make it more elaborate then a second p-port will help, but rather than do that you might want to consider the $80 Mesa 7i43 which plugs into the p-port and gives you 48 IO pins as well as hardware step generation, encoder counting, fast PWM and if you want to get carried away, brushess motor drives, servo drives, etc, etc. It is fully supported by EMC2.
Please Log in or Create an account to join the conversation.
maybe i don't understand and will say some kind of delirium, but LPT has 25 pins, how much of them can be used for output signals? i mean if at least a half, then we have 12 pins for output. then where is the shortage?
Please Log in or Create an account to join the conversation.
- step4linux
- Offline
- Premium Member
- Posts: 115
- Thank you received: 5
maybe i don't understand and will say some kind of delirium, but LPT has 25 pins, how much of them can be used for output signals? i mean if at least a half, then we have 12 pins for output. then where is the shortage?
A standard LPT has 25 pins, 8 of them are GND pins. 17 are signal pins.
12 out of the 17 signals are outputs, 5 are inputs.
At the link I provided, there are several hal examples how to attach 4 axes (XYUV or XYAB).
Gerd
Please Log in or Create an account to join the conversation.