Re: [Emc-users] synchronized axes.

2007-08-24 Thread ben lipkowitz
Dave Engvall wrote:

 Think long arm sewing machine for quilting. The rotational axes are the 
 needle and the bobbin.  The tracking give constant stitch length.

 Two are X and Y and the other pair need to track (rotationally) with in 
 a few degrees or better. Rotational speeds are from zero to 1800 rpm for 
 one axis and either 1:1 or 2:1 for the other. The speed of rotation and 
 the vectorized X and Y velocity need to track each other.

you could do it a few different ways

option 1) write a kinematics module and treat the needle/bobbin as 
rotational axes within emc

option 2) use the hypot component to calculate distance traveled by x and 
y and feed that to your needle axis as a position command

option 3) differentiate the output from above with ddt and feed it to the 
needle spindle as a velocity command. might be slightly less accurate 
than 2 but you won't need to do silly hacks to prevent counter overflow.

option 4) synchronized motion like for lathe threading. this would be 
better if your needle is not very responsive compared to X and Y, but 
harder to write g-code for. (?) for example you couldn't do any arcs. 
however you could easily turn the spindle off and move around without 
stitching anything. options 23 would require using an M-code to 
disconnect the spindle from x-y motion. also the K parameter to G33 allows 
you to easily change the stitch length right in your g-code.

 There are two modes of motion. (1) is driven by an operator moving the 
 carriage(s) in X and Y and (2) X and Y will be under G-code control.

this should work fine using teleop mode under option 1 or just regular 
jogging under 234.



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] synchronized axes.

2007-08-24 Thread Dave Engvall
Hi Ben,

Thanks for the ideas, option 3 makes the most sense to me and I guess  
the best approach is to rig up a couple of servo motors and start  
experimenting.

Dave
On Aug 24, 2007, at 3:38 AM, ben lipkowitz wrote:

 Dave Engvall wrote:

 Think long arm sewing machine for quilting. The rotational axes  
 are the
 needle and the bobbin.  The tracking give constant stitch length.

 Two are X and Y and the other pair need to track (rotationally)  
 with in
 a few degrees or better. Rotational speeds are from zero to 1800  
 rpm for
 one axis and either 1:1 or 2:1 for the other. The speed of  
 rotation and
 the vectorized X and Y velocity need to track each other.

 you could do it a few different ways

 option 1) write a kinematics module and treat the needle/bobbin as
 rotational axes within emc

 option 2) use the hypot component to calculate distance traveled by  
 x and
 y and feed that to your needle axis as a position command

 option 3) differentiate the output from above with ddt and feed it  
 to the
 needle spindle as a velocity command. might be slightly less  
 accurate
 than 2 but you won't need to do silly hacks to prevent counter  
 overflow.

 option 4) synchronized motion like for lathe threading. this would be
 better if your needle is not very responsive compared to X and Y, but
 harder to write g-code for. (?) for example you couldn't do any arcs.
 however you could easily turn the spindle off and move around without
 stitching anything. options 23 would require using an M-code to
 disconnect the spindle from x-y motion. also the K parameter to G33  
 allows
 you to easily change the stitch length right in your g-code.

 There are two modes of motion. (1) is driven by an operator moving  
 the
 carriage(s) in X and Y and (2) X and Y will be under G-code control.

 this should work fine using teleop mode under option 1 or just regular
 jogging under 234.



 -- 
 ---
 This SF.net email is sponsored by: Splunk Inc.
 Still grepping through log files to find problems?  Stop.
 Now Search log events and configuration files using AJAX and a  
 browser.
 Download your FREE copy of Splunk now   http://get.splunk.com/
 ___
 Emc-users mailing list
 Emc-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/emc-users


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Max speed too fast

2007-08-24 Thread Stephen Wille Padnos
Cecil Thomas wrote:

Thanks Stephen and Manfredi for the help.

For those with similar setups this might be helpful:
Here is my latest (I hesitate to say final) .ini data
This is for a 1.7 GHz pentium 3 with a 400 MHz bus
  

Hopefully it's final :)

2000 steps/rev servo,  5 rev/inch lead screw,  4:1 gear down motor to 
screw 40,000 input scale

it seems to run at 48 ipm (.8 ips) with no problem and there are no 
RTErrors or Following Errors (yet)
Base Period 12000
Servo Period 2,400,000
Traj Period  2,400,000
Trajectory Section  default vel .2 (12 ipm) maxvel .9 (54 ipm) acc 
2.5  maxacc 4.0
AXIS Section   maxvel .8  stepgenmaxvel 1 maxacc 3 stepgenmaxacc 4.4
  

Is there any particular reason why you chose 2,400,000 for the servo and 
traj periods?  I'm sure it will work for these speeds (and it does 
reduce the CPU load marginally), but it shouldn't be necessary to 
lengthen these.  Can you share your reason for changing them?

I ask for two reasons:  1) if you found that something didn't work at 
1,000,000 but it did at 2,400,000, I'd like to know.  2) I think it's 
usually best to keep changes to the INI to a minimum - it makes upgrades 
easier if you only change things that are specific to your machine and 
leave the rest at default.

- Steve

Thanks,
Cecil
  



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] How Fast Are Pythons

2007-08-24 Thread Kirk Wallace
On Thu, 2007-08-23 at 18:13 -0400, Stephen Wille Padnos wrote:
... snip

Just using wsum made a big difference in the shell script. I was
consistently just one tool position off with the rotate direct to
station routine, and it only gets better from here. 

 If the 
 turret can't move in both directions, then you can do the whole thing 
 with HAL components - no classicladder needed.  You'll have to write a 
 simple component to compare two s32 numbers (strange but true - there's 
 an 8-bit pattern match with cascade input component, but no integer 
 comparison :) )  Look at something like xor2.comp for an example of a 
 simple .comp component.

Like this?

~ s32equal.comp ~
component s32equal Check if two s32's are equal;
pin in s32 in0;
pin in s32 in1;
pin out bit out;
function _ nofp;
license GPL;
;;
FUNCTION(_) {
if (in0 == in1)
out = 0;
else
out = 1;
}
~ s32equal.comp ~

then recompile EMC or just the component?

 use debounce / weighted_sum to get a stable position reading (current_tool)
 use tool_change AND NOT (requested_tool == current_tool) to enable the 
 turret to index
 (AND and NOT are both HAL components already, and there are other logic 
 components)
 
 I think that's about it.  Another option is to just write a .comp to do 
 it all - take in 4 bits, the requested tool number, and the 
 tool-prep/tool-change signals, output tool_prepped/tool_changed and 
 turret controls.  

Then forget the M101 and tie into the pins used by M6, as nature had
intended. 

 The comp preprocessor really helps make this kind of 
 HAL component easy to write.
 
 - Steve



-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users