two independent X at the same time.

More
27 Oct 2010 13:20 #4899 by Gelar
i have a foam cutter that is constructed so that i have two same X's and two same Y's. no rotating table. i need to make a truncated cone, but it's impossible now because this design allows to make a cylinder only. 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.

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

More
27 Oct 2010 13:54 #4901 by BigJohnT
I think your on the right track, but I have never done that before.

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.

More
27 Oct 2010 14:36 #4904 by andypugh
Gelar wrote:

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.

More
27 Oct 2010 17:03 - 27 Oct 2010 17:09 #4908 by step4linux
The solution with XY and UV plane works, except that it will probably have problems with arcs (G2, G3).
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
Last edit: 27 Oct 2010 17:09 by step4linux.

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

More
28 Oct 2010 07:41 #4919 by Gelar
i will try it next two weeks, till now i was not sure if i should reconfigure driver scheme.

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

More
28 Oct 2010 08:02 - 28 Oct 2010 08:03 #4922 by step4linux
here is a complete configuration for foam cutters:
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
Last edit: 28 Oct 2010 08:03 by step4linux.

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

More
01 Nov 2010 09:40 #5001 by Gelar
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? we looked through documentation and didn't find also.

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

More
01 Nov 2010 11:18 #5002 by andypugh
Gelar wrote:

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.

More
01 Nov 2010 11:28 - 01 Nov 2010 14:10 #5003 by Gelar
thank you!

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?
Last edit: 01 Nov 2010 14:10 by Gelar.

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

More
01 Nov 2010 18:03 #5009 by step4linux
Gelar wrote:

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.

Time to create page: 0.183 seconds
Powered by Kunena Forum