#emc-devel | Logs for 2008-09-14

[02:08:42] <DanielFalck> was issy able to contribute the code for his gui yet?
[02:08:59] <DanielFalck> I'll have a look in cvs
[02:09:09] <cradek> he hasn't released it yet.
[02:09:15] <DanielFalck> ok
[02:09:27] <cradek> the part that runs on windows (?) has a license problem or something
[02:09:40] <DanielFalck> I imagine it would
[02:09:49] <DanielFalck> windows anyway
[02:09:54] <DanielFalck> I liked what I saw
[02:10:00] <cradek> I hope it won't need windows. that would be a big problem for many people.
[02:10:18] <DanielFalck> yes
[02:10:36] <DanielFalck> I wouldn't use it in my shop if ran under winders
[02:11:02] <DanielFalck> cradek: roughly what size balls do you need for the ballscrew? 1/8"?
[02:11:32] <DanielFalck> I've changed a fair amount out in the past
[02:11:44] <DanielFalck> I might be able to help you source some
[02:12:02] <DanielFalck> I get them from Balltec
[02:12:32] <DanielFalck> dinner time here....
[02:14:27] <cradek> DanielFalck: around .135-138
[02:15:05] <DanielFalck> get grade 25 chrome steel balls from Balltec
[02:16:25] <DanielFalck> that seems like a weird size
[02:16:50] <cradek> the existing balls are .1293
[02:17:14] <DanielFalck> wow that is strange
[02:17:56] <cradek> possibly hand-fitted for perfect preload
[02:18:01] <DanielFalck> I think they end up costing about .25 ea from Balltec
[02:18:12] <cradek> this is a hardinge 'super-precision'
[02:18:25] <jmkasunich> cradek: you need to go all the way up to .135 from .129?
[02:18:29] <cradek> wow, that will add up fast if I want to get a few sizes
[02:18:30] <jmkasunich> that is a lot!
[02:18:38] <cradek> jmkasunich: as far as I can calculate, yes
[02:18:53] <jmkasunich> how could the screw or nut have worn that much?
[02:18:56] <cradek> .0025-.003 backlash at 30-45 degree contact angle
[02:19:17] <cradek> please do check my math though :-)
[02:19:26] <jmkasunich> if its the screw, you're screwed - cause no way would it be consistent over the entire length
[02:19:51] <jmkasunich> I don't doubt your math, I doubt the assumptions that go into it
[02:20:28] <cradek> well I doubt the math too
[02:20:32] <jmkasunich> heh
[02:21:03] <jmkasunich> given the 0.0025 lash, a size difference of 0.0025 passes a first pass sanity test
[02:21:54] <DanielFalck> think diameter
[02:22:03] <DanielFalck> of the ball
[02:22:57] <DanielFalck> cradek: is there a precision spacer between the nuts?
[02:22:58] <jmkasunich> are ballscrews designed for two point contact with the ball, or four point?
[02:23:15] <DanielFalck> or is it one nut with several circuits
[02:23:30] <cradek> I think I'm off by a factor of 2
[02:23:36] <cradek> DanielFalck: one nut, two circuits
[02:24:03] <cradek> jmkasunich: the two circuits push opposite directions
[02:24:05] <DanielFalck> ok
[02:24:08] <jmkasunich> so each circuit is designed to take loads in only one direction, and each circuit has two point contact
[02:24:14] <cradek> yes
[02:24:18] <jmkasunich> (one point on screw, one on nut)
[02:24:23] <cradek> yes
[02:24:30] <jmkasunich> the ball groove radius is significantly bigger than the ball
[02:24:49] <cradek> yes
[02:24:57] <cradek> not hugely bigger, but somewhat
[02:25:28] <DanielFalck> cradek: did you look at the bearings on the ends of the shaft for play?
[02:26:01] <cradek> DanielFalck: yes the problem is very obviously the nut. you can even see it.
[02:27:44] <DanielFalck> I've used Moglice on a ballscrew/nut like that - I made a nut with no threads in it and mogliced it around the screw
[02:27:53] <DanielFalck> as an experiment
[02:28:08] <DanielFalck> I was looking for very smooth motion
[02:29:01] <DanielFalck> it probably cost about $100 to do that from what I remember
[02:29:05] <jmkasunich> cradek: is the motion smooth (assuming you "preload" it one direction or the other by hand?
[02:29:28] <jmkasunich> from your description of wrecked balls, I'd be worried about wrecked grooves in the nut
[02:29:33] <cradek> I don't know how to quantify that
[02:30:12] <jmkasunich> does it feel "grinchy" when turning it by hand?
[02:30:18] <cradek> no, it feels fine
[02:30:35] <cradek> I do intend to take the balls out of the other circuit too, and check them
[02:30:46] <cradek> assuming they are the same size (?) I will have plenty to fill it
[02:30:54] <DanielFalck> if it's a lathe, load it with a spring and try running it. See what kind of results you get.
[02:31:09] <cradek> my goal isn't perfection here, it's to make it somewhat better
[02:31:19] <DanielFalck> barn door spring
[02:31:31] <cradek> DanielFalck: it would need a lot of spring.
[02:32:13] <DanielFalck> we did that on a small Hardinge retrofit at work and the spring is still in place on X
[02:32:26] <cradek> fortunately X is still perfect
[02:33:12] <jmkasunich> "a lot of spring"? for testing, you'd just experiment with short parts
[02:33:19] <jmkasunich> 3" travel or so
[02:33:42] <cradek> I mean it would take a lot of pull to preload it. It doesn't slide with one finger
[02:33:53] <cradek> more like two hands and a good lean
[02:35:05] <DanielFalck> look in Mcmaster carr (www.mcmaster.com) for some springs and do some experimenting
[02:35:50] <jmkasunich> large force is easy, long travel is easy - but both in the same spring, not easy
[02:35:59] <DanielFalck> weights on the end of a cable that stretches over pulleys is another experimental setup
[02:36:19] <cradek> I forget, what is the experiment for?
[02:36:24] <DanielFalck> Roland recommended that for some lathe retrofits he was doing in home shop machinist
[02:36:42] <DanielFalck> to see if you can get rid of backlash without spending $300
[02:37:47] <DanielFalck> get rid of the backlash with some funky lash up- make some parts to make you money then buy a new ballscrew/nut or send the old one out for repair
[02:38:58] <DanielFalck> I have a ballscrew/nut in my Bridgeport that's been eaten up with waterbased coolant
[02:39:17] <DanielFalck> I changed out the balls to something that was round : )
[02:39:39] <DanielFalck> my setup isn't ideal, but I use it to make some pretty good parts that pay
[02:39:42] <cradek> ha
[02:40:30] <DanielFalck> what do you plan on making with the Hardinge?
[02:40:33] <cradek> my mill's main problem is that the knee-saddle is loose in the middle of Y travel.
[02:41:18] <cradek> most likely, things where .003 in Z don't matter. but it is half for fun anyway.
[02:41:36] <DanielFalck> that's cool
[02:41:54] <DanielFalck> my stuff is mostly for fun too (in my home shop)
[02:42:08] <DanielFalck> I like making parts for friends
[02:42:32] <DanielFalck> I have one regular customer who pays pretty good
[02:44:19] <cradek> I have a regular customer who doesn't pay :-)
[02:44:25] <DanielFalck> you might have 60 to 80 balls in each circuit
[02:44:39] <cradek> there are 30 big and 30 small
[02:44:53] <DanielFalck> in each circuit?
[02:44:57] <cradek> yes
[02:45:29] <DanielFalck> ok, so it's only $30 per size in one nut then
[02:45:33] <DanielFalck> at .25
[02:45:36] <DanielFalck> each
[02:45:47] <DanielFalck> that's not too bad.
[02:45:48] <jmkasunich> and you shouldn't have to replace the small ones
[02:45:50] <cradek> I only need to replace the big ones. the small ones don't matter
[02:45:59] <DanielFalck> you can get them in .0001 increments from Balltech
[02:46:20] <DanielFalck> forget all the crazy experimental stuff then
[02:46:22] <DanielFalck> : )
[02:46:35] <cradek> well getting the right size is still a crazy experiment.
[02:46:46] <cradek> it would be nice to get 'close' in one try
[02:48:40] <cradek> I saw a diagram that showed 45 degree contact angle. that seems plausible from looking at the wear marks on the screw, but it's very hard to tell the exact angle.
[02:49:06] <jmkasunich> how sensitive is the required size to the angle?
[02:50:17] <cradek> assuming .003 lash, 30 degree contact angle gives me .1362, 45 deg gives .1378
[02:51:27] <DanielFalck> go for the smaller size, buy it , try it. too small won't lock up. too large will
[02:52:06] <SWPadnos> are you trying to get the same size as before, or are you accounting for wear?
[02:52:28] <cradek> account for wear (remove backlash)
[02:52:50] <SWPadnos> ok, then you may have to get smaller small balls to go with the bigger big ones
[02:52:56] <SWPadnos> the total race length hasn't changed
[02:53:10] <cradek> I don't care if there are a few fewer balls
[02:53:16] <SWPadnos> has to be an even number
[02:53:33] <SWPadnos> you get rid of 1 large and1 small at a time
[02:53:38] <cradek> right
[02:53:39] <jmkasunich> 30 large balls 0.003 bigger = 0.090 = less than one ball
[02:54:00] <cradek> also doesn't matter if the track isn't perfectly filled
[02:54:02] <SWPadnos> that's my point - the differences are tiny relative to the number of balls and the ball size
[02:54:19] <jmkasunich> right - but if it is filled within 0.070 now, it will wind up overfilled
[02:54:27] <jmkasunich> or you'll take out two balls and be _very_ underfilled
[02:55:06] <cradek> it would still be 97% filled
[02:55:39] <SWPadnos> I wonder if that's what causes the grinding I hear in a lot of ballscrews
[02:55:54] <SWPadnos> but I bet using 2 sizes gets rid of that
[02:56:14] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/firmware/README: Latest hm2 VHDL source code from Peter.
[02:56:15] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/firmware/src/ (40 files): Latest hm2 VHDL source code from Peter.
[02:57:41] <cradek> hm, I was off my a factor of 2
[02:57:46] <cradek> * cradek can't do simple trig
[03:16:11] <cradek> hey, to measure tenths, use a tenths indicator
[03:16:16] <cradek> that's pretty obvious in retrospect
[03:16:31] <cradek> the backlash is .0035-0036 in three spots along the screw
[03:20:00] <cradek> got an 0038
[15:46:45] <ve7it> ve7it is now known as LawrenceG
[17:35:23] <alex_joni> jepler: got a spare minute?
[17:35:37] <steves_logging> steves_logging is now known as steve_stallings
[17:42:37] <issy> Hi alex
[17:42:56] <alex_joni> hello
[17:43:31] <issy> do you know if there is a driver for mesa5I22
[17:43:40] <issy> or 5I65
[17:44:34] <DanielFalck> issy: nice looking gui that you made for emc
[17:44:45] <DanielFalck> very industrial
[17:45:05] <issy> yes, thanks. that's the idea.
[17:45:20] <issy> later on I will post the linux version for tests
[17:45:28] <DanielFalck> thank you
[17:45:40] <issy> welcome
[17:48:48] <alex_joni> issy: I think the 5i20 driver can run on 5i22 with small modifications
[17:49:49] <issy> the fpga is different , so the bit file may be different too ,
[17:50:01] <SWPadnos> hostmot2 supports the 5i22, but I think it hasn't been tested on the 1.5M version
[17:50:07] <SWPadnos> I haven't gotten around to testing it yet
[17:50:36] <SWPadnos> it definitely requires a different bit file, but it's included in CVS I think
[17:51:21] <issy> I have the board , the problem comes with the fact that I need 2 axes for x , 1 axes foy Y , one axes for Z , and 1 axes for the spindle
[17:51:28] <issy> totaly 5 axes
[17:51:35] <issy> analog
[17:51:44] <SWPadnos> I think you can have 8 of each, but I'm not positive
[17:51:47] <issy> and the 7I3xx is 4 axis analog
[17:51:53] <SWPadnos> that's a pretty simple change anyway
[17:52:18] <SWPadnos> well, you'll need two of them, or you'll need to make a single channel PWM filter/amp board
[17:52:24] <issy> so , I need to connect 2 pcs of 7I3xxx (analog i/o) and 2 pca of the i/o boards
[17:52:54] <SWPadnos> I think so, but I'm not positive
[17:53:03] <issy> the standart inverters for the spindle do not accept PWM
[17:53:13] <issy> They accept +-10V
[17:53:18] <SWPadnos> they do if you stick an R/C filter on the output ;)
[17:53:25] <SWPadnos> and an op-amp
[17:53:34] <issy> yes , and forget the rigit tap!!!!!!!
[17:53:38] <SWPadnos> no
[17:54:06] <issy> YES!!!! , Where is the temperature stability with the RC????????
[17:54:25] <SWPadnos> rigid tapping works with feedback, not command output. if it takes 5 seconds for the spindle to stop and start up again in reverse, then the Z motion will track that
[17:54:27] <SWPadnos> no
[17:54:42] <SWPadnos> the RC filter is there only to smooth out the PWM int o a DC value
[17:54:52] <SWPadnos> the time constant is almost irrelevant
[17:55:00] <issy> I have tryed this several times.
[17:55:24] <issy> The colombo and HSD spindles generate only 1 pulse per revolution ,
[17:55:34] <issy> not enout
[17:55:58] <SWPadnos> that's a feedback problem, not a PWM drive problem
[17:56:08] <issy> The mesa is offering now new board with 8 analig axis , but stil not seling them
[17:56:17] <SWPadnos> put an encoder on the spindle and it will work great ;)
[17:56:27] <issy> not possible
[17:56:49] <issy> on the top of the spindle is the fan
[17:57:10] <SWPadnos> you may have a problem then. I don't think it's caused by using PWM drive though - it's a feedback problem
[17:57:27] <SWPadnos> you could use a digital interface (if they were supported), and you'd still have the same problem with rigid tapping
[17:57:49] <alex_joni> maybe it works with TRUNK better
[17:57:54] <SWPadnos> I've got to go tear down a retaining wall before the rain starts. be back later
[17:58:10] <issy> ok
[17:58:24] <SWPadnos> alex_joni, I don't know about rigid tapping - it may work, but interpolated-position has only been tested with lathe threading AFAIK
[17:58:48] <issy> It' about miling machine
[17:59:29] <alex_joni> I don't think it should be much more different
[18:01:16] <issy> if the tap is M12 , no problem, but at M4 .... well can b bad
[18:17:34] <steve_stallings> steve_stallings is now known as steves_logging
[18:43:26] <jmkasunich> interpolated position can NOT be used for rigid tapping
[18:43:40] <jmkasunich> the interpolation is only valid when speed is constant
[18:43:56] <jmkasunich> reversing the spindle at the bottom of the hole as very much not constant speed
[18:46:23] <issy> I have found that when displaying active G codes in user interfaces they are processed starting from 1 (there is a following for loop: for (t = 1; t < ACTIVE_G_CODES; t++) { ....), but as I can see array starts from 0 (not from 1), and this for is same in emc2.2.5\src\emc\usr_intf\emcrsh.cc emcsh.cc keystick.cc xemc.cc, is that correct (to start handling them from 1)
[18:46:53] <jmkasunich> it sounds like a bug, but that part of the code is not my area, so I'm not sure
[18:47:33] <SWPadnos> as long as the indexing code uses array[i-1], it's probably fine
[18:47:49] <SWPadnos> you want to print 1 to N, but index 0 to N-1
[18:47:58] <SWPadnos> (probably - I'm not familiar with that code either :) )
[18:51:25] <issy> no, it uses: code = emcStatus->task.activeGCodes[t];
[18:51:38] <issy> i THINK IS BUG
[18:51:45] <issy> BUT NOT SHURE
[18:51:53] <jmkasunich> CAPS LOCK
[18:52:01] <issy> sorry!!
[18:52:06] <jmkasunich> ;-)
[18:52:12] <issy> :)
[18:55:07] <jmkasunich> I just tested in axis - it correctly displays G0 in the active g-codes box when I mdi a G0 move
[18:56:55] <issy> yes , but what is setting at index 0
[18:57:08] <issy> or is not used
[18:57:25] <jmkasunich> I don't know about the internal implementation, all I know is that axis does the right thing
[18:57:30] <jmkasunich> I don't do GUIs ;-)
[18:59:19] <issy> well it is a bug , check it in xemc. in the axis is used another sources
[18:59:39] <jmkasunich> I'm not going to check xemc - my machine is running axis
[19:00:37] <issy> definetively is a bug
[19:01:04] <issy> also for the m codes
[19:02:02] <jmkasunich> I don't think xemc has an active maintainer - if you post a patch on the developers mailing list, somebody will probably commit it
[19:05:16] <issy> eventualy , the shell's must be fixed as well
[19:06:06] <BigJohnT> cradek: you around?
[19:06:55] <jmkasunich> BigJohnT: haven't seen anything from him this afternoon
[19:07:49] <BigJohnT> ok thanks, I was wondering if the G17.1 18.1 19.1 was just for canned cycles in trunk
[19:08:40] <BigJohnT> and should something be added to the 2.3 manual about it...
[19:10:07] <skunkworks> I also noticed that the saturation pins in the pid are not in the manual yet
[19:10:34] <BigJohnT> do you have any info on that skunkworks?
[19:10:45] <skunkworks> only from the source
[19:10:59] <BigJohnT> I must have missed that
[19:11:23] <BigJohnT> just got power back on from storms last night :)
[19:11:45] <issy> hw is there after the storm?
[19:11:50] <skunkworks> http://cvs.linuxcnc.org/cvs/emc2/src/hal/components/pid.c?rev=1.35;content-type=text%2Fplain
[19:12:05] <skunkworks> hal_bit_t *saturated;/* pin: TRUE when the output is saturated */
[19:12:12] <skunkworks> and the next 2
[19:12:19] <BigJohnT> ok, thanks
[19:12:56] <skunkworks> BigJohnT: thanks to you - you're doing great work.
[19:13:12] <BigJohnT> aww, its fun :)
[19:13:26] <skunkworks> you're hired! ;)
[19:15:08] <BigJohnT> issy: hw?
[19:16:22] <issy> ok. working hard
[19:16:58] <BigJohnT> fixing to :)
[19:17:08] <BigJohnT> been napping all morning
[19:17:38] <issy> I have to post the GUI for tests ..
[19:17:53] <issy> can somebody tell me where?
[19:18:46] <BigJohnT> is saturation to detect a loss of encoder or something like that?
[19:20:15] <skunkworks> yes - that is what cradek was wanting
[19:20:35] <BigJohnT> ok, I remember now :)
[19:25:59] <BigJohnT> Does this sound ok "Pins used to report saturation. Saturation occurs when a loss of feedback pulses occurs."
[19:26:16] <BigJohnT> then the pin descriptions
[19:28:41] <SWPadnos> that's not the only cause of saturation
[19:28:56] <SWPadnos> if the motor is under heavy load, PID will also saturate for some time
[19:29:03] <SWPadnos> some amount of tie
[19:29:05] <SWPadnos> time
[19:29:11] <BigJohnT> ok
[19:29:18] <BigJohnT> so an overload condition as well
[19:29:58] <SWPadnos> not necessarily an overloadgotta run - we can continue later
[19:30:04] <BigJohnT> ok
[19:30:04] <jmkasunich> "saturation occurs when the output of the PID block is at its maximum or minimum limit"
[19:30:11] <BigJohnT> thank you
[19:40:16] <CIA-40> EMC: 03bigjohnt 07TRUNK * 10emc2/docs/src/hal/rtcomps.lyx: add saturated pins
[19:43:43] <BigJohnT> gotta go
[20:37:35] <jmkasunich> we should decide if the "position-interpolated" change to encoder is harmless, and if so add it for 2.2.7
[20:41:49] <issy> haw to start the classic lader with the axis?
[20:54:48] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/configs/hostmot2/hm2.hal:
[20:54:48] <CIA-40> EMC: This adds support for the 4i65 Anything I/O board (in the now mis-named
[20:54:48] <CIA-40> EMC: hm2_5i20 driver).
[20:54:49] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/ (ChangeLog hm2_5i20.c hm2_5i20.h):
[20:54:49] <CIA-40> EMC: This adds support for the 4i65 Anything I/O board (in the now mis-named
[20:54:51] <CIA-40> EMC: hm2_5i20 driver).
[20:54:53] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/firmware/4i65/ (SV12.BIT SV12.PIN SVST8_4.BIT SVST8_4.PIN):
[20:54:56] <CIA-40> EMC: This adds support for the 4i65 Anything I/O board (in the now mis-named
[20:54:58] <CIA-40> EMC: hm2_5i20 driver).
[21:03:03] <alex_joni> http://www.linuxcnc.org/dropbox/ISSYGUI.zip
[21:03:12] <alex_joni> issy asked me to put that somewhere online
[21:03:16] <alex_joni> for people to try
[21:05:39] <jmkasunich> .zip?
[21:05:40] <jmkasunich> ick
[21:09:57] <alex_joni> well.. wait till you unpack it :P
[21:11:34] <jmkasunich> not planning to
[21:14:49] <alex_joni> too bad :)
[21:27:18] <cradek> uhhh, that's an executable...
[21:27:29] <alex_joni> cradek: indeed it is..
[21:27:58] <cradek> is this released under the GPL?
[21:28:20] <alex_joni> there's an windows executable in there, so I kinda doubt it
[21:28:32] <cradek> rm -r issy
[21:29:34] <cradek> issy: I don't see a license statement in there - what is the license for this?
[21:29:53] <issy> will be lgpl when redy
[21:30:35] <issy> i have to finish the ladder and the path preview.
[21:31:00] <cradek> cool, I can't wait to get a look at it when it's released.
[21:31:24] <alex_joni> I would like to look at it even if it's not released.. but hey, you can't have all you want :)
[21:31:27] <issy> i think this is working well now under windows.
[21:32:53] <issy> the linux version can be tested in real situation.
[21:33:13] <issy> work fine with mine machine
[21:33:43] <issy> cradec , i have to do the path preview. sugestions?
[21:33:44] <cradek> great
[21:34:19] <cradek> you could use code from AXIS if you will use GPL not LGPL
[21:34:55] <issy> I am not god with the snake ,that's why this is 100% ansi C
[21:35:30] <issy> ++
[21:37:35] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/src/hal/drivers/mesa-hostmot2/TODO: update hm2_5i20 manpage (and todo file) to indicate that the 4i65 is now supported
[21:37:45] <CIA-40> EMC: 03seb 07TRUNK * 10emc2/docs/man/man9/hm2_5i20.9: update hm2_5i20 manpage (and todo file) to indicate that the 4i65 is now supported
[21:38:16] <issy> great!!
[21:39:28] <issy> 4I65 is my choice because of the low proffile of the whole system.