Re: [Emc-users] scaling G code
Greetings A modal scaling code (G51?) is certainly useful and fairly easy to define in terms of its effect on X, Y, Z etc. coordinates submitted to the interpreter. One does have to beware of what happens to arcs with unequal, say, X and Y factors. Rotation seems to me much more difficult to specify because of jogging and because of work offsets. Does the X jog move the table left and right or in such a way that only the X DRO alters? Is the rotation about 0,0,0 in the current cosys, the G54 cosys or the G53 cosys? I think that funny things happen to datums whatever option is chosen. John Prentice From: John Kasunich [EMAIL PROTECTED] Subject: Re: [Emc-users] scaling G code Jon Elson wrote: Ray Henry wrote: Now fifw, it seems to me that it's time to modify the interpreter to allow for a modal scaling g-code. Oh wow, cool idea! If we're going to do that, 3-axis rotation would be a good thing to put in at the same time. Then, you could scale/rotate the moves to fit the part, rather than try to align the part to the machine. The big boys all have this, and the math is almost trivial and very localized. You just run the time-honored translation matrix on all input coordinates. Jon You volunteering Jon? That would be a good thing to work on while you are at the CNC workshop. ;-) Regards, John Kasunich - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] scaling G code
If you are going to do that, it shouldn't be a translation matrix; it should be a transform matrix. That would be a general affine transformation. That would provide translation, rotation, and skew. So, if your X and Y axes weren't exactly perpendicular, that could be corrected. We might want to require that Z be perpendicular to X and Y for a mill. It wouldn't make sense to drill holes where it was not. To me, the big implementation issue has to do with the display. Do you show the G code coordinates or the transformed value? Can the user at the interface (Axis or whatever) choose which one is displayed? In any event, the current transformation matrix should be stored as a series parameters (in the gcode sense). That way, it could be easily changed by G code. Slap a part on the table, probe a few points with a gcode subroutine which sets the origin and rotation (computing the transformation matrix), and you're off and running. Ken [EMAIL PROTECTED] Mark Kenny Products Company, LLC 55 Main Street Voice: (888)ISO-SEVO (888)476-7386 Newtown, CT 06470Fax: (203)426-9138 http://www.MarkKenny.com -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of John Kasunich Sent: Thursday, June 07, 2007 10:05 PM To: Enhanced Machine Controller (EMC) Subject: Re: [Emc-users] scaling G code Jon Elson wrote: Ray Henry wrote: Now fifw, it seems to me that it's time to modify the interpreter to allow for a modal scaling g-code. Oh wow, cool idea! If we're going to do that, 3-axis rotation would be a good thing to put in at the same time. Then, you could scale/rotate the moves to fit the part, rather than try to align the part to the machine. The big boys all have this, and the math is almost trivial and very localized. You just run the time-honored translation matrix on all input coordinates. Jon You volunteering Jon? That would be a good thing to work on while you are at the CNC workshop. ;-) Regards, John Kasunich - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] scaling G code
Here is a programming manual for Mit 300 seres controls, rotation stuff starts at page 184 of the PDF 172 of the scanned book. Its an old control but easy to use and it had a lot of options, and the manual is a free download. :) http://www.meau.com/functions/dms/getfile.asp?ID=0100010046090http://www.meau.com/functions/dms/getfile.asp?ID=0100010046090 In case that link to the PDF does not work here is the page, book BNP-A2943 should be second in the list. http://www.meau.com/eprise/main/sites/public/DOWNLOADS/-search_results?SType=3DocType=010SessionNum=UserID=Division=00010Opt1=Yessubmit1=SearchFamily=ManualType=0055 It does a fair job of describing the interactions of the rotation and workoffsets and other things. Not the end all bible but a good place to start. _ Andre' B. At 03:43 AM 6/8/2007, you wrote: Greetings A modal scaling code (G51?) is certainly useful and fairly easy to define in terms of its effect on X, Y, Z etc. coordinates submitted to the interpreter. One does have to beware of what happens to arcs with unequal, say, X and Y factors. Rotation seems to me much more difficult to specify because of jogging and because of work offsets. Does the X jog move the table left and right or in such a way that only the X DRO alters? Is the rotation about 0,0,0 in the current cosys, the G54 cosys or the G53 cosys? I think that funny things happen to datums whatever option is chosen. John Prentice From: John Kasunich [EMAIL PROTECTED] Subject: Re: [Emc-users] scaling G code Jon Elson wrote: Ray Henry wrote: Now fifw, it seems to me that it's time to modify the interpreter to allow for a modal scaling g-code. Oh wow, cool idea! If we're going to do that, 3-axis rotation would be a good thing to put in at the same time. Then, you could scale/rotate the moves to fit the part, rather than try to align the part to the machine. The big boys all have this, and the math is almost trivial and very localized. You just run the time-honored translation matrix on all input coordinates. Jon You volunteering Jon? That would be a good thing to work on while you are at the CNC workshop. ;-) Regards, John Kasunich - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users __ Andre' B. Clear Lake, Wi. - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] EMC 2.1.6 released
Today EMC 2.1.6 is released with the following changes: * fix TkEMC jog increment/continuous doesn't show on screen * fix ppmc index polarity and HAL hookups * fix some incorrect comments in hal files * print a warning when a common hal 'net' error is made * improve documentation for R format arcs Ubuntu users can upgrade using the update manager as usual (some instructions here): http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?InstallingUpdates CVS users can get this release by checking out the RELEASE_2_1_6 tag. Your faithful release manager, Chris - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] scaling gcode
Gentlemen, NOW you are talking. I love the coordinate rotation for probing to orient the program to the part. It is such a time saver and confidence builder. To answer the question about the position feedback moving when the rotation is in effect, yes (on my machine), the y axis feedback does not move when only the x axis is jogged. You will see the y axis slide moving but the feedback display does not change. The operator moves the machine as if the program is aligned with the axes. I have a five axis mill. When in the correct mode it will drill (jogging with the handwheel) (very useful) along the tool axis whatever the orientation of the tool axis. I can see all three linear axes moving and the feedback display does change on all linear axes. It will also move perpendicular to the tool axis and face with the end of the tool. This is not as useful as I don't have control of the facing direction. I believe the answer is whatever the feedback display does is ok. While you are adding features you could consider: 1Five axis tool length compensation - the same matrix could be used for 3 axis tool length compensation. The vector for three axis would be 0,0,1. 2Geometric compensation - This would be able to compensate for manufacturing/assembly inaccuracies of rotary axes. 3Five axis cutter diameter compensation - This would have a more interesting implementation. thanks Stuart - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] How much is too much jitter?
e - Original Message - From: Jack Ensor [EMAIL PROTECTED] To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net Sent: Monday, June 04, 2007 1:30 PM Subject: Re: [Emc-users] How much is too much jitter? Jon Elson wrote: Jack Ensor wrote: I noticed when jogging at my maximum rate of 90 ipm the 2 quadrature signals coming at a rate of 1 Khz have approximately 50 micro seconds of jitter. Is this excessive? How much would it contribute to tracking error? My tracking error is insignifcant when homing but but huge when running Axis.ngc. Would you please define this term tracking error? I do not know what it means. From context, I believe you mean to say the machine's position differs from the displayed position. Is that correct? Yes, position displayed on the axis screen differs from what my dro says except when I home they always agree. How are you seeing the quadrature signals? On a box oscilloscope, or somehow with halscope? Unless halscope AND the software or hardware encoder input facility is sampling at a fast enough rate, you would miss some of the edges. Yes, I understand the hal (storage scope) better now. When I used the faster sample rate, I then got more resonable results For instance, on my minimill, at 60 IPM, with 16 TPI leadscrews and 4:1 motor reduction, and with 500 CPR encoders producing 2000 counts/revolution, you get 128,000 counts per second. Therefore, counts are coming at a rate of one every 7.8 us. Obviously, my jitter must be less than yours. But, a scope would need to be sampling it at a rate of once a microsecond or better before you could even begin to discern jitter on the signal. If you are using an analog oscilloscope, then there is no sampling. But, without specifying the rate of encoder pulses when you see the 50 us jitter, it is hard to know what it means. If you had 50 us jitter when the count rate was one millisecond, it is not a big deal. If it was when the count rate was 50 us, it would be reducing the quadrature angle to zero, and would clearly cause errors. So, you have to compare the jitter to the count rate. The rate as I originally stated was 1 Khz which translates to a pulse period of .5 milliseconds low and .5 milliseconds high. So I suppose 50 micreoseconds jitter isn't too bad then. (About 5%). Ideally, there should be 90 degrees between the 4 states of the encoder's A and B signals. They never are, due to tiny errors in the manufacturing of the encoder's optics. The greater the error, the narrower some of the count states become, until they become so small the encoder counter's logic misses them. Then, the position will be off by multiples of 4 counts. When you say homing is OK, but axis is bad, is that all due to speed? Slowing things down by a factor of ten makes no difference in position error. It still jumps all over the place. Could you explain why the following speed calculation is in error? I have a unipolar motor, driven in quadrature phase A, phase A not, Phase B, and phase B not., where phase B lags phase A by 90 degrees. Motor plate specifies 200 steps/rev step down from motor to screw: 2.5 to 1 Screw pitch: .2 in/rev .2 in/rev x 1/2.5 rev/rev x1/200 rev/step = .0004 in/step. This is correct because this is what I see the system do. For speed: The max jog speed is set in emc to 90 ipm (1.5 in/sec). When jogging at the max rate I measured a step frequency of 813 Hz on phase A. Calculating the table speed: 800 pulses/sec x 60 sec/min x .0004 in/step = 19.2 ipm However just by looking at the table move, it is moving much faster than that. Is this because due to the nature of quadrature drive, the table actually moves 4 times faster than the step rate? This would put it more in the ball park of what I am seeing. Jack ensor - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] scaling G code
Kenneth Lerman wrote: If you are going to do that, it shouldn't be a translation matrix; it should be a transform matrix. That would be a general affine transformation. That would provide translation, rotation, and skew. So, if your X and Y axes weren't exactly perpendicular, that could be corrected. We might want to require that Z be perpendicular to X and Y for a mill. It wouldn't make sense to drill holes where it was not. To me, the big implementation issue has to do with the display. Do you show the G code coordinates or the transformed value? The transformed value. You can always set EMC to show machine coords. But, having the display show in the same coord system you enter positions in is the only thing that makes sense. Can the user at the interface (Axis or whatever) choose which one is displayed? In any event, the current transformation matrix should be stored as a series parameters (in the gcode sense). Absolutely. Jon - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] scaling G code
John Prentice wrote: Greetings A modal scaling code (G51?) is certainly useful and fairly easy to define in terms of its effect on X, Y, Z etc. coordinates submitted to the interpreter. One does have to beware of what happens to arcs with unequal, say, X and Y factors. Rotation seems to me much more difficult to specify because of jogging and because of work offsets. Does the X jog move the table left and right or in such a way that only the X DRO alters? Once you have engaged the translation, then an X jog would move in the translated coordinate space. If you want to do a pure X jog, you need to cancel the translation mode. Is the rotation about 0,0,0 in the current cosys, the G54 cosys or the G53 cosys? I think that funny things happen to datums whatever option is chosen. Well, you have to define where these translations and rotations work from. Making the rotations around the translated (0,0,0) coordinate would make sense to put everything around the part's new origin. Jon - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users