#emc-devel | Logs for 2007-09-15

[00:08:58] <cradek> skunkworks: let's come in here... what do you use for sacrificial drilling?
[00:09:14] <skunkworks> ok
[00:09:16] <skunkworks> :)
[00:09:44] <skunkworks> my top was made of plywood. I was just asking you what you where going to use :)
[00:11:00] <skunkworks> maybe polycabonate or plexiglass?
[00:13:25] <cradek> so far I've used the perfboard with all the holes in it
[00:13:33] <cradek> I made the holes in this table so they (should) line up
[00:13:39] <cradek> so *maybe* that'll still work
[00:13:45] <skunkworks> good idea
[00:13:51] <skunkworks> worth a shot.
[00:14:14] <skunkworks> double sided boards will be very easy for you now. you won't have to think ;)
[00:14:49] <skunkworks> what do you have for a vacuum pump?
[00:15:09] <jmkasunich> how many small vertical holes did you drill
[00:15:19] <jmkasunich> perfboard has 100 per square inch
[00:16:00] <cradek> I haven't drilled them yet, but the internal channels are .400 apart
[00:16:14] <skunkworks> should not matter - some will line up. - I think my holes where 1 inch on center 1/8 diameter. worked quite well.
[00:16:26] <cradek> wow that's big holes
[00:16:34] <cradek> is big or small better?
[00:16:45] <SWPadnos> well, I finally have X+Y servo mounts
[00:16:56] <SWPadnos> for the wrong size motor, but that's easy enough to fix
[00:17:06] <skunkworks> http://www.electronicsam.com/images/KandT/vactop.JPG
[00:17:24] <skunkworks> http://www.electronicsam.com/images/KandT/vacback.JPG
[00:17:24] <SWPadnos> or, I could procrastinate by looking for AC servos that are closer to NEMA34 than my NEMA42 motors are :)
[00:17:50] <skunkworks> cradek: it is all about square inches. (I never calculated it;))
[00:17:51] <jmkasunich> aren't you supposed to be working on an analog PCB
[00:18:06] <SWPadnos> yes - I actually received a few today!
[00:18:07] <cradek> skunkworks: wow that's a much simpler design than mine :-)
[00:18:13] <skunkworks> heh
[00:18:18] <cradek> oop, gotta run, bbl
[00:18:32] <SWPadnos> see ya
[00:18:59] <SWPadnos> I did get the LEDs to blink on the analog card, but I haven't been brave enough to hook up $700 worth of parts to the +/- 15V supply yet :)
[00:19:55] <jmkasunich> current limit
[00:20:31] <SWPadnos> well, 50 mA can kill it, if it's going into the wrong pins ...
[00:22:24] <jmkasunich> silly dog... he's whining for his evening walk
[00:22:30] <jmkasunich> doesn't know it's raining outside
[00:23:12] <SWPadnos> heh
[00:23:17] <skunkworks> 3 bidders.. life is good.
[00:23:36] <SWPadnos> "let" (ie, kick) him out, and see how long it takes for him to whine to get back in
[00:23:49] <jmkasunich> it doesn't work that way
[00:23:52] <jmkasunich> no fence around the yard
[00:23:57] <SWPadnos> ah
[00:24:05] <SWPadnos> and no trench to let him play int
[00:24:20] <jmkasunich> and slightly insane dog will run away/into traffic, etc if he sees squirrel, other dog, cat, skunk, etc
[00:24:44] <skunkworks> skunk - eww
[00:25:10] <jmkasunich> he chased a skunk once
[00:25:29] <jmkasunich> by the time I caught up with him, the skunk was chasing him
[00:26:27] <jmkasunich> unfortunately I don't think he learned a thing from that experience
[00:48:59] <cradek> back
[01:25:36] <SWPadnos> so jmkasunich, do you think I've destroyed the tantalum caps that were reversed? :)
[01:25:59] <SWPadnos> I did have the current limit set to a couple hunddred mA, and there are 3 caps in parallel
[01:26:08] <SWPadnos> (no smoke or bad smeels, which is good)
[01:36:34] <jmkasunich> how high did the voltage get before it current limited?
[01:37:12] <SWPadnos> ~5.5 V
[01:37:28] <jmkasunich> so probably a watt or two
[01:37:36] <jmkasunich> (dissipated in the caps)
[01:38:15] <SWPadnos> well, it may be more than 3 caps, or I have other problems
[01:38:17] <SWPadnos> :(
[01:38:26] <SWPadnos> damned VSS/VDD labels
[01:38:27] <jmkasunich> who reversed them?
[01:38:33] <jmkasunich> you or the assy shop
[01:38:50] <SWPadnos> me
[01:38:57] <jmkasunich> crap
[01:39:06] <SWPadnos> crap either way, for the first 3 boards
[01:39:14] <jmkasunich> istr asking if you could rename the nets
[01:39:18] <SWPadnos> shit. I just missed the digikey cutoff too
[01:39:22] <SWPadnos> yeah, I know
[01:39:30] <jmkasunich> I never use the default names, I use "+5V", "-15V", etc
[01:40:02] <SWPadnos> yep. I think I used vss/vdd because there are some chips that have hidden pins that connect to them
[01:40:09] <jmkasunich> I must have overlooked things too - I reviewd the schematic
[01:40:38] <SWPadnos> eh - no biggie. I just have to find them all (and hope it's not all of them :)
[01:41:22] <SWPadnos> hmmm. I wonder if one of the tantalum cap models has the wrong polarity for the pin numbers
[01:41:47] <jmkasunich> Vdd is +15, and Vss is -15, right?
[01:41:58] <SWPadnos> yes
[01:42:05] <SWPadnos> (had to check my cheat sheet)
[01:42:42] <SWPadnos> C11 on the input conditioning sheet is wrong - I just changed those 3
[01:42:56] <jmkasunich> yeah, I just spotted that one
[01:43:21] <jmkasunich> C33 seems to be wrong
[01:43:36] <SWPadnos> which sheet?
[01:43:39] <jmkasunich> (and 35, 37, 39)
[01:43:45] <jmkasunich> the ADC
[01:43:49] <jmkasunich> reference bypasses
[01:43:49] <SWPadnos> hmmm - bummer
[01:44:14] <SWPadnos> oh man, just about every cap on that page is backwards
[01:44:18] <jmkasunich> yeah
[01:44:21] <SWPadnos> fsck
[01:44:35] <SWPadnos> somehow I always get 90% of 50/50 chances wrong
[01:44:40] <jmkasunich> C19 and 31 are OK ;-/
[01:44:44] <SWPadnos> heh
[01:44:50] <jmkasunich> how'd you manage to get C44 wrong?
[01:45:04] <SWPadnos> and C42 ...
[01:45:13] <SWPadnos> probably cut/paste errors, actually
[01:45:15] <jmkasunich> I can understand having one that should be upside down rightside up, but that one you had to flip over
[01:45:46] <jmkasunich> hmm - should C42 have a supply connected to it?
[01:45:59] <jmkasunich> or is that pin like the reference pins, powered from inside the chip
[01:46:18] <SWPadnos> DVCC is connected on my sheet - that may have changed after I sent you those
[01:46:22] <jmkasunich> ok
[01:47:17] <jmkasunich> it's a little late now ( I should have spoken up earlier ), but one trick I use - I NEVER put a polarized cap upside down on the schematic
[01:47:23] <SWPadnos> heh
[01:47:39] <SWPadnos> I probably did it once, then copied it a few (hundred) times
[01:47:46] <jmkasunich> I draw a negative rail at the bottom, a positive rail at the top, and ground in the middle
[01:47:57] <SWPadnos> at least that means the ~1W was spread around 12 or more caps :)
[01:48:10] <SWPadnos> so far
[01:48:34] <jmkasunich> 9 on the A/D sheet
[01:48:50] <SWPadnos> yep, +3 on the 3 copies of input conditioning. haven't checked the DAC yet
[01:49:07] <SWPadnos> although 42 and 44 aren't on the 15V rail, they're 5V or 3.3V
[01:49:16] <jmkasunich> the dac sheet looks OK
[01:49:28] <jmkasunich> (but should be double or triple checked anyway)
[01:49:34] <SWPadnos> yep
[01:49:49] <SWPadnos> looks OK to me as well
[01:50:19] <jmkasunich> actually I think all of the ones on the ADC sheet are on 5V or less
[01:50:24] <SWPadnos> ok, so only 12 caps to reverse - no problem on the first 3 boards, and the assy house will get the right XYRS data for the remaining 7
[01:50:25] <jmkasunich> AVcc, and REF
[01:50:43] <SWPadnos> hmmm. true, except for 19 and 31
[01:50:52] <jmkasunich> they're not backwards
[01:50:57] <SWPadnos> right - yay!
[01:51:11] <SWPadnos> so then the 3 caps may have taken most of the power from the reversal
[01:51:20] <SWPadnos> I noticed that one was a little warm, but only a little
[01:51:21] <jmkasunich> do you have spares?
[01:51:44] <SWPadnos> I was feeling around for awrmth and didn't notice it, I only noticed because the side of my finger brushed against one of the C11s
[01:52:00] <SWPadnos> no, unfortunately they're all in Colorado
[01:52:08] <jmkasunich> colorado?
[01:52:18] <jmkasunich> that's where your quick-turn board house is?
[01:52:26] <SWPadnos> I do have 3 boards though, so I can pull from the spare if necessary
[01:52:28] <SWPadnos> yep
[01:52:33] <SWPadnos> just outside Denver
[01:52:52] <jmkasunich> if you really have a spare, I suggest that you red-tag the board you are working on and declare it the spare
[01:52:58] <jmkasunich> reverse the caps on one of the others
[01:53:22] <SWPadnos> I'll try reversing on this one, and see if ot works. I have the boards numbered so I can tell them apart
[01:53:43] <SWPadnos> if it doesn't work, I'll reverse all the caps on a different board before applying power
[01:53:48] <jmkasunich> that works - my point is to not kill one board fixing another
[01:53:53] <SWPadnos> right
[01:54:06] <jmkasunich> if you do have toasted chips on this board you're gonna need them
[01:54:23] <jmkasunich> and if you have a deadline, better to not spend time trying to troubleshoot weird stuff
[01:54:33] <SWPadnos> right
[01:54:42] <jmkasunich> if it doesn't get better right away, pause, take a deep breath, and go to the next one
[01:55:26] <SWPadnos> heh - yep. all I need right now (for the next few days anyway) is a single board that I can test the FPGA code with
[01:56:14] <SWPadnos> I did manage to use the simple I/O config to get the LEDs on the board to turn on and off, so I know that at least part of the board isn't screwed up :)
[01:56:23] <jmkasunich> yay
[01:56:25] <SWPadnos> well, time to move caps around. bbiab
[01:56:40] <SWPadnos> and the address and bits were even the ones I expected for the LEDs
[01:58:56] <SWPadnos> man. it's funny how everything happens at once. I'm working on this project, the dental appointment I've waited 6 months for comes up, my company gets audited, and today I had to figure out and pay estimated tax. what a pain.
[02:48:29] <SWPadnos> well, I think I found the real problem, and it's a real problem
[02:48:41] <SWPadnos> the OPA2131 has - you guessed it - reversed VSS and VDD
[02:48:54] <SWPadnos> but it isn't rotationally symmetric like the quad op-amp
[02:49:05] <jmkasunich> what kind of package is it?
[02:49:16] <SWPadnos> SO-8
[02:49:17] <jmkasunich> SO-something, or some tiny bastard
[02:49:24] <jmkasunich> thats easy then
[02:49:27] <SWPadnos> nig - 0.05 spacing ;)
[02:49:30] <SWPadnos> big
[02:49:36] <SWPadnos> lift pins, ECO wire
[02:49:40] <jmkasunich> lift the leads off the pads, and run wire-wrap wire
[02:49:48] <SWPadnos> :)
[02:52:25] <SWPadnos> oh wait - I got that one right - just didn't see the dot on the PCB
[02:53:07] <SWPadnos> I swapped all the caps that seemed to need it but it didn't fix the problem. I'm ringing out a bare board to see if the -15 line connects anywhere suspicious
[03:08:44] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[03:44:22] <SWPadnos> ok - the good news is that I see a difference between the powered-up-and-not-working board and one of the other boards
[03:45:24] <SWPadnos> the bad news is that the difference is by the DACs (I measure ~35 ohms across the VCC filter cap, vs. open circuit on the other board)
[03:45:53] <SWPadnos> the worse news is that if one or both DACs are blown, those are the most expensive chips on the board, at ~$54 each
[03:50:16] <jmkasunich> when you say "across the VCC filter", that could mean anywhere on the board almost
[03:50:23] <jmkasunich> any chip or cap connected to VCC
[03:54:53] <SWPadnos> there aren't all that many
[03:55:13] <SWPadnos> but that's true - it could be any of them
[03:55:46] <SWPadnos> I just happened to notice it next to the most expensive chips on the board, so murphy's law kicked in ...
[17:06:44] <jepler> I'm running a loop composed of: g0z-.001
[17:06:45] <jepler> g0z0
[17:07:12] <jepler> but halscope of zpos-cmd looks quite odd
[17:08:13] <jepler> I expected something between a sawtooth and a sine with .001 p-p
[17:08:40] <jepler> http://emergent.unpy.net/index.cgi-files/sandbox/commanding-1mil-moves
[17:09:08] <jepler> but I get something irregular
[17:09:26] <jepler> anda bout .0015 p-p
[17:11:01] <jepler> if I program G61 I get <.0005 p-p which is a surprise too
[17:35:01] <SWPadnos> ack. stupid browser doesn't know what to do with your .png because it isn't named *.png
[17:35:29] <cradek> wow that's a strange behavior
[17:35:51] <SWPadnos> two browsers actually, Mozilla and Forefox (on Windows)
[17:35:57] <SWPadnos> err - Firefox
[17:36:03] <skunkworks> heh - IE opened it just fine :)
[17:36:18] <SWPadnos> of course - that's because it's insecure ;)
[17:36:36] <skunkworks> I like living on the edge
[17:37:36] <SWPadnos> what's the step resolution?
[17:41:14] <jepler> oops!
[17:41:25] <jepler> I'm used to graphical programs automatically tacking on extensions, so I didn't type one
[17:41:29] <jepler> curse gnome
[17:41:34] <SWPadnos> heh
[17:41:51] <jepler> .png added to URL
[17:42:01] <jepler> SWPadnos: SCALE 8000
[17:42:04] <SWPadnos> hmmm
[17:42:13] <jepler> but looking at -cmd, SCALE doesn't enter into it
[17:42:31] <SWPadnos> true, and -fb is tracking pretty well
[17:44:08] <cradek> http://timeguy.com/cradek-files/emc/mils.png
[17:44:17] <cradek> I get something a lot more believable with G61
[17:45:01] <cradek> with G64 I don't get any motion, it just sits halfway between
[17:45:44] <SWPadnos> hmmm. how about ferror settings?
[17:46:13] <SWPadnos> as a test, loop -cmd to -fb and set ferror to 1e-10 or something
[17:46:41] <SWPadnos> also, is DEADBAND used in motion, or is it just for PID?
[17:46:45] <cradek> as an unfortunate aside, I notice pause/step/resume don't work right
[17:47:01] <SWPadnos> TMI TMI!
[17:47:08] <cradek> step just resumes
[17:48:34] <jepler> config files: http://git.unpy.net/view?p=zenbot.git;a=tree
[17:51:31] <cradek> does step work for anyone?
[17:51:41] <cradek> I guess my tree is a little old
[17:53:45] <jepler> no, seems broken here too
[17:53:46] <jepler> sigh
[17:53:58] <cradek> did you try to fix step-from-beginning?
[17:54:02] <cradek> I'm digging in the history now
[17:54:28] <jepler> yes, I thought I had ...
[17:54:32] <jepler> bbl, lunchtime
[17:55:14] <cradek> http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/task/emctaskmain.cc.diff?r1=1.91;r2=1.92
[17:55:24] <cradek> "step while pause should resume & step" ?
[17:56:36] <SWPadnos> err - almost :)
[17:57:17] <SWPadnos> hmmm. is there even a concept of "run-to" in the interp?
[17:58:15] <cradek> I don't think so
[17:58:31] <SWPadnos> hmmm. so single-step is an execution mode?
[17:58:43] <cradek> step is implemented in motion, by pausing when the motion ID changes to the next number
[17:58:56] <SWPadnos> ah - handled in checkPreconditions
[17:58:57] <cradek> so, step actually stops slightly past the "corner"
[17:59:20] <SWPadnos> though I'm reading comments, not code
[18:01:36] <cradek> alex touched it last!
[18:01:40] <SWPadnos> heh
[18:02:19] <cradek> gads I have no idea how this all works
[18:02:34] <cradek> maybe I'll go out to the garage and drill some holes or something
[18:04:37] <SWPadnos> heh
[18:04:43] <SWPadnos> maybe I'll step away from the computer for a bit
[19:12:55] <alex_joni> * alex_joni is back
[19:13:41] <alex_joni> cradek: what kind of step is broken? last I touched that part it worked both ways
[19:15:20] <SWPadnos> it sounded like step from pause resumed, rather than single-stepping
[19:25:53] <alex_joni> oh
[19:25:59] <alex_joni> I'll look at it in a second
[19:28:40] <jepler> "step" didn't seem to have any effect when running, and was just like "run" when paused
[19:29:04] <alex_joni> in tkemc step works before a program is run
[19:29:11] <alex_joni> in axis that is greyed out
[19:32:25] <jepler> in 2.1, not in TRUNK
[19:32:55] <alex_joni> that was referring to what part? your comment or mine?
[19:33:20] <jepler> in TRUNK, "Run" and "Step" are both available when a program is loaded and machine is on
[19:34:33] <jepler> and in fact in that case ("Run" never pressed) step seems to work
[19:35:32] <alex_joni> and step after pause resumes in TRUNK?
[19:35:40] <alex_joni> * alex_joni is still compiling
[19:36:10] <jepler> hm but something in stat is right because when I start with "step", the pause button should press in on the toolbar but it doesn't...
[19:39:14] <alex_joni> I can confirm that both axis and tkemc behave the same, step after pause actually resumes
[19:39:18] <alex_joni> darn
[19:58:01] <alex_joni> jepler: can you remind me how to use 2-3 commands of gdb?
[20:18:46] <alex_joni> n/m figured it out
[20:53:00] <alex_joni> stepping is really a big POS
[21:41:17] <alex_joni> can someone check if I got it right this time>
[21:41:18] <alex_joni> ?
[21:49:30] <jepler> alex_joni: yay
[21:49:37] <jepler> yes I'll test it now
[21:49:56] <alex_joni> great
[21:59:01] <alex_joni> any good?
[22:01:44] <jepler> yes it looks like step works right
[22:01:56] <jepler> there's still a problem with the pause button in axis
[22:02:03] <jepler> I'm looking into it now
[22:02:36] <jepler> axis expects interp_state to be paused for the "pause" button on the toolbar to press in
[22:02:45] <jepler> but if you start with step, interp_state is "waiting"
[22:03:10] <alex_joni> right
[22:03:24] <alex_joni> I don't think you can resume once you started with step
[22:03:42] <jepler> I do it by hitting pause twice
[22:06:34] <jepler> EMC_TASK_PLAN_RESUME is what is sent by the second (effective) click, and if I send that manually it resumes from a start-with-step
[22:06:49] <jepler> so .. any way to get "pause" into the stat buffer when a step is done?
[22:07:57] <alex_joni> hmm
[22:10:47] <alex_joni> beats me
[22:11:26] <jepler> don't sweat it
[22:12:56] <alex_joni> can you try something?
[22:13:00] <alex_joni> I shut down my devel box
[22:13:18] <alex_joni> put 'emcStatus->task.interpState = EMC_TASK_INTERP_PAUSED;' at line 763 in emctaskmain.cc
[22:13:39] <jepler> las
[22:13:41] <jepler> jas
[22:14:51] <jepler> that does something bad
[22:14:56] <SWPadnos> heh
[22:15:06] <alex_joni> ouch :D
[22:15:23] <jepler> the second "step" acts like stop for some reason
[22:15:22] <alex_joni> forget it then .. I'll try to look at it when I have something to test
[22:15:51] <alex_joni> the other thing what I would have tried would be to put:
[22:16:04] <alex_joni> interpResumeState = EMC_TASK_INTERP_PAUSED;
[22:16:50] <alex_joni> but it probably does something bad too
[22:56:18] <alex_joni> good night all