#emc | Logs for 2006-08-19

[09:37:47] <Lerneaen_Hydra> ooh, hi alex
[09:43:23] <Lerneaen_Hydra> * Lerneaen_Hydra pokes alex_joni
[09:43:48] <Lerneaen_Hydra> you don't by any chance know anything about spindle encoders and so on?
[09:53:13] <alex_joni> a bit
[09:53:17] <alex_joni> what do you want to know?
[09:55:41] <alex_joni> eeeek..
[09:55:53] <alex_joni> * alex_joni looks like a fairy covered in white dust
[10:01:01] <Lerneaen_Hydra> oh?
[10:01:07] <Lerneaen_Hydra> what have you done?
[10:01:20] <Lerneaen_Hydra> well, I was wondering if you knew stuff about the counter module
[10:02:33] <Lerneaen_Hydra> essentially I'm taking cradek's NIST threading config. However he has a real encoder, but I only have a hole-disc and an index, so some things are different
[10:03:09] <Lerneaen_Hydra> so I should use the counter module instead of the encoder module, however the formatting used doesn't appear to be the same
[10:03:55] <alex_joni> just load it, and look at the pins exporter
[10:04:03] <alex_joni> start emc2, then 'halcmd loadrt counter'
[10:04:17] <alex_joni> or 'modinfo counter' to see insert parameters
[10:09:02] <Lerneaen_Hydra2> logger_aj: bookmark
[10:09:02] <Lerneaen_Hydra2> See
[10:09:31] <Lerneaen_Hydra2> oh, that simple?
[10:09:33] <Lerneaen_Hydra2> nice
[10:10:19] <Lerneaen_Hydra2> oh, that's right
[10:10:34] <Lerneaen_Hydra2> in cradek's script there is one portion that has not.o.in
[10:10:45] <Lerneaen_Hydra2> my EMC dies when it reaches that bit
[10:14:30] <Lerneaen_Hydra2> any ideas?
[10:15:01] <alex_joni> yes, he needed an invert
[10:15:12] <alex_joni> and loaded a "blocks not=1" or similar
[10:15:29] <Lerneaen_Hydra2> hmm, that load must have been earlier
[10:15:38] <Lerneaen_Hydra2> so if I load a block as well?
[10:15:55] <alex_joni> can't hurt
[10:18:17] <Lerneaen_Hydra2> well, axis loads
[10:18:23] <Lerneaen_Hydra2> that's always good
[10:18:33] <Lerneaen_Hydra2> what would the best way to test it be?
[10:18:41] <Lerneaen_Hydra2> just directly test g33 in mdi?
[10:19:11] <alex_joni> you could try that
[10:19:18] <alex_joni> but I would first check to see if the spindle works
[10:19:25] <alex_joni> turn it by hand, check the HAL bits
[10:20:17] <anonimasu> w8hm,
[10:23:28] <Lerneaen_Hydra2> alex_joni: like the counter nit?
[10:23:32] <Lerneaen_Hydra2> s/nit/bit
[10:25:42] <Lerneaen_Hydra2> hmm, counter 0 phase A and Z are correct
[10:26:11] <Lerneaen_Hydra2> but counts and index enable is always 0
[10:26:43] <Lerneaen_Hydra2> and position and counts is always 0
[10:27:34] <alex_joni> ok.. probably you didn't addf
[10:27:46] <Bo^Dick> do you guys know about eagle?
[10:27:49] <alex_joni> for the counter to update position and counting, you need to call that function
[10:27:54] <Lerneaen_Hydra2> oh
[10:27:55] <alex_joni> Bo^Dick: some do.. I don't much
[10:28:13] <Lerneaen_Hydra2> nope, I haven't added anything to cradek's script, only changed existing values
[10:28:20] <Bo^Dick> i've set up everythin i thought but the clearance to the groundplane from the pads seems a little tiny
[10:28:54] <Lerneaen_Hydra2> http://pastebin.ca/138629
[10:30:09] <Bo^Dick> i really thought i had set everything up in the "design rule check" dialog
[10:30:33] <Bo^Dick> cad software is a pain in the ass for morons like me >:(
[10:31:30] <Bo^Dick> i'm so naive i think i'm gonna produce this board some day
[10:32:11] <alex_joni> Lerneaen_Hydra2: halcmd show functs
[10:32:16] <alex_joni> or func
[10:32:22] <alex_joni> can't recall the exact name
[10:32:22] <Lerneaen_Hydra2> Bo^Dick: maybe there's some #eagle channel that would know the answer better?
[10:32:26] <Lerneaen_Hydra2> ok
[10:32:28] <Lerneaen_Hydra2> in halcmd?
[10:32:36] <alex_joni> "halcmd show func"
[10:33:18] <Lerneaen_Hydra2> alex_joni: didn't like that
[10:33:26] <Lerneaen_Hydra2> neither that nor functs
[10:33:33] <alex_joni> show simply
[10:33:39] <Lerneaen_Hydra2> unknown show type func
[10:33:49] <alex_joni> help?
[10:33:52] <Lerneaen_Hydra2> doesn't show much
[10:34:07] <Lerneaen_Hydra2> Loaded HAL Components:
[10:34:08] <Lerneaen_Hydra2> ID Type Name
[10:34:08] <Lerneaen_Hydra2> 14 User halcmd5905
[10:34:14] <Lerneaen_Hydra2> was the only thing worth looking at
[10:34:51] <alex_joni> * alex_joni bets 5$ that's not true
[10:35:14] <Lerneaen_Hydra2> well, the rest of the stuff there wasn't filled in
[10:35:15] <alex_joni> halcmd show all ?
[10:35:24] <alex_joni> you need emc2 to be running of course
[10:35:29] <Lerneaen_Hydra2> yeah
[10:35:31] <Lerneaen_Hydra2> it's running
[10:35:34] <Lerneaen_Hydra2> still blank
[10:35:40] <Lerneaen_Hydra2> except for the user data
[10:35:50] <alex_joni> and you need to use the same halcmd as the emc2 you're running
[10:35:57] <alex_joni> so bin/halcmd show.. for Run In Place
[10:35:57] <Lerneaen_Hydra2> oh!
[10:35:59] <alex_joni> not halcmd
[10:36:02] <Lerneaen_Hydra2> I see
[10:36:32] <Lerneaen_Hydra2> right that was a bit more
[10:36:36] <Lerneaen_Hydra2> pastebin I guess
[10:36:58] <Lerneaen_Hydra2> hmm, it was more than terminal could show :D
[10:37:01] <alex_joni> just look for counts stuff
[10:37:02] <Lerneaen_Hydra2> just a sec
[10:37:07] <alex_joni> halcmd show all | grep count
[10:37:18] <Lerneaen_Hydra2> yep
[10:38:18] <Lerneaen_Hydra2> http://pastebin.ca/138632
[10:39:43] <alex_joni> 09 E0A152D0 E0C50A0C YES 0 counter.capture-position
[10:39:43] <alex_joni> 09 E0A15240 E0C50A0C NO 0 counter.update-counters
[10:39:56] <alex_joni> those are the 2 functions you need to addf to servo-thread
[10:40:03] <Lerneaen_Hydra2> oh
[10:40:04] <Lerneaen_Hydra2> I see
[10:40:14] <Lerneaen_Hydra2> would that be in the .ini?
[10:40:17] <alex_joni> check the lathe example (it should have them for encoder.capture-position and encoder.update-counters)
[10:40:20] <alex_joni> no, in the hal file
[10:40:27] <Lerneaen_Hydra2> ok
[10:43:39] <Lerneaen_Hydra2> they seemed to be in both base and servo thread
[10:44:03] <Lerneaen_Hydra2> so I take it I keep the same division as the NIST lathe
[10:45:33] <alex_joni> yup
[10:46:15] <Lerneaen_Hydra2> it didn't like encoder.update-counters
[10:46:23] <Lerneaen_Hydra2> should that be counter.update counters?
[10:46:28] <alex_joni> indeed
[10:46:38] <alex_joni> you don't use the encoder anymore.. you use the counter.. right?
[10:46:51] <Lerneaen_Hydra2> uh
[10:46:58] <Lerneaen_Hydra2> for the spindle I have a counter
[10:47:03] <Lerneaen_Hydra2> my jogwheels and so on are encoders
[10:47:56] <alex_joni> well.. then you need both
[10:48:04] <alex_joni> but I suspect you removed the encoder from the loadrt
[10:48:45] <Lerneaen_Hydra2> I'm not following you
[10:49:46] <robin_sz> ahh, I know what htat is ...
[10:49:51] <robin_sz> thats a following error!
[10:49:56] <Lerneaen_Hydra2> ooh
[10:49:59] <Lerneaen_Hydra2> counter 0 counts now
[10:50:03] <alex_joni> Lerneaen_Hydra2: you need a software module called "encoder" to count inputs from encoders
[10:50:22] <Lerneaen_Hydra2> yeah
[10:50:29] <alex_joni> and you need a software module called "counter" to count inputs from a simple slot thingie
[10:50:32] <Lerneaen_Hydra2> I'm using a different module
[10:50:33] <Lerneaen_Hydra2> yep
[10:50:40] <alex_joni> ok, you need one encoder per encoder input
[10:50:46] <alex_joni> and one counter per counter input
[10:50:56] <alex_joni> so in your case I suspect 1 counter, and 2 encoders
[10:51:02] <alex_joni> follow me so far?
[10:51:06] <Lerneaen_Hydra2> so I replace cradek's "encoder" with "counter"
[10:51:13] <Lerneaen_Hydra2> ah, yes
[10:51:22] <Lerneaen_Hydra2> actually the encoders already work
[10:51:31] <alex_joni> ok, then leave encoders out of this
[10:51:34] <Lerneaen_Hydra2> yeah, ok
[10:51:35] <alex_joni> you need to add a counter
[10:51:37] <Lerneaen_Hydra2> that's what I though
[10:51:39] <Lerneaen_Hydra2> yep
[10:51:45] <alex_joni> loadrt counter ...=1
[10:51:47] <Lerneaen_Hydra2> yes
[10:51:50] <Lerneaen_Hydra2> that's what I hve
[10:52:09] <Lerneaen_Hydra2> as it is now counter counts works (counts up) but index enable is always false
[10:52:24] <alex_joni> loadrt counter num_chan=1
[10:52:32] <alex_joni> ok, counts working is great
[10:52:42] <alex_joni> index enable will only be 1 when the index pulse is active
[10:52:53] <alex_joni> one small slot / revolution
[10:53:02] <robin_sz> * robin_sz tries to work out why it would need a counter
[10:53:02] <Lerneaen_Hydra2> yeah
[10:53:11] <Lerneaen_Hydra2> but when I spin it there it's still false
[10:53:15] <robin_sz> never mind
[10:53:20] <Lerneaen_Hydra2> even though phaze Z is true
[10:53:24] <alex_joni> robin_sz: LH is trying to make threading work
[10:53:34] <robin_sz> alex_joni, that I worked out
[10:53:37] <alex_joni> Lerneaen_Hydra2: pastebin the whole hal ?
[10:53:43] <alex_joni> robin_sz: and he doesn't have an encoder per se
[10:53:45] <Lerneaen_Hydra2> yeah ok
[10:53:50] <alex_joni> only a disk with holes in it
[10:53:54] <robin_sz> alex_joni, this I understand also
[10:53:54] <alex_joni> kinda like half an encoder ;)
[10:53:55] <Lerneaen_Hydra2> alex_joni: the *whole* hal?
[10:54:00] <alex_joni> Lerneaen_Hydra2: right
[10:54:31] <Lerneaen_Hydra2> http://pastebin.ca/138639
[10:55:48] <alex_joni> and counter.0.index-enable is always false
[10:55:50] <alex_joni> right?
[10:56:23] <Lerneaen_Hydra2> yep
[10:56:34] <alex_joni> that's OK
[10:56:37] <robin_sz> alex_joni, so you see an index pulse, note the real time. see another, note the time again, subtraction then tells you how many ms per rev, or if you prefer, you can use it to trim the freq of software PLL. I dont really see why you would ever need to count revs ...
[10:56:38] <alex_joni> it works like that..
[10:56:38] <Lerneaen_Hydra2> I can see the little slot and when I move it past it's false
[10:56:51] <Lerneaen_Hydra2> ph
[10:56:52] <Lerneaen_Hydra2> oh
[10:56:53] <robin_sz> alex_joni, forget that .. its a distraction
[10:56:53] <Lerneaen_Hydra2> I see
[10:57:10] <alex_joni> Lerneaen_Hydra2: motion sets it high, the counter sets it low when it passes through 0
[10:57:27] <Lerneaen_Hydra2> oh, I se
[10:57:29] <alex_joni> robin_sz: it works a bit different than that
[10:57:33] <Lerneaen_Hydra2> so it should work?
[10:57:42] <robin_sz> alex_joni, right, another time
[10:57:42] <alex_joni> it's generating a ramp signal, going to 0 at each rev
[10:57:46] <alex_joni> Lerneaen_Hydra2: try it out
[10:58:03] <alex_joni> robin_sz: so the motion stuff can synch to the increasing signal
[10:58:15] <robin_sz> oh, ok.
[10:58:27] <robin_sz> so it is a PLL then
[10:58:38] <Lerneaen_Hydra2> so g33 z -10 k1 maybe?
[10:59:01] <alex_joni> Lerneaen_Hydra2: your guess is as good asmine now
[10:59:40] <Lerneaen_Hydra2> not getting any movement
[11:00:06] <alex_joni> try rotating the spindle shaft
[11:00:13] <Lerneaen_Hydra2> yeah, I did that, by hand
[11:00:14] <alex_joni> by hand
[11:00:25] <Lerneaen_Hydra2> counter works and all
[11:00:31] <Lerneaen_Hydra2> strange...
[11:00:41] <alex_joni> I don't know more of this stuff.. sorry
[11:00:56] <Lerneaen_Hydra2> ok
[11:01:09] <Lerneaen_Hydra2> thanks for getting the stuff so far to work :)
[11:01:19] <Lerneaen_Hydra2> I'll have to bug cradek later or something
[11:01:37] <alex_joni> try loading the example ngc
[11:02:47] <alex_joni> threading.ngc or so
[11:03:26] <Lerneaen_Hydra2> yeah
[11:04:30] <Lerneaen_Hydra2> nope
[11:04:38] <Lerneaen_Hydra2> just sits there waiting at the start of the move
[11:06:46] <alex_joni> Lerneaen_Hydra2: maybe that not is not needed?
[11:07:17] <alex_joni> try linking the spindle-sync directly to counter.0.index-enable
[11:07:45] <Lerneaen_Hydra2> yeah I can test that
[11:08:24] <Lerneaen_Hydra2> hey
[11:08:27] <Lerneaen_Hydra2> that's funny
[11:08:49] <Lerneaen_Hydra2> why doesn't cradek just have a reverse input rather than a not block?
[11:10:42] <alex_joni> there is no reverse input from the motion controller
[11:10:46] <Lerneaen_Hydra2> wtf? it gives me "pin 'spindle-index-en' not found
[11:10:58] <Lerneaen_Hydra2> when I commented out the old stuff and added the direct link
[11:11:00] <Lerneaen_Hydra2> oh, I see
[11:11:02] <alex_joni> linksp not linkps
[11:11:09] <Lerneaen_Hydra2> oh
[11:11:13] <alex_joni> spindle-index-en is a signal, not a pin
[11:11:22] <Lerneaen_Hydra2> oh, duh. *headsmack*
[11:11:33] <Lerneaen_Hydra2> hmm
[11:11:39] <Lerneaen_Hydra2> I had linksp though
[11:11:45] <alex_joni> now that I think of it, the idea is not good
[11:11:57] <Lerneaen_Hydra2> I'lll revert then
[11:14:32] <Lerneaen_Hydra2> I guess I'll wait for cradek then
[11:14:44] <Lerneaen_Hydra2> unless you know of some better idea?
[11:18:02] <alex_joni> no, that sounds like a good idea to me :D
[11:20:09] <Lerneaen_Hydra2> ok ;)
[11:20:21] <Lerneaen_Hydra2> thanks anyway :D
[11:22:54] <alex_joni> hi wallygl
[11:23:43] <wallygl> hi.. just looking around whats happening here :)
[11:24:35] <alex_joni> wallygl: support & talks around EMC (www.linuxcnc.org)
[11:24:38] <wallygl> anyone in japan? where do you think i can buy stepper controllers here?
[11:25:30] <alex_joni> no-one yet from japan afaik
[11:25:50] <alex_joni> but I suspect you could find some stepper controllers there too
[11:26:12] <Lerneaen_Hydra2> 'lo there wallygl
[11:26:29] <alex_joni> one of the mostly used controllers are the Gecko Drives (int he US available)
[11:26:35] <alex_joni> maybe they have an .jp dealer
[11:27:22] <wallygl> i tried looking at their website... i didnt find any. info.. hmm.. i think i havent tried google yet :)
[11:27:55] <alex_joni> you can always build a "decent" one yourself
[11:27:59] <alex_joni> L297/L298 based
[11:29:12] <wallygl> yup.. i was thinking about that too.. specially the one contributed by pmino... but having hard time asking around since i dont speak nihongo :)
[11:29:30] <alex_joni> a guy in here uses that drive
[11:29:57] <alex_joni> http://timeguy.com/cradek/cnc/stepper-drivers
[11:31:15] <alex_joni> here's his version of the PMinMO: http://timeguy.com/cradek-files/01144545838/stepdriver2.jpg
[11:32:26] <wallygl> thanks for the link
[11:33:34] <alex_joni> np, he goes by the name of cradek in here.. so you can ask for details when he's around
[12:02:54] <alex_joni> ok, enough working for today..
[12:02:59] <alex_joni> bbl
[13:54:11] <Lerneaen_Hydra> uh
[13:54:15] <Lerneaen_Hydra> I'll BBML
[13:54:19] <Lerneaen_Hydra> tomorrow sometime
[13:54:50] <Lerneaen_Hydra> bye
[16:01:27] <anonimasu> alex_joni: there?
[17:21:16] <Jymmm> Mornin
[17:43:41] <dmessier> ci
[17:54:00] <Jymmm> Screw Cam ---> http://asianwolf.com/item.jhtml?UCIDs=1068694%7C1226626&PRID=1536290
[18:36:35] <alex_joni> anonimasu: now
[20:41:27] <A-L-P-H-A> Jymmm, quit peaking in the mens changeroom.
[23:13:18] <Guest720> Anyone out there?
[23:13:24] <cradek> yep
[23:13:59] <Guest720> I'm running steppers & getting the infamous joint following error. I've tried most of the stuff in the wiki, but no luck.
[23:14:08] <Guest720> Any thoughts?
[23:14:11] <cradek> what version of emc?
[23:14:14] <Guest720> emc2
[23:14:26] <cradek> what version of emc2?
[23:14:40] <Guest720> 2.0.1
[23:15:00] <cradek> ok
[23:15:40] <cradek> because steppers do not have encoder feedback, JFE are caused by software bugs or configuration problems
[23:15:51] <cradek> and in 2.0.1 there aren't any bugs :-)
[23:15:57] <Guest720> Its a setup for a 3 axis router, and anything shorter than about 6 inches is fine, but travel over that fails....
[23:15:58] <Guest720> :)
[23:16:05] <cradek> let's look at your .ini - can you put it on pastebin.ca
[23:16:24] <Guest720> Hold while I get it.
[23:19:08] <Guest720> http://pastebin.ca/139422
[23:19:27] <cradek> which joints give the error?
[23:19:31] <Guest720> 0
[23:20:23] <cradek> woo
[23:20:32] <cradek> something tells me your router can't really go 80 inches/sec
[23:21:37] <Guest720> Through foam. Its got a really light weight head w/big motors. I had it running at around 45 yesterday.
[23:22:01] <cradek> at 4800 inches/min?
[23:22:05] <Guest720> Is that large # causing problems. I can throttle it back.
[23:22:13] <Guest720> I thought that was in inch/minute?
[23:22:36] <cradek> no the ini is vel inches/sec and accel inches/sec^2
[23:22:46] <cradek> so you want velocity 1.333
[23:23:07] <cradek> with maybe stepgen maxvel 1.4
[23:23:30] <Guest720> Ah, crap. Thanks. I'm a complete idiot...
[23:23:52] <Guest720> Got feed rate & vel units merged.
[23:24:10] <cradek> I'm surprised that doesn't happen more often actually.
[23:24:27] <Guest720> BTW, I'd like to say thanks! EMC is really usefull!!!
[23:24:34] <cradek> that's great
[23:24:42] <Guest720> And getting help, everyone has been really friendly.
[23:24:56] <cradek> that's good to hear too
[23:25:18] <Guest720> Thank you so much!
[23:25:42] <cradek> heh don't thank me too much until it works!
[23:26:24] <Guest720> Works on the smaller cuts. Would make sense if my velocity is off by a factor of 60... the longer ones will fail...
[23:26:52] <cradek> your FERROR is 2.80 inches!! so it won't error until quite a bit of error is built up.
[23:27:09] <cradek> you should put that back to a reasonable small number once the real problem is fixed
[23:27:18] <Guest720> Hey, the docs said turn it up. So I turned it up a litte followed by a lot.
[23:27:43] <cradek> sure, just a reminder to put it back since it isn't the actual problem.
[23:28:03] <Guest720> Thanks. I'm also going to double check all the velocity accel values.
[23:28:18] <cradek> ok
[23:28:29] <Guest720> I'm off to retry.Thanks a lot.
[23:28:34] <cradek> come right back if it doesn't fix it. you should have no problem at all with this setup.
[23:28:40] <Guest720> Sweet. Thanks.
[23:28:40] <cradek> welcome
[23:40:00] <JymmmEMC> cradek: Is there a list of key scna that axis uses by default?
[23:40:11] <JymmmEMC> I noticed that the numbers overlap functions
[23:51:07] <cradek> there's a list of the shortcuts in the help menu