00:56:31 John. What did you do to gear your handwheel to the stepper drives with emc2 00:57:00 didn't use emc2 at all... just hooked the output of the hal encoder counter module to the input of the stepper module 00:57:10 handy for testing, but not much else 00:57:50 Oh. I was wondering cause a customer asked about gearing and a gear cutting hob. 00:58:16 does it involve G-code at all, or just gearing things together? 00:58:50 Really don't need g-code at all. We would need to match a spindle to the hob spindle and a couple of axes to that combination. 00:59:16 hmmmm 01:00:04 There is a crowned gear that works a radius across the width of the teeth. That would be easier if there was g-code but.... 01:00:32 the prob with the existing modules is overflow or loss of precision... I assume the spindle keeps turning, so if you just use pure position the numbers eventually get big 01:00:53 Most of the math of the gearing is simply ratios between the various parts. 01:01:08 yeah... 01:01:09 Yes that would be true for the hob spindle. 01:01:39 The main spindle is a ratio based on the number of teeth. 01:02:06 let me see if I understand... the workpiece is "geared" to the hob as if it were a worm gear 01:02:19 Yes. 01:02:36 for a straight tooth gear the feed is parallel to the axis of the workpiece, while it rotates 01:02:59 and the lathe z axis moves very slowly toward the spindle that holds the blank. 01:03:22 lathe 01:03:23 ? 01:03:37 hob in the spindle? 01:03:43 The main spindle and z way looks like a lathe. 01:04:06 The hob is in a spindle perpendicular to the z axis and the main spindle. 01:04:08 but the spindle holds the workpiece? and the hob is live tooling 01:04:18 ok ;-) 01:04:23 Yes. 01:04:43 The hob spins much faster than the workpiece spindle. 01:04:49 and the hob is above or below the main spindle centerline by the radius of the workpiece? 01:04:57 or maybe behind/in front? 01:05:33 Above for the most part. Yes the gear radius is the key plus the radius of the hob. 01:06:16 so the hob spindle can be adjusted up/down, and feed along Z is used to advance the hob across the width of the gear you're making? 01:06:28 Exactly 01:06:35 so no X axis, instead a vertical axis 01:06:36 ? 01:06:52 If it were a lathe it would be called x 01:07:02 Yes a vertical. 01:07:04 x is cross-slide, isn't it? 01:07:06 ok 01:07:42 Yes. On some slant bed lathes the x is pretty steep nearly vertical. 01:07:55 so normally X is set based on hob and workpiece diameter, and remains constant during the cut (except for making crowned gears) 01:08:05 Yep. 01:08:15 z advances (very) slowly 01:08:35 and the "spindle" is geared to the hob 01:08:37 got it 01:08:50 Yes it does, a few thousanths per rotation of the workholding spindle. 01:09:18 hob is driven by an ordinary motor? (variable speed perhaps, but no precision control) 01:09:52 and the "spindle" is not like a lathe spindle, but instead has precision control, more like a rotary table 01:10:06 Yes. The ones I've seen were mechanically geared and the hob motor was an ordinary 1750 motor with a reduction. 01:10:16 Yes. 01:10:41 sounds like it would need a custom motion controller... 01:10:48 If fact Joe Martin at Sherline built a gear hob with his rotary axis. 01:11:12 He runs it with the EMC. 01:11:32 how'd he do that? 01:11:17 I've done free hobbing before (worm gears) 01:11:33 Never tried that. 01:11:44 free hobbing is easy 01:14:35 free hobbing: http://www.metalworking.com/DropBox/_2001_retired_files/Worm09.jpg 01:16:04 That's about the arrangement between hob and blank. 01:16:13 Worm07 & 08 are gashing, 09 and 10 are hobbing 01:17:01 finished product: http://www.metalworking.com/DropBox/_2001_retired_files/Worm01.jpg 01:17:08 *jmkasunich shows off 01:17:33 Nice stuff. Thanks John. 01:17:16 back to your application ;-) 01:12:23 Do you think that a module in hal could handle these multiple gear ratios it it's loaded once for each pair? 01:12:58 such a module could probably be written, but we don't have anything like that now 01:13:16 Is the hal layer the place to do it? 01:13:22 dunno 01:13:55 Seems like slaving an axis to a handwheel would best be done at that level. 01:14:01 if we had threading, I think you could just swap around a few axis definitions and let the motion controller do it 01:14:13 I can't see why two motors wouldn't work the same. 01:18:13 if 'Z' was actually the workpiece spindle, and the "spindle" was actually the hob, then hobbing is almost the same as threading 01:19:41 The issue here is the need for multiple gear ratios between the various parts. 01:19:57 work spindle and hob need true gearing 01:20:15 the Z feed doesn't really have to be synchronized, just proportional 01:20:28 I've never found a good use for compound threading -- except making screws for an air compressor. 01:20:56 compound threading? wassat? 01:21:32 I just talked to Mike J from Sherline at the GEARS show 01:22:06 Nice system Ray 01:22:45 Thanks. Mike's a good guy for them. 01:22:19 Compound to my way of thinking is both x and z making a taper and a changing pitch while moving forward. 01:22:42 that's one weird thread 01:23:01 Yes it is and I've never figured out a nut to go with it. 01:23:19 lol 01:23:52 Could a thread like that be used to move liquid? 01:24:11 Yes dan, and compress air. 01:24:35 perhaps.... I know plastic molding machines use extrusion screws with variable pitch, but I don't think they're tapered 01:25:10 Or for fastening things into wood? 01:30:29 How's the shop coming, Dan. 01:30:53 Slowly 01:31:05 I have a new lathe stand that I'm working on now. 01:32:04 A big Lista machine cabinet that I got from a surplus store last weekend 01:32:25 what kind of a lathe are you putting on it? 01:33:02 I have an EMCO VP-10 10" with a small mill head on it. 01:33:44 I have some other machines (CNC router, CNC mill, sherline lathe) but I want the lathe set up now 01:33:52 to fix a lot of other things 01:34:03 \* rayh is away: gone to find some food. Stomach thinks throat's been cut. 01:34:26 I have had IRC set up for a couple weeks, logging things and I must say it's been very interesting 01:34:40 ray's learning what always on internet access is like... 01:34:49 he's gonna hate going back to dialup 01:35:02 I need to dust off one of my EMC computers and get back in the game 01:35:16 yep ;-) 01:35:20 right now I'm typing from my Apple cube. 01:35:51 But, I have been doing some research for EMC with it :) 01:36:12 I have set up VNC to and EMC box with it too... 01:36:57 I found a german web site, where a guy built a simulator/front end for a RTAI linux CNC machine 01:37:12 using Opencascade on a Win XP machine 01:37:20 connecting with ethernet 01:37:46 I surprised at all the things that people are doing with the software. 01:38:12 http://www.jocomomola.de/CNC_Master/ 01:38:40 or the translated version- http://216.239.39.104/translate_c?hl=en&ie=UTF-8&oe=UTF-8&langpair=de%7Cen&u=http://www.jocomomola.de/CNC_Master/download/download.html&prev=/language_tools 01:40:38 Well, I need to go. I'm taking my wife and family out for dinner. Talk to you later. 02:52:16 jmkasunich * emc2/src/hal/utils/halcmd.c: added loadrt command to halcmd, which loads a realtime HAL module by forking and execing insmod 03:33:11 jmkasunich * emc2/src/hal/utils/halcmd.c: fixed a bug that corrupted the module path after loading the first module 03:34:52 jmkasunich * emc2/scripts/emc.run: revised run script and ini file sections responsible for loading HAL modules 03:35:12 jmkasunich * emc2/configs/ (5 files): revised run script and ini file sections responsible for loading HAL modules 03:48:34 jmkasunich lathe_fork * emc2/src/hal/utils/halcmd.c: copied halcmd changes from main branch 04:00:50 jmkasunich lathe_fork * emc2/ (6 files in 2 dirs): revised run script and ini file sections dealing with HAL configuration 11:56:52 Hi Paul_c, are you there ? 11:57:55 Yes 12:01:09 Abdul sent me the mods to the vital.c... 12:01:21 I editted them in, but cannot get the compile to complete... 12:02:12 On the "make clean all PLAT=linux_rtai" command, it errors out when it starts the extbridgeport compile.. 12:02:29 It has a problem with outb.c not being a directory.... 12:03:03 You in front of the machine ? 12:03:19 It is in another room...but go ahead anyway.... 12:03:45 In /usr/local is a tarball of emc-rcslib 12:03:56 Yes... 12:04:01 I have seen that there... 12:04:09 You MUST use the rcslib sources from this tarball 12:04:34 Ok, then reedit the vital.c, when the tarbal puts the old one back in ? 12:04:59 Where are you compiling rcslib/emc at the moment ? 12:05:48 According to Jon Elson, you said to compile in /emc/rcslib/src, as well as /emc/src ...I have been compiling in both locations... 12:06:13 With both PLAT=rtai and PLAT=linux_rtai ... 12:06:36 are the sources you using in /usr/local, /home/foo, or somewhere else ? 12:07:01 They are in /usr/local ... 12:08:56 OK - Unpack the emc-rcslib tarball there... 12:09:23 Checkout the emc (and only the emc) sources from SF 12:09:39 and copy them across to /usr/local 12:10:02 Do the compile in rcslib/src & emc/src 12:10:10 and off you go. 12:10:36 I noticed the sources on SF are from febuary...Would those have your modifications in them for the vital driver ? 12:11:40 There has been another tweak since then. 12:12:03 How do I get the recently tweak sources ? 12:13:17 There are full anonymous checkout instructions on the SF cvs page 12:13:40 http://www.sourceforge.net/projects/emc 12:15:10 Yes...but the download on that page says EMC version 1.0.0, Febuary 22, 2004 ???? 12:15:37 Even though it says Feb 22, is that a recent source ? 12:15:49 See the cvs link at the top ? 12:15:56 Yes... 12:16:03 follow it 12:16:25 Ok...will read through this... 12:25:10 Hi again Paul...Did you preinstall CVS client in the BDI_Live distribution ? 12:25:57 all the tools needed should be on the CD 12:40:04 anyone know if emc will install well on gentoo? 12:40:57 A-L-P-H-A: : As long as you use a realtime kernel, there is no reason why you can't use gentoo 12:48:34 I just sent a compile note in response to Don and Jon to the user list. 12:51:10 Thanks Ray...will wait for it... 12:51:35 On the CVS, how does one download a complete package, rather than a single module ? 12:51:50 One doesn't 12:52:24 Ok...what is next then ... I am logged into the cvs pserver anonymously right now... 12:54:41 Do I do an "update" command ? 12:55:17 I believe that you can download an entire module using the ??? co emc and then co rcslib. 12:55:23 cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/emc co modulename 12:55:40 Where module name is emc for one and rcslib for the other. 12:56:02 I'm not certain that the anon checkout keeps track of versions and such. 12:57:49 Ok...so i do that command twice, first in the /usr/local directory, using emc for the module name... 12:58:15 But NOT for rcslib 12:58:18 I'd make a new directory for this rather than using an overwrite of the existing stuff. 12:58:24 Then again, in the /usr/local/emc directory using rcslib as the module name... 12:59:16 I understand where paul is coming from with old rcslib but as I said in the user post I do it from sf and then modify to preserve Paul's mods. 13:00:25 Paul is a very bright programmer and build guru. 13:00:41 Ray;s book :-} just got here. hi.. 13:01:24 \* paul_c is very tired... 13:02:10 I on the otherhand tend to be sluggish. These little slug bastards leave a slimy trail behind them. That's my approach. 13:02:40 Ok Ray on a new directory...at this time, my present system is not working, so does it matter? 13:02:45 Verbose!!! TDV!! 13:03:13 Not so much with Morphix. With the others you can simply reinstall the rpm. 13:03:53 The problem with Morph is that you really need that tarball in /usr/local in order to rebuild the system that Paul built from. 13:04:19 Yes, right....I was thinking redoing the BDI, but that is a short cut... 13:04:24 With Morph, I've screwed it up so bad that I've reinstalled. 13:04:41 Several times. 13:05:10 It's not so much a problem with the Morphix, but more a case rcslib hasn't kept track of the current rtai builds 13:05:16 Ok....I do not believe the sources were installed after the BDI install...So, I used the tarbal to put them in..... 13:05:49 That's right. 13:05:58 Both of the above. 13:06:18 I was interested at the time in make ing stripchart.... 13:06:33 Just as a way to learn what I was doing, and to help with PID tuning... 13:06:49 Darn JohnK was right last night. I do like the high speed continuous connection. To bad I can't get one at home. 13:07:13 But, now, I am trying to get the motenc-100 driver update done....which required a complete emc compile... 13:07:24 Oh! I've not used stripchart but Dave E has sent me a bunch of plots. They really look great. 13:08:15 Abdul sent me the fix for the vital.c...so I did not need to download it, last night....Then Jon told me how to compile.... 13:08:36 And everything was great until it tried to compile extbridgportio .... 13:08:44 I learned to tune by ear about 50 years ago. I've found it really difficult to work from plots. 13:09:26 I am more of a plot person....Might be the last remnant of B.C. Kuo 's teaching in me... 13:09:37 Yes. I found that same trip point a while back. It is fixed by the rcslib/etc files that Paul has in his tarball on the distro. 13:09:42 He was really into root loci... 13:10:28 Ok...so that brings us up to where you joined us Ray.... 13:10:39 emc needs a low pass filter and notch filter in the pid routine 13:10:40 I need to get that downloaded from the CVS .... 13:10:48 I've tried to read some of that stuff. No doubt but that is leads to greater precision that do my hands and ears. 13:11:31 Hi Les,,,do you know the formulation of the PID in EMC ? 13:11:45 There are several different ways to do it, I ve read on the internet... 13:12:12 I looked at the code...it's just difference equations 13:12:41 Is the proportionality in series with it all, or in parallel with the I and the D ? 13:12:50 it does have a kind of real pole in the D part 13:12:54 parallel 13:13:13 And the I and D are in parallel with each other too ? 13:13:25 actually D is rectangularly convolved to make it a bandpass 13:14:21 I think all are paralleled 13:14:29 That went over my head...but its something I should be able to figure out withtime.... 13:14:33 Ok... 13:14:51 oh...moving averaged D 13:15:08 Thee are some good web sites that talk about the various ways to do PID controllers, and how the parameters effect each other 13:15:15 in the different formulations... 13:15:19 "rectangular convolution"=simple moving average 13:15:47 Galil has videos and powerpoint presentations 13:16:06 Could not get the Galil videos to work for some reason.... 13:16:20 need a high speed connection 13:16:31 Had it....was something else.... 13:16:48 hmm they work fine for me 13:17:01 I'll figure it out eventually.... 13:17:19 well anyway a google on PID theory will bring up a few thousand links 13:17:27 Yep.... 13:17:50 lots of stuff on tuning 13:18:54 i have improved my 16bit counter to 32bit by software, maybe that is also something for your driver 13:19:08 hmm yes... is it in CVS? 13:19:57 no it is not realy finished, but one moment. I have to start my linux machine then i can show you. that are yust two lines 13:20:18 ;) 13:20:20 okay 13:23:28 during the time: why doesn't it work if i make out of the variable for scaling the counter values to a pointer ? 13:25:12 Ok here is the trick: 13:25:14 port->raw_counts[0] = (hal_u16_t) readw(port->io_base); 13:25:24 port->counts[0] += (hal_s16_t) (port->raw_counts[0] - port->raw_counts_old[0]); 13:25:35 port->raw_counts_old[0] = port->raw_counts[0]; 13:26:18 the real trick is that port->raw_counts_old[0] and port->raw_counts[0] are unsidned variables !!!!! 13:26:43 then you have the actual position in port->counts[0] 13:26:50 thats it 13:27:28 and port->counts[0] is hal_s32_t ? 13:27:34 jep 13:28:04 nice 13:28:14 did you talk to john about this? 13:28:30 he was trying to do something like this... if my memory serves me right 13:28:32 :-? 13:28:55 you are calculatind the difference out of the old and new counter value without sign and you look on the result with sign, that is then the right difference(with sign) 13:29:23 no i haen't talked to john 13:30:05 but i have to today, interesting to hear what he says 13:36:43 i send you the driver one moment 13:41:28 the bad thing is, it runns only for one channel, on friday i have implemented the other two channels, and if i turn my encoders the cannels begin to count by themself 13:42:02 now i have commended out reading the channels two and three, then it works ???? 13:42:14 I can't find out why 13:42:39 it must be a overflow, but where ???? 13:43:24 hmmm.... take it easy, explain me one more time 13:44:00 do you have the file ? 13:44:31 yes 13:44:53 in line 313 and 314 you can see i have commended out reading the other channels 13:45:54 what function? 13:46:05 found it 13:46:12 port->raw_counts[0] = (hal_u16_t) readw(port->io_base); 13:46:12 // port->raw_counts[1] = (hal_u16_t) readw(port->io_base + 0x08 ); 13:46:12 // port->raw_counts[2] = (hal_u16_t) readw(port->io_base + 0x10 ); 13:46:35 jep now it works fine but only for one channel 13:47:02 what happens if you uncomment the other two? 13:47:46 then when i turn my encoder, the counters begin to count by themself 13:48:08 encoder on axis 0? 13:48:27 the values in port->counts[] 13:48:35 and all the other 13:48:53 so: let me get this straight 13:48:59 encoder is connected to axis 0 13:49:01 right? 13:49:39 i have two at the moment 13:50:02 ok... go on 13:51:05 shouldn't hal_s32_t counts[2]; 13:51:18 be actually hal_s32_t counts[3]; ???? 13:51:40 var[2] -> var[0], var[1] 13:51:58 var[3] -> var[0], var[1], var[2] 13:52:10 I guess there is your overflow 13:52:46 shure ????? 13:53:20 I thought var[2] -> var[0], var[1], var[2] 13:53:55 where is my C handbok ? 13:55:36 uuuups you a right !!! 13:56:08 I am sure ;) 13:56:09 Beachten Sie immer die Nummerierung der Array-Elemente: In einem Array mit n Elementen reicht der zulässige Index von 0 bis n-1. 13:56:19 :P 13:56:29 thanks alot 13:56:47 don't mention it ;) 13:57:07 stupid failture, i was searching half the day yesturday for it 13:57:34 don't know about hal_bit_t *digital_in[46]; 13:57:42 maybe you need to align that one :-? 13:57:49 jep 13:57:50 I think John knows more about this 13:57:54 and all the other 13:58:25 now I was meaning 46-> 6x8=48 (6 bytes) 13:59:40 ah 14:00:50 no i think that is no problem 14:01:15 don't really know ;) 14:02:31 i read 3 words from the card 14:03:23 and then i filter the bits out and fill them in *digital_in[xx] and i stop at 45 14:03:52 soo line 346 14:04:48 45 is wrong 14:05:44 for (pin=32 ; pin < 46 ; pin++) does this count to 46 or is the last value for pin 45 ???? 14:05:52 45 14:06:18 it executes the first part of the for 14:06:20 pin=32 14:06:20 so the loop runs lastly with pin = 45 right 14:06:34 then while the condition is true (pin<46) 14:06:45 ok 14:06:47 it executes the commands 14:07:01 i have 46 inputs so i have to change tis to 47 14:07:04 and last it executes the third part of the for (pin++) 14:07:07 yup 14:07:15 or (pin<=46) 14:07:36 that looks better 14:08:21 for a pascal programmer :D 14:08:42 when I changed to C (a few years ago) I was thinking the same 14:08:49 but now I'm more used to <47 14:09:51 ok :-) 14:10:31 ever did a developer cvs checkout on windows? 14:10:36 the digital ins and outs are untested at the moment, i have to solder a adapter with LEDs 14:10:45 no 14:11:32 i do it with linux, but at the moment my linux box get's no connection, i have to find out why 14:13:38 ok i have to run, i am back in two hours 14:14:11 maybe you can use something for your driver, i have also copyed something to mine :-) 14:14:34 that's what GPL's all about 14:14:41 your code is very good to read 14:14:46 jep 14:14:56 actually it's john's mostly 14:15:00 from his encoder 14:15:13 ah 14:15:17 I just added my hardware part 14:15:46 that is half the way to a servotogo driver for emc2 i think 14:15:58 i mean your driver 14:16:00 far away ;) 14:16:05 DRO is very close 14:16:13 but servo to go is far away 14:16:23 but that would be something I could do 14:16:33 it uses also the dame chip ore 14:16:45 the same chip 14:17:27 i think the DACs ans ADCs are not so tricky 14:17:39 ok i have now realy to go !!! 14:17:54 see ou later, maybe 14:18:11 bye 14:18:18 hope so 15:43:39 have a question I hope someone can answer 15:44:20 I am getting an emc error "must use G00 with G53" 15:44:46 have not used fixture offsets before so I may have it coded wrong 15:46:09 Make sure you have a G0 or G1 on the same line 15:46:31 You are making a move to location "G53" 15:46:49 hmmm such as G53G0? 15:47:14 oh...or G0 G53 15:47:29 or G01 G53 15:47:42 and same for G54 etc? 15:49:03 unsure 15:49:30 ok thanks...I will go back out to the shop and try it 15:49:37 No error codes fo G54 and G0/G1 15:49:48 hmm ok 16:05:51 Afternoon sivaraj 16:07:39 good afternoon 16:07:50 how r u paul 16:08:26 Busy working on a new BDI-live 16:10:46 will new BDI include lathe code-G33 16:11:08 No 16:11:45 At the moment, it is only the interpreter that reads G33 16:12:04 The low level motion doesn't handle it yet... 16:12:23 i just had a glance on lathe code.It appears abc axis is disabled 16:12:58 usually spindle axis is considered as C-axis 16:13:14 Yes 16:13:51 A rotary axis on a lathe makes no sense. 16:14:46 Lathe-mill requires c-axis. 16:15:58 when emc2 will be ready 16:16:38 A mill may well have a C axis defined, but a Lathe doesn't 16:17:00 TC is the spindle. 16:18:55 I've got a couple of lathes that I service that have c and b axes. 16:19:37 i have a Mazak-ST35 which is a lathe mill .mostly used for making cams 16:19:54 C is the main spindle during live tooling operations and B is a subspindle that moves forward, matches the speed of the main spindle grabs the part for cutoff and second end operations. 16:20:16 A twin head swiss lathe 16:20:22 These are Mazak QT-10s. 16:20:52 QT10 does not have milling 16:21:05 Mine do. 16:21:50 is it. 16:22:00 I think they call them SQT-10 16:23:05 is it a analog control or digital drive 16:23:38 Digital 16:24:06 rayh:will you be replacing those drives 16:24:29 No. They work well for me. Very little maintenence problems. 16:24:50 I'm not running emc with these. 16:23:02 anyone know if I can install the BDI on a hard on a machine (MachineA), and then transfer that HD over to MachineB, and have BDI run properly? The two systems are very different from each other. 16:23:09 both are PCs still. 16:23:26 one's a duron and the other's a athalon thunderbird. 16:23:48 \* paul_c used to swap HDD from one machine to another 16:24:43 wow... maybe I should forget about working in this shop today, and go out in this nice Toronto weather... 16:24:48 A-L-P-H-A:you can swap if you have similar hardware configuration on both pcs 16:25:36 I have the same NIC cards, that's about it for similarities between the two... 16:25:55 Both with PS/2 mice ? 16:26:07 yeah, mice and kb... 16:26:23 just the video is different ? 16:26:41 video, mobo, and cpu (duron/thunderbird), ram size. 16:26:51 different. 16:27:00 the last three don't matter 16:27:30 Use the vesa driver in your xf config 16:27:48 and you should be able to swap the drives 16:29:22 Just make sure the MoBo is set to auto-detect the HD 16:29:56 okay... I'll try it. 16:30:15 and use IDE-0 16:38:10 hmm... appearantly my DVD writer can boot that machine now. :( ARCH! that would have saved me ... oh 7 hours yesterday... err. 18:06:04 still playing with those work offsets 18:06:30 turns out G00 G53 doesn't do anything 18:07:01 must jusy go to G54 to return to zero offset 18:07:12 just 18:08:08 I had to write the offsets to the .var file in a text editor