#emc | Logs for 2006-11-29

[00:00:17] <mdynac> i do Atmel AVR's
[00:00:38] <skunkworks> I think jepler and cradek also program avr's
[00:01:08] <skunkworks> SWPadnos seems to be the expert
[00:01:21] <SWPadnos> hah
[00:01:29] <skunkworks> am I wrong?
[00:01:41] <SWPadnos> well, if I'm theexpert, we're in trouble :)
[00:02:05] <SWPadnos> I probably do have the most background. but I suspect jepler has surpassed my practical knowledge by now ;)
[00:02:21] <mdynac> i was just wondering about the programming software that is available for Xilinx stuff, like the avr studio from atmel....
[00:02:40] <SWPadnos> Xilinx ISE WebPack is available free for Windows and Linux
[00:03:18] <mdynac> ahhh, the magic word "free" i will dl it now....linux too kewl....
[00:03:25] <SWPadnos> Altera has free Windows tools, but you have to pay for the Linux version (unfortunately)
[00:03:38] <mdynac> those bastards!!!
[00:03:46] <SWPadnos> indeed
[00:03:48] <skunkworks> mmmm meatloaf is done.
[00:03:58] <SWPadnos> mmmm - mac+cheese is gone :)
[00:04:26] <mdynac> gee, i'm gonna order a chicken ceaser salad from next door....
[00:04:49] <mdynac> tho mac + cheese sounds good too.....
[00:04:55] <SWPadnos> hmmm - I don't think my neighbors serve chicken caesar salads
[00:05:22] <mdynac> my neighbor happens to be a restaurant.....
[00:05:32] <SWPadnos> that's convenient
[00:05:39] <mdynac> pricy but worth it....
[00:05:56] <skunkworks> I am 5 miles from any restaurant. but a few deliver :)
[00:06:44] <SWPadnos> I guess I'm at the midrange then - I have a bunch of restaurants within a mile, and there are a bunch of others that deliver :)
[00:09:08] <skunkworks> my potato buds are a little soupy. thats ok though.
[00:11:33] <skunkworks> boy its hard to tell when things are done when your color blind
[00:11:55] <skunkworks> another 10 minutes to be safe :)
[00:13:23] <mdynac> what on earth is a potato bud, and do people eat them?
[00:14:28] <skunkworks> it is some sort of dried potato flakes that you mix with boiling water,milk and butter. sort of makes a mashed potato like substance
[00:14:47] <SWPadnos> ewww
[00:15:44] <skunkworks> its funny - as a kid we alway had real mashed potatos. when I moved out and the girlfriend made instant potatos - I thought it was the best thing ever :)
[00:16:46] <mdynac> i c potatoes that can survive a nuclear blast.....
[00:17:00] <skunkworks> right - just not meal worms :)
[00:17:37] <SWPadnos> mel worms - that sounds like something a Start Trek alien race would say
[00:17:50] <SWPadnos> Please Zagreeb, we have almost no meal worms left
[00:18:01] <skunkworks> :)
[00:18:12] <skunkworks> or credak
[00:18:30] <skunkworks> mdynac: other than the edm - any other machines planned for conversion?
[00:18:35] <SWPadnos> yes credak, I will buy your meal worms for 100 quoinants
[00:19:04] <skunkworks> or gold pressed platinum
[00:19:58] <mdynac> yes, there is one in mind......some type of HUGE cam making machine.......one linear z axic and one rotational axis...
[00:21:26] <mdynac> while the cam rotates the z axis moves up and down cutting a cam follower slot in the cam....
[00:21:59] <skunkworks> are we talking automotive cams?
[00:23:13] <mdynac> no we are talking huge cams in machinery....
[00:23:27] <mdynac> quite unlike an auto cam
[00:23:31] <skunkworks> or is it gold pressed latinum? I could never understand quark
[00:23:36] <skunkworks> ah
[00:23:44] <skunkworks> or spell it even
[00:24:30] <mdynac> go to www.camsinc.net he is my customer......
[00:25:09] <skunkworks> wow. cool. didn't know there was such a big need.
[00:25:21] <mdynac> check out the follower groove in the flash display there, that is what i mean....
[00:25:46] <skunkworks> what was that made for?
[00:25:50] <mdynac> desperatly needed in the manufacture of the Kotex!!!!
[00:25:57] <skunkworks> funny
[00:26:10] <mdynac> and let's not forget the tampon.....
[00:26:30] <mdynac> playtex is his biggest customer.....
[00:27:12] <mdynac> the machine grinnds the follower groove......
[00:27:57] <mdynac> a very niche business, he is the cam king tho.....
[00:29:58] <mdynac> he bought a machine that has an old 8088 pc controller, some university in england wrote the o/s for the machine, and he needs to upgrade....
[00:30:25] <skunkworks> ok - meatloaf looks done now - at least it seems to be the same shade all the way through
[00:30:29] <mdynac> the o/s is a one time only thingy...
[00:31:46] <skunkworks> yah - I get all excided thinking about how powerful emc2 is
[00:32:13] <mdynac> and i don't know if it even works, lest find someone who knows it...
[00:32:38] <mdynac> it's the greatest thing since sliced bread....
[00:33:17] <mdynac> or potato buds even....
[00:35:58] <skunkworks> http://www.electronicsam.com/images/KandT/cncworkshop/cncworkshopemc.jpg
[00:36:21] <mdynac> we do have a bridgeport at the shop that is just begging to have a cnc control on it.....and a clausing lathe....
[00:37:05] <mdynac> skunkworks, i'm glad i wasn't in that line up!!!!!
[00:37:23] <mdynac> just kidding...
[00:39:06] <mdynac> i somehow managed to dodge all those flashbulbs that week...
[00:42:10] <skunkworks> oops
[00:43:41] <mdynac> who is eletronic sam??? and how's the color business?
[00:44:39] <skunkworks> :) - I took a javascript class a few years ago - that was my final project. Just never changed it.
[00:44:58] <skunkworks> http://www.electronicsam.com/images/KandT/cncworkshop/memazak.JPG
[00:45:07] <skunkworks> I am on the right - jepler is on the left
[00:45:46] <skunkworks> the funny thing is the site comes up in a google search - which I find funny.
[00:48:05] <mdynac> jeff i remeber, you are kinda vague.....
[00:48:45] <skunkworks> yah - I was sort of an emc latch key kid
[00:48:48] <mdynac> swpadnos i have a ISE Webpack question?
[00:48:58] <SWPadnos> ok - I may be able to answer
[00:49:09] <mdynac> you live in cheeseland?
[00:49:17] <SWPadnos> (I don't use the ISE directly, mostly)
[00:49:20] <SWPadnos> no
[00:49:22] <SWPadnos> well, sort of - Vermont :)
[00:49:41] <skunkworks> I do - WI
[00:49:46] <SWPadnos> cheesehead
[00:49:48] <SWPadnos> go Packers!
[00:50:00] <skunkworks> they have not been doing very well :)
[00:50:06] <mdynac> that was for skunkworks...sorry i am not irc savvy
[00:50:24] <SWPadnos> whatever - I just have to remember the phrase when we visit the in-laws ;)
[00:50:56] <mdynac> i am running slackware 11 here and the webpack is for red hat , any suggestions?
[00:51:38] <SWPadnos> can slackware use RPMs?
[00:51:52] <SWPadnos> or is it a .tar.gz?
[00:52:16] <mdynac> not sure, that is new territory for me, but what better way to learn....
[00:52:27] <mdynac> actually a .tgz
[00:53:00] <SWPadnos> ok, then I'd just try doing the install however they tell you to - it may work without too much effort
[00:53:01] <mdynac> i think i saw a rpm2tgz somewhere in my travels...
[00:53:16] <SWPadnos> if it's a tgz, then you need the opposite ;)
[00:53:25] <SWPadnos> (which may not exist)
[00:53:43] <mdynac> well i will just go ahead and grab the rpm and figure it out as i go along....
[00:54:03] <mdynac> no slackware uses .tgz packages
[00:54:29] <SWPadnos> oh - I thought you were saying that the file is a tgz
[00:54:36] <mdynac> wow the webpack is one gig!!!!
[00:54:41] <SWPadnos> yes
[00:55:26] <mdynac> the programming tools are about 360 megs, is that good enough to start with?
[00:55:52] <SWPadnos> I don't know. you do need the chip support files, and probably the documentation would be a good thing
[00:56:25] <mdynac> k i'll fire up the dl then....
[00:57:03] <mdynac> apparently it is one big shell script....
[00:57:28] <SWPadnos> yes - it has the install data embedded within the script
[00:57:46] <mdynac> wow excellent xfer rate is should have it in 20 mins
[00:57:58] <SWPadnos> that's quick
[00:58:45] <mdynac> she's settling down to about 660KB/sec
[00:59:00] <SWPadnos> like I said - that's quick :)
[00:59:31] <mdynac> yep
[01:01:30] <mdynac> i used to use redhat , back in the day....
[01:01:58] <SWPadnos> me too, back when Walnut Creek CD-ROM was the cool place to get CDs
[01:02:15] <mdynac> yes!
[01:02:38] <SWPadnos> I think I still have some of the Linux disc sets from ~1994 or so
[01:03:31] <mdynac> kewl, that reminds me of my old Telix days.....
[01:03:46] <mdynac> my fav bbs surfer....
[01:03:51] <SWPadnos> back before the net was the web
[01:04:42] <mdynac> back in 1987 we had one gig on a bbs out of jax, fla.
[01:04:52] <SWPadnos> was that Channel1?
[01:04:52] <ejholmgren> sweet ...
[01:05:19] <ejholmgren> picked up a benchtop Delta drill press off craiglist for $25 last night
[01:05:26] <mdynac> a whole bedroom of hard drives....
[01:05:46] <SWPadnos> at least you didn't have to swap 3000 floppies around ;)
[01:06:01] <mdynac> we started out that way...
[01:06:27] <SWPadnos> yep - RBBS and TBBS were great back in the day
[01:06:51] <mdynac> the old FIDOnet etc....
[01:18:54] <mdynac> mr holmgren, yor seahawks did well last night....
[01:54:51] <jepler> if compiling a simple FPGA project (127 lines) can take 2 minutes it must be real frustrating for "real" projects
[01:55:29] <SWPadnos> 45 minutes + for a LabView FPGA project
[01:55:47] <SWPadnos> on an Opteron 244 system (single threaded app, so cores don't matter)
[01:57:31] <jepler> is there some way to work with smaller parts of the project, instead of rebuilding it all?
[02:00:26] <SWPadnos> for some parts, yes, but the final place+route is the big memory hog, I think
[02:02:43] <jepler> to think I get crabby at my day job because the final link of the software takes something over 30 seconds ..
[02:04:21] <SWPadnos> heh
[02:04:26] <SWPadnos> you need a faster computer (cluster)
[02:05:10] <SWPadnos> feel free to tell your boss I said that
[02:05:13] <jepler> I tell cradek that all the time
[02:05:17] <SWPadnos> oh
[02:06:17] <jepler> I can't convince him a modern 4-core opteron system will beat this dual xeon by that much
[02:06:37] <SWPadnos> hmmm - what's the time for an emc2 make on that unit?
[02:06:55] <SWPadnos> after make clean, of course
[02:06:59] <jepler> dunno -- I doubt it has the build requirements
[02:07:06] <SWPadnos> heh
[02:07:06] <jepler> even for sim
[02:09:37] <SWPadnos> I think I did some tests on the Linux kernel - something like 2 minutes or thereabouts, I think
[02:09:54] <SWPadnos> using the .config from Ubuntu
[02:10:38] <jepler> with modules? or bzImage only?
[02:10:41] <jepler> that seems really fast
[02:11:31] <SWPadnos> dunno - I can check
[02:15:15] <SWPadnos> ok - it's building now - I'll let you know in a few minutes
[02:24:45] <SWPadnos> ok - full kernel (2.6.15) + modules build was 8m11.927s real, 27m39.884s user, 4m8.104s system
[02:25:20] <SWPadnos> that was the output from `time make -j8 bzImage modules`
[02:27:04] <SWPadnos> after make clean, with a mostly cold cache (mostly because I had started a make but had forgotten the -j8, so I stopped it and did make clean again)
[02:35:50] <jepler> cradek would have killed for that when he was working on the RT kernel packages
[02:35:54] <SWPadnos> heh
[02:40:28] <SWPadnos> it's almost getting to the point where Gentoo is viable
[02:41:44] <cradek> yeah I bought a new machine because my PIII was not going to work for building the kernel a lot of times.
[02:42:01] <cradek> a fascinating bug report from Ed Nisley on -users
[02:49:21] <skunkworks> credek: I would think others would be having similar problems.
[02:49:31] <cradek> yep, I would too
[02:49:42] <skunkworks> I read through it - what about a rtai problem?
[02:49:47] <cradek> if he doesn't see it in halscope, it's quite likely his hardware
[02:50:09] <cradek> I'm really anxious to see his answer
[02:50:41] <skunkworks> I like how so many people say - 'I never had problems with emc1'
[02:50:50] <jepler> cradek: oh, did you e-mail him too?
[02:50:58] <cradek> jepler: yes cc:
[02:51:05] <cradek> skunkworks: I sure did (and I fixed a lot of them!)
[02:51:09] <jepler> I was busy writing something very much like what you wrote
[02:51:27] <jepler> I also mentioned how to downgrade the emc2 package, which may be premature at this point
[02:51:44] <cradek> yeah I was holding off on that, but it's fine
[02:51:59] <cradek> I really, really, really doubt we broke stepgen in 2.0.4.
[02:52:03] <jepler> I really, really do too
[02:52:12] <cradek> I did touch the motion controller, however
[02:52:46] <cradek> if the motion controller was reversing on stepgen, he'd get a following error immediately because of accel constraint violation
[02:53:03] <cradek> so it's stepgen or hardware/OS
[02:53:24] <jepler> he'd also see ramps back down, not a smooth step ramp with reversing direction
[02:53:44] <cradek> like I said, I'm anxious to see the answer!
[02:53:54] <jepler> cradek: i widened the quadrature counters in the FPGA but I haven't updated the hal module yet
[02:54:05] <cradek> is it getting full now?
[02:54:12] <skunkworks> lets take bets - on board video :)
[02:54:12] <jepler> I'm now trying to figure out if the pins on the "JTAG connector" can be used or not
[02:54:19] <jepler> skunkworks: pthpthpth
[02:54:55] <cradek> skunkworks: my bet is it's something stranger - and switching to a different machine will fix it
[02:55:29] <skunkworks> jepler: are some pins on the fpga not hooked to anything?
[02:55:37] <cradek> if he had a big problem with realtime, 2.0.4 would report it and he surely would have mentioned it, his bug report was so precise in every other way
[02:56:05] <jepler> skunkworks: do the math -- there are 66 I/Os available on the acex1k 100-pin package, but only ~30 on the two headers and ~17 on the parport...
[03:00:35] <jepler> it appears that the pins on the so-called "JTAG connector" are just hooked to I/Os, so this device can be used as a JTAG interface, not so it can be JTAGged
[03:01:06] <cradek> how many more is that?
[03:01:31] <jepler> there are 22-ohm series resistors. will that affect their ability to work as I/O?
[03:01:45] <jepler> cradek: enough to get a full 8 din + 8 dout
[03:01:46] <cradek> don't think so
[03:01:51] <skunkworks> cool
[03:01:53] <cradek> cool!
[03:02:02] <cradek> simple matter of soldering anyway...
[03:02:18] <cradek> you could tack 0 ohms over them, or in their place
[03:02:21] <jepler> yep very true
[03:04:19] <cradek> this is a lot of control for $60 isn't it
[03:04:35] <cradek> $60 plus hours and hours of jepler's work anyway
[03:04:45] <jepler> and now that the digital inputs don't fit in a 32-bit register with one quadrature output, I can put the quadA, quadB and quadZ signals in the new 32-bit register so that someone with fewer than 4 axes or no index pulse can use them as inputs
[03:04:56] <jepler> cradek: I would have wasted my time anyway
[03:06:21] <jmk-away> jmk-away is now known as jmkasunich
[03:06:55] <skunkworks> Hey jmkasunich!
[03:07:00] <jmkasunich> hey skunkworks
[03:07:15] <jepler> hi jmkasunich!
[03:07:16] <cradek> hi jmk!
[03:07:23] <jmkasunich> hello everybody
[03:07:35] <jepler> skunkworks: I think cradek's assigned me to work on a high speed logic scope next
[03:07:58] <jmkasunich> we gotta get jepler a m5i20
[03:08:06] <jmkasunich> that fpga as 200,000 gates ;-)
[03:08:10] <skunkworks> :) - you have a lot projects
[03:08:19] <jepler> uh oh -- I just hit 95% full
[03:08:25] <jepler> sure, I'll take a donated m5i20
[03:08:27] <cradek> guess it's done then
[03:09:16] <skunkworks> wow - that is a cool little fpga. even cripled it will do a lot. Nice find jepler
[03:09:33] <skunkworks> what did you do to get 95% full?
[03:10:07] <jepler> If I take out the vanity register it's back down to 88%
[03:10:31] <jepler> skunkworks: adding little stuff mostly
[03:11:17] <cradek> vanity?
[03:11:33] <jepler> yeah, a register that always read 0x4a656666
[03:11:48] <skunkworks> your signature?
[03:11:50] <jepler> (that is, an EPP register)
[03:11:52] <cradek> jmkasunich: FF2 works, and it really helps a lot on my lathe
[03:12:01] <cradek> jepler: how many gates does that cost you? :-)
[03:12:22] <jmkasunich> cradek: good to hear it
[03:12:30] <jepler> cradek: about 32 apparently
[03:12:46] <jepler> er, 32 LEs
[03:12:50] <cradek> jmkasunich: http://timeguy.com/cradek-files/emc/1000mms2.png
[03:13:17] <jmkasunich> yep (I was reading back over the last couple of days)
[03:13:21] <skunkworks> jmkasunich: I need to make a real ower supply now - the .5kw transformer isn't cutting it :)
[03:13:24] <jepler> cradek: bah that's only .1G!
[03:13:59] <cradek> jepler: it seems pretty snappy to me! I don't hear the accel
[03:14:51] <cradek> that's accel to full speed in 1/40th sec
[03:15:22] <skunkworks> do you notice the difference from the previous tune?
[03:15:39] <cradek> yeah it's much smoother
[03:16:26] <cradek> strangely adding much I now makes it less, not more stable - I don't know if that's normal
[03:17:00] <cradek> it works pretty well even at I=0
[03:17:19] <jmkasunich> you get very low steady state error?
[03:17:39] <cradek> yes seems like
[03:17:45] <jmkasunich> usually I=0 means that the output can go to zero and the motor stop while you still have some error
[03:18:22] <cradek> yeah it doesn't do that, it sticks within the deadband even if I try to turn it
[03:18:42] <cradek> I do have some I now
[03:19:32] <cradek> P=45 I=8 on both axes
[03:20:26] <skunkworks> jepler: so you have come up with 18 extra i/o - above the encoders and pwm pins?
[03:20:59] <jepler> skunkworks: 16, I think
[03:22:56] <jepler> on the JTAG connector there are 7 I/O, 2 GND and 1 VCC
[03:23:26] <jmkasunich> I think I gotta buy me one of those widgets
[03:23:51] <skunkworks> mine is being shipped :)
[03:24:08] <jepler> I guess that does make 18 -- there must be two I still haven't used
[03:25:11] <jepler> jmkasunich: for me it was worth it for a chance to learn some verilog
[03:25:38] <jepler> jmkasunich: but beware the gratis design software from altera is windows only, and I'm guessing not win9x..
[03:26:39] <jepler> 2000 and XP, their website says
[03:27:51] <jmkasunich> yeah
[03:28:10] <jmkasunich> I should just save my $ and get the m5i20
[03:28:27] <jmkasunich> that has the capacity to do what I _really_ want
[03:29:06] <jepler> what do you want?
[03:29:33] <jmkasunich> 4 axis stepgen, 4 axis encoder for X,Y,Z and a future rotary table stepper, plus
[03:30:06] <jmkasunich> 1 encoder, 3 analog inputs, 3 pwm, and a few digital I/O for an AC servo drive for the lathe spindle
[03:30:14] <cradek> you want steppers and encoders?
[03:30:21] <jmkasunich> plus misc I/O for jogwheels, etc
[03:30:41] <jmkasunich> cradek: steps out, and looped back to close the loop
[03:31:13] <jmkasunich> thats what jon e does on the USC card
[03:31:35] <jmkasunich> use step/dir to quadrature logic, then encoder counters
[03:32:03] <jmkasunich> if I someday decide to go servo, just change the stepgen to pwm and use real encoders
[03:32:15] <jmkasunich> oh, almost forgot - need another encoder channel for the spindle
[03:33:12] <jepler> yeah you'll need a slightly bigger device
[03:33:28] <jepler> I'm beat .. the pc software changes to go with all these fpga changes will have to wait
[03:33:31] <jepler> 'night all
[03:33:42] <jmkasunich> I'll also want to be able to transfer all that data to/from the FPGA at several KHz
[03:33:49] <jmkasunich> goodnight
[03:34:13] <jmkasunich> PCI is much faster than EPP for the data transfer
[03:34:17] <jepler> I bet this will do 5kHz
[03:34:33] <jepler> seems elson's page claims 10kHz is possible
[03:34:50] <jmkasunich> for 4 channels maybe
[03:35:27] <jepler> if you want more B/W just go USB :-P
[03:35:28] <jepler> now I'm really leavin
[03:35:29] <jepler> g
[03:35:36] <jmkasunich> night
[03:35:44] <skunkworks> night
[03:37:32] <jmkasunich> * jmkasunich starts fighting with BDI-4.50 again
[04:11:23] <cradek> jmkasunich: are you back home? I thought you were out til thursday
[04:11:34] <jmkasunich> back home
[04:11:38] <jmkasunich> only a two day trip
[04:11:42] <cradek> that's good
[04:11:49] <jmkasunich> yep
[04:12:13] <cradek> what do you think Ed Nisley's problem is?
[04:12:46] <jmkasunich> not enough info
[04:13:05] <jmkasunich> if its is momentarily reversing at the very end of a move, it might be a tiny overshoot
[04:13:23] <jmkasunich> if its happening at some other time, I haven't a clue
[04:13:47] <jmkasunich> you and jeff gave him good advice, I'm waiting for the next round of info
[04:14:10] <cradek> However, -sometimes- the motors turn (slowly!) the wrong
[04:14:11] <cradek> way; start correctly, jerk backwards, then run backwards;
[04:14:14] <cradek> run correctly for a short time and then stall; and so
[04:14:17] <cradek> forth.
[04:14:19] <jmkasunich> oh, that part....
[04:15:31] <jmkasunich> no clue
[04:15:50] <cradek> me too :-)
[04:15:57] <jmkasunich> looking at it with halscope will determine if its some software bug or a hardware issue
[04:16:04] <cradek> I suspect (hope?) halscope isn't going to show it
[04:16:28] <cradek> yeah there's not much code past what halscope sees is there
[04:16:39] <jmkasunich> nope
[04:30:31] <skunkworks> ok - bed time. night
[04:37:59] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[17:21:56] <approx> do anyone know how currents are specified in 3 phase AC servos?
[17:22:26] <approx> specs say its RMS current but is it different for 3 phase than 1 phase?
[17:22:52] <approx> for 1 phase it is 1/sqrt(2) times peak current
[17:28:18] <jepler> http://www.phys.unsw.edu.au/~jw/power.html
[17:28:53] <jepler> "An AC generator may have more than one coil. If it has three coils, mounted at relative angles of 120°, then it will produce three sinusoidal emfs with relative phases of 120°, as shown in the upper figure at right. The power delivered to a resistive load by each of these is proportional to V2. The sum of the three V2 terms is a constant. We saw above that the average of V2 is half the peak value, so this constant is 1.5 times the peak amplitude for any
[17:30:30] <jepler> so ignoring that the AC servo is an inductive load, my understanding is that the RMS current is the same all the time
[17:32:39] <approx> but the question is what manufacturers mean by RMS. is it per phase peak *1.414 or sum of all phases
[17:35:20] <jepler> I dunno
[17:36:17] <A-L-P-H-A> tele the manufacturer. :) The sales people and tech people are usually helpful. They're job is to know the products they sell.
[17:36:19] <A-L-P-H-A> and support them.
[17:39:35] <approx> usually the support people don't know the answers for the questions I ask :)
[17:55:04] <SWPadnos> the peak is still sqrt(2) * RMS for sinusoidal voltages
[17:55:57] <SWPadnos> power calculations are different though, and power is 1.5x the value for single phase
[17:56:49] <SWPadnos> look at it this way - with 2 wires (one phase), you get X power for a given voltage and load. if you add 1 more wire, that's 1.5x the number of current paths, so the current is 1.5x as high
[17:57:07] <SWPadnos> on a separate note: http://www.youtube.com/watch?v=MqDAf_lg9Xs
[17:57:13] <SWPadnos> I should get one of those
[17:58:57] <skunkworks> jepler: have you bought the flashy board yet?
[17:59:20] <jepler> interesting
[17:59:26] <jepler> skunkworks: yes, I bought a flashy
[18:00:45] <skunkworks> 1 or 2 channel?
[18:00:49] <jepler> skunkworks: I have a rudimentary program to sample from it under linux http://emergent.unpy.net/files/sandbox/scope.png
[18:01:07] <jepler> 1-channel, pluto only handles 1 channel with his scope firmware apparently
[18:01:13] <jepler> lunchtime
[18:01:28] <skunkworks> cool
[18:02:59] <skunkworks> SWPadnos: I wonder how that came about. (thought proccess wise)
[18:03:08] <SWPadnos> damfino
[18:03:13] <SWPadnos> but it is way cool
[18:04:54] <skunkworks> I can jugle 3 objects. I read a book on jugling when I was in high school. It was funny. They said 3 objects is very easy. 4 is just a bit harder. 5 objects you need to practice almost every day to keep good at it.
[18:05:12] <SWPadnos> yeah - I've never been able to get too far with 5
[18:05:44] <SWPadnos> I can juggle 3 random objects pretty well though (I did a banana, a grapefruit, and a miniature marshmallow once)
[18:06:24] <SWPadnos> believe it or not, juggling was an option for a gym class in high school :)
[18:25:36] <skunkworks> funny - gym was not one of my favorite classes :)
[18:26:23] <SWPadnos> mine either, but with such subjects as "juggling" and "orienteering", it ended up being OK :)
[18:33:22] <SWPadnos> jepler, here's a nice little compile server: http://www.tyan.com/products/html/typhoon_b2881.html
[18:54:25] <skunkworks> SWPadnos: had to look up "orienterring" Never heard of it. Looks like it would be fun - and probably earn you a merit badge in boy scouts ;)
[18:54:40] <SWPadnos> yep -there was one
[18:54:50] <SWPadnos> also useful in the military
[18:54:53] <skunkworks> yes
[18:55:26] <skunkworks> The big thing now is gps treasur hunting.
[18:55:38] <SWPadnos> "geocaching" - that's pretty fun too :)
[18:55:47] <skunkworks> thats the name.
[18:56:07] <skunkworks> a few people from my astronomy club do that.
[18:56:11] <SWPadnos> I got my wife a GPS for Christmas last year or the year before - we've managed to find a few of them
[18:58:13] <skunkworks> astronomy club.. How dorkey is that :)
[18:58:20] <SWPadnos> uberdorky
[18:58:38] <SWPadnos> but it is fun
[18:59:11] <SWPadnos> we managed to get a look at Haley's comet from the observatory at a nearby college - it was very cool
[19:00:02] <skunkworks> Cool. the club members have a bunch of nice scopes.. one just got a 12" reflector.
[19:00:32] <SWPadnos> nice
[19:01:06] <SWPadnos> we bought a telescope (a 5" or so Meade) for Haley's comet, but the higher magnification eyepieces never seemed to work, so we returned it
[19:01:36] <SWPadnos> telescope positioning and tracking is one of those other hobby applications for motor control
[19:01:46] <jepler> cradek: you *can* have two separate supply voltages on the ACEX chip (VCC_IO and VCC_CORE) but I am pretty sure they're the same (3.3v) on the pluto-p board
[19:02:13] <skunkworks> jepler: how was lunch?
[19:02:25] <jepler> skunkworks: pretty good
[19:02:52] <skunkworks> should have my board at the end of the week.
[19:03:13] <skunkworks> the other i/o boards should be here by then also.
[19:03:18] <jepler> skunkworks: there's a breakfast-all-day diner we go to sometimes. They have a large enough vegetarian clientele that there is a veggie burger and veggie bacon available. that's where we went today
[19:03:43] <SWPadnos> veggie bacon? is that salty seitan?
[19:03:51] <skunkworks> cool. wife only lets me eat veggie bacon.
[19:04:17] <skunkworks> have you ever had a walnut burger?
[19:05:26] <jepler> SWPadnos: I'm not sure what this kind is made from. my favorite kind is made from tempeh, which is a soy product.
[19:05:37] <jepler> skunkworks: no, but it sounds good
[19:05:45] <skunkworks> http://www.walnutburger.com/
[19:06:02] <SWPadnos> oh yeah - tempeh is good
[19:06:44] <cradek> this place is just the right mix of small town and big town diner
[19:07:15] <cradek> big enough for veggie burgers, small enough for the regulars to be seated with a grunt and a point at the big table in the corner
[19:07:28] <jepler> skunkworks: did you order a "flashy"?
[19:08:00] <skunkworks> No.. Not yet.
[19:08:35] <jepler> skunkworks: Do you have any kind of oscilloscope?
[19:09:05] <jepler> skunkworks: my impression is that flashy is not all that useful, compared to a real analog scope
[19:09:18] <skunkworks> we have a b&k and a tecktronixs. both 2 channel. but a nice digital storage scope would be nice.
[19:09:51] <skunkworks> I thint the b&k is 30mhz and the tronix is 100mhz. both very used and beat
[19:10:48] <jepler> flashy is pretty basic -- 8-bit sample resolution (0-255), no AC-coupled option, only 512 samples (at least on pluto-p with the supplied firmware)
[19:10:50] <SWPadnos> the pluto board doesn't have enough memory for a reasonable record length, so the effective capture rate is limited by parallel port bandwidth (which we know can be flaky)
[19:10:57] <skunkworks> cradek: trempeauleau hotel?
[19:11:07] <jepler> skunkworks: no, this diner in lincoln
[19:11:40] <skunkworks> ah
[19:12:12] <skunkworks> jepler: why are you thinking of making a hal modual for emc out if it?
[19:13:15] <jepler> skunkworks: on further consideration that's not such a great idea, because then you're limited to BASE_PERIOD as the sample rate.
[19:14:33] <SWPadnos> inless you can bulk transfer several samples in one BASE_PERIOD
[19:14:52] <SWPadnos> but you're still limited to the I/O rate, unless you enable DMA
[19:15:03] <SWPadnos> ie, ~1 uS per byte
[19:15:24] <skunkworks> I guess It would be nice to use hal scope to see outside world signals... Say the output of the fpga's pwm
[19:16:30] <skunkworks> but like you say - the flashy seems pretty limited.
[19:17:12] <jepler> even if you can get more than one sample per BASE_PERIOD, halscope won't be able to graph it
[19:22:02] <SWPadnos> hmmm - true
[19:32:12] <jepler> I did find that on my PC I can do 32-bit EPP transfers, and it is somewhat faster than 4 8-bit transfers
[19:36:14] <skunkworks> are we talking transfering programs to the fpga or actually reading and writing registers from emc2 - or both?
[19:36:47] <SWPadnos> I was wondering about that
[19:37:20] <SWPadnos> actually, I think the USC code can be sped up by writing a word with both address and data
[19:37:35] <SWPadnos> but I'm not sure
[19:38:32] <jepler> I don't know about the USC code, but in mine I only write the address at the beginning of each read or write cycle. the address register in the fpga auto-increments at each data read/write operation.
[19:38:39] <SWPadnos> also, the parport code should be better with 16-bit or 32-bit writes - I think the CPU only waits when a second port write occurs before the first has completed
[19:38:52] <SWPadnos> same with the USC
[19:39:15] <SWPadnos> but I'm not sure how much of EPP he implemented
[19:47:28] <jepler> IIRC there's a "read more" and a "write more" function, which doesn't do an address cycle
[19:49:07] <SWPadnos> ok, so on the PC end, if you set some control bits some way, then the bus cycle is data only, otherwise it may be address then data?
[19:51:00] <SWPadnos> * SWPadnos hasn't studied the EPP specs much
[19:52:03] <jepler> the port at base+3 is the address register, base+4 is the data register
[19:52:24] <jepler> do you outb(0, base+3); byte1=inb(base+4); byte2=inb(base+4)
[19:52:29] <SWPadnos> +4? I thought the parport only used 4 addresses (I guess it must be 8)
[19:52:53] <jepler> SPP has 3 registers, EPP adds at least 2 more
[19:52:59] <SWPadnos> ah
[19:53:07] <SWPadnos> see how much (little) I know? ;)
[19:53:33] <jepler> :-P
[19:58:49] <jepler> I'm always pleased when I know more than someone else
[19:58:59] <SWPadnos> heh
[19:59:12] <Rugludallur> Quick question on G2/G3 parsing, If I provide a a G2/G3 command which translates to the arc having the same start and end point with any given radius would that result in a 360° circle or something else ?
[19:59:27] <cradek> a full circle
[20:00:01] <cradek> (of course you can't use R format)
[20:00:03] <Rugludallur> cradek: great, thanks, just wanted to make sure before I implement, hmm we might wan't to add that to our g-code handbook
[20:00:38] <Rugludallur> cradek: so only I/J for a full ring ?
[20:00:51] <cradek> yes that's the only way to describe one circle
[20:01:05] <SWPadnos> I wonder if round-off might cause problems for 360° (or so) circles
[20:01:05] <jepler> beware that if the points are "just a little bit apart" then you can get a very tiny (nearly 0 degrees) arc instead
[20:01:08] <cradek> radius and one point on the circle doesn't quite cut it
[20:01:45] <Rugludallur> cradek: if you know the rotational direction and if only x y is given then .....
[20:01:56] <Rugludallur> cradek: different if you are dealing with x y z
[20:02:13] <SWPadnos> hmmm - how does the interpreter decide which circle to mill when given the radius and 2 points?
[20:02:15] <cradek> Rugludallur: start/endpoint and radius gives you infinitely many circles
[20:02:21] <SWPadnos> there should be a mirror image problem
[20:02:27] <cradek> SWPadnos: using the spec :-)
[20:02:35] <SWPadnos> oh, well that explains it ;)
[20:02:37] <cradek> actually there are 4 arcs
[20:02:45] <cradek> right, left, larger, smaller
[20:02:51] <SWPadnos> G2/G3 should select one pair
[20:02:54] <SWPadnos> hmmm
[20:03:00] <jepler> and positive or negative radius selects the other
[20:03:02] <cradek> right and +-R makes the other choice
[20:03:08] <SWPadnos> ok
[20:03:11] <SWPadnos> phew ;)
[20:03:21] <SWPadnos> I knew the NIST folks had to know more math than me
[20:03:25] <jepler> "A positive radius indicates that the arc turns through 180 degrees or less, while a negative radius indicates a turn of 180 degrees to 359.999 degrees. "
[20:03:54] <cradek> a 359.999 degree arc in R format would be a really bad idea...
[20:04:12] <jepler> that's why I wrote this -- perhaps I should specify 360 degrees too
[20:04:12] <jepler> Prefer ``Center-format'' arcs
[20:04:11] <jepler> Center-format arcs (which use I- J- K- instead of R-) behave more consistently than R-format arcs, particularly for included angles near 180 degrees.
[20:04:25] <jepler> to say "near 180 or 360 degrees"
[20:04:39] <cradek> yeah
[20:04:42] <SWPadnos> yep
[20:05:00] <Rugludallur> So IJK is the way to go, just drop R
[20:05:09] <cradek> yes
[20:05:30] <cradek> R is easier to write by hand sometimes - I don't see any reason for generated gcode to use it
[20:06:07] <Rugludallur> great, thanks for excellent help (as always)
[20:06:18] <cradek> we even all agree for once
[20:06:57] <Rugludallur> Hmm I wonder if I should put the radius in a comment for human readability ?
[20:06:59] <CIA-8> 03jepler 07HEAD * 10emc2/docs/src/gcode/main.lyx: 360 degrees is also bad for R-format arcs
[20:07:34] <skunkworks> I agree also :) our old machine only does I/J arcs anyways.
[20:07:38] <cradek> I think IJK is actually more standard
[20:07:44] <cradek> yeah, what he said
[20:08:05] <skunkworks> the new fangled R is for slackers.
[20:26:11] <SWPadnos> you know, it's amazing how a British accent gets people going
[20:26:37] <cradek> going?
[20:26:51] <SWPadnos> well, here in the US at least - I'm sure people in the UK don't care
[20:27:28] <SWPadnos> yeah - I called my car insurance company to see if I'm covered in the UK, and I said "right then" in an english accent - the girl went nuts
[20:27:30] <SWPadnos> "do that again"
[20:27:36] <SWPadnos> "are you from there"
[20:27:40] <SWPadnos> "that's so cool!"
[20:27:49] <cradek> haha
[20:28:09] <cradek> when she gets out of high school she'll get over it
[20:28:30] <SWPadnos> I said "cheerio" at the end of the conversation - she almost fell out of her chair laughing, then thanked me for doing that
[20:28:43] <jepler> I've just started to do automatic builds of the PDF and HTML documentation from the v2_1_branch: http://linuxcnc.org/docs/2.1/
[20:28:50] <cradek> heh
[20:28:53] <SWPadnos> hmmm - she's probably out of high school already - unless she has no classes 7th and 8th periods :)
[20:28:53] <jepler> the first upload is nearly done
[20:29:00] <cradek> jepler: yay!
[20:29:01] <jepler> 8th period? you had 8 periods?
[20:29:10] <SWPadnos> yes
[20:29:28] <jepler> we only had 7 in high school around here
[20:29:42] <SWPadnos> ah. I think we had longer days but fewer of them
[20:29:59] <SWPadnos> or the opposite - I don't know (my 20th reunion is this year, so I have a right to forget these things)
[20:30:04] <cradek> jepler: this should be prominent on the main Documentation page
[20:30:23] <jepler> cradek: you mean inside joomla? Yes, it probably should, but I've forgotten my joomla password again
[20:33:03] <CIA-8> 03jepler 07v2_1_branch * 10emc2/docs/src/gcode/main.lyx: merge rev 1.14
[20:57:24] <approx> is there andy advantage having velocity and position loops in cascade compared to just position loop?
[20:58:07] <approx> I see many servo systems have position and veloctity loops used simultaneously
[20:59:15] <rayh> Are you seeing "nested" loops?
[21:00:48] <approx> just like on page 2 here: http://www.danahermotion.com/support/troubleshooting/PDF_Resources/2000-07%20Cascaded%20pos-vel%20loops.pdf
[21:03:37] <rayh> * rayh mumble mumble about file names with spaces.
[21:03:59] <SWPadnos> * SWPadnos mumble mumble stupid Mozilla / Windows / Alamo website
[21:04:09] <SWPadnos> hi again folks
[21:04:37] <rayh> Hi Steven
[21:04:51] <SWPadnos> hi Ray
[21:06:36] <approx> rayh: I'm wondering if cascaded loops has some benefit over just position loop alone
[21:07:01] <rayh> Oh yea. The diagram on the top of the second page shows the nesting of velocity inside position pretty well, approx.
[21:08:17] <rayh> In fact it shows "current loop" the third common loop as well.
[21:10:11] <approx> but the other possibility seems to be position PID cascaded directly to current loop
[21:10:14] <approx> which is better?
[21:11:12] <rayh> I've seen systems using EMC that work both ways.
[21:11:30] <rayh> Tuning is a bit more critical if you are command current directly from position.
[21:11:50] <rayh> JonE does it all the time with his drive boards.
[21:12:05] <rayh> In fact there is no velocity feedback to his drives.
[21:12:34] <approx> I couldn't find any information about differences
[21:12:38] <rayh> Most stand alone servo drives can do either.
[21:12:43] <approx> seems like I have to try both
[21:13:03] <skunkworks> My plan is only a posistion loop.
[21:13:06] <rayh> Read the first paragraph of the link for a description of velocity command.
[21:13:17] <skunkworks> cradeks lathe is set up the same way.
[21:13:41] <rayh> an analog voltage command is compared to an analog voltage feedback.
[21:14:35] <rayh> You've got to have a tach or in dahner's case a d/dt from encoder pulses going by.
[21:16:08] <approx> but has anyone tried position-velocity-acceleration-torque cascade? :)
[21:16:50] <rayh> torque is current
[21:18:07] <approx> yes
[21:18:32] <approx> but separate acceleration loop, too
[21:19:25] <rayh> I don't see how accel is different from velocity repeated over time.
[21:21:22] <approx> difference of acceleration vs velocity is similar to velocity vs position
[21:24:03] <rayh> * rayh shuts his eyes trying to imagine what a variable accel profile might look inside a velocity loop.
[21:25:05] <rayh> and how the size of a change in velocity command from one loop to the next would change the accel ramp.
[21:25:55] <rayh> Are you seeing something like an S accel ramp with the ability to change the steepness of the S if the velocity delta is large?
[21:26:38] <approx> no, I'm just wondering if dividing control into smaller parts has some benefit
[21:29:10] <rayh> We have found that position to current works as long as the interval between command updates is small.
[21:29:49] <approx> I currently have 20kHz current loop and 2kHz position PID
[21:29:58] <rayh> JonE and I both like to point out that our old AllenBradley 7300 controls update about 100 times a second.
[21:30:33] <rayh> In a control like the AB the velocity command and velocity feedback from a tach were very important.
[21:30:50] <jepler> the default setup of emc2 runs the position PID at 1kHz, but with a quick change you can try 2kHz (or any other value) and see if it is an improvement.
[21:31:25] <approx> I'm running position loop in drive for minimized loop delay
[21:31:27] <rayh> approx, Those numbers sound plenty fast.
[21:31:56] <rayh> "position loop in drive"??
[21:32:04] <approx> I'm planning to make PID 4kHz since I still see stairy response in current loop :)
[21:32:22] <approx> yes. drive receives position commads
[21:32:33] <rayh> Oh that. You will always see a stairy response in a digital system.
[21:33:13] <approx> yes but these stairs are caused by very fast current loop
[21:33:42] <rayh> resolvers and tach and analog velocity signals always did produce a better surface finish on parts.
[21:35:29] <rayh> approx, are you using emc to send position commands?
[21:35:57] <approx> planning to
[21:36:35] <rayh> Serial HAL module?
[21:37:29] <approx> maybe stepping output or some serial output
[21:37:46] <approx> I'm developing my own servo drive
[21:37:59] <rayh> approx says "some serial output" and has my undivided attention?
[21:38:20] <approx> currently I can control drive via SPI
[21:38:32] <rayh> velocity is always a problem with stepping types of output.
[21:38:42] <rayh> cause that's position alone.
[21:39:40] <rayh> Even gecko's pll does a poor job of spreading motor steps between command steps.
[21:40:40] <approx> I guess I would get smooth enough operation with 2000 steps/rev
[21:40:50] <approx> encoders are 8000 CPR
[21:41:09] <approx> here you can see this stairy behavior: http://dal.ton.tut.fi/pub3/torquestairs.png
[21:41:30] <rayh> Sawtooth velocities are one reason that many tool makers have gone to very high encoder counts.
[21:41:35] <approx> green is torque command from 2kHz position loop and blue is acutal achieved torque
[21:42:02] <cradek> unless you want to support legacy (step-dir only) software I don't understand why one would use step-to-servo in a new design
[21:42:36] <approx> because it is de facto stanrad
[21:42:43] <approx> standard
[21:43:53] <rayh> Nah. It's a cheapo way to expand a servo drive's potential market.
[21:43:56] <rayh> IMO
[21:44:36] <cradek> rayh: because of legacy software, or some other reason?
[21:44:49] <approx> but user may want to use it instead of spending days of programming support for some serial protocol
[21:45:11] <rayh> Not legacy, it's the other way round.
[21:45:31] <rayh> Step and direction is easy to create and ship to a drive.
[21:45:44] <skunkworks> There are a lot of step and dirction control software out there mach and turbocnc and such. But very little softare that is cheap that will run a servo loop. (like emc2 can :))
[21:45:51] <rayh> real position and velocity commands are much harder.
[21:45:59] <cradek> I see
[21:46:51] <approx> machinist wants just position so I guess fast step/dir is sufficient
[21:47:13] <cradek> quadrature is better than step/dir too, but that doesn't mean anyone uses it...
[21:47:17] <rayh> Not the machinists I know. Surface finish is everything.
[21:47:43] <approx> but if position is accurate, then surface should be fine
[21:48:07] <rayh> On a critical part any one of then will use an older mazak v10 than a new VTC.
[21:48:10] <rayh> Nope.
[21:48:41] <rayh> any time you change velocity you change cutter characteristics.
[21:49:00] <rayh> sawtooth velocity and you wind up with steps in the finish.
[21:49:22] <rayh> So they sawtooth very quickly to make the steps small.
[21:49:43] <rayh> But then you come to the limit of a PC's ability to generate step pulses.
[21:50:43] <approx> but doesn't PC just limit top speed of positioning with steps?
[21:51:52] <rayh> You can see the issues in the lines on your trace that you linked above.
[21:52:19] <rayh> Each time a new step command is issued you get a flattening of actual torque.
[21:53:06] <approx> that happens always if current loop bandwith is higher than controller update frequency
[21:53:26] <approx> no matter how position information gets transferred
[21:54:31] <rayh> Imagine for a moment that you want an axis to travel at 0.001 ipm.
[21:55:08] <rayh> How do you step command such a thing.
[21:55:56] <rayh> with step pulses that are not much smaller than that.
[21:56:54] <approx> it doesn't make any difference if position is transferred by pulses or by serial data
[21:57:18] <rayh> Right, unless with serial data you also issue a velocity.
[21:59:11] <approx> hmm.. haven't seen such controller that uses that kind of mixed control mode
[21:59:28] <approx> but sounds interesting
[21:59:50] <rayh> A lot of drives seem to compute velocity for the next command based on the velocity required for the last command loop.
[22:00:13] <rayh> But this always glitches on the first and last command of a series.
[22:01:49] <rayh> Interesting discussion, approx. Gotta run to town. bbl.