#emc | Logs for 2007-06-23

[00:00:12] <toastydeath> it's not a waste to use any cnc for manual work if you don't have other work for it
[00:00:14] <toastydeath> imho, anyway
[00:00:18] <anonimasu> agreed
[00:00:22] <toastydeath> we have a big damn horizontal, an OKK
[00:00:34] <anonimasu> letting the machines be idle is waste
[00:00:39] <toastydeath> i want to use that.
[00:00:43] <toastydeath> i like the control
[00:01:11] <toastydeath> and i'm more comfortable with either a full manual or a full blown cnc, not this damn in the middle thing
[00:01:45] <toastydeath> part of it was me frustrated and not paying attention
[00:01:51] <toastydeath> struggling with the conversational control
[00:02:13] <toastydeath> all i wanted was "g1 x10"
[00:02:14] <toastydeath> that's all
[00:02:16] <toastydeath> and it would not do it
[00:02:27] <toastydeath> damn thing needed all sorts of crazy shit
[00:02:33] <toastydeath> !#@$%@
[00:02:47] <anonimasu> *yawn*
[00:03:23] <toastydeath> =(
[00:13:12] <Jymmm> I see a iocontrol.0.user-enable-out is there a iocontrol.0.user-enable-in ?
[00:37:26] <jmkasunich> jepler: around?
[00:52:51] <jepler> jmkasunich: just got back
[00:57:44] <jmkasunich> wanna talk about analog stuff?
[00:57:53] <jmkasunich> pwm to +/-10 to be precise
[00:59:05] <jepler> jmkasunich: I dunno -- I'm really not that serious about building a board to do it, since I don't have any of the motors
[00:59:13] <jmkasunich> ok
[00:59:52] <jmkasunich> if you do decide to build a board, the circuit you posted is probably overkill
[00:59:54] <jepler> jmkasunich: so if it's a choice between trying to teach me about op-amps, or spending the time on 5i20 stuff instead, I'd encourage you not to waste time on me
[01:00:08] <jmkasunich> you would do fine with one or two op-amps per channel, not 4
[01:00:17] <cradek> jmkasunich: how's your index?
[01:00:30] <jepler> one IC package hardly feels like overkill
[01:00:33] <jmkasunich> A to Z and everything in between
[01:01:07] <jmkasunich> jepler: two or four channels with one package is nicer ;-)
[01:02:45] <jmkasunich> cradek: index works fine for 2.2
[01:02:54] <jmkasunich> haven't started looking at 2.1 yet
[01:03:07] <jmkasunich> nor have I checked to see if my encoder is the reason for the lost counts
[01:03:10] <cradek> ah
[01:03:13] <cradek> I forgot about that
[01:03:23] <cradek> I doubt mesa is as badly broken as that
[01:03:43] <jmkasunich> you're probably right
[01:03:57] <jmkasunich> I'll be bummed if its this encoder though
[01:04:24] <cradek> sounded like it's an antique
[01:04:56] <jmkasunich> 1991 I think
[01:06:12] <jepler> jmkasunich: so you think a 1-op-amp "difference and gain" would be adequate? one thing I don't grasp at all is just how good the circuit needs to be. H&H propose all kinds of complicated schemes to decrease offsets and the like
[01:06:48] <jepler> (horowitz & hill that is)
[01:07:12] <jmkasunich2_> depends on your requirements
[01:08:00] <jmkasunich2_> sources of offset = common mode input * resistor mismatch and op amp offset voltages
[01:08:26] <jmkasunich2_> your pot tweaks resistor mismatch, but not op-amp offset
[01:08:38] <jmkasunich2_> and your buffer opamps actually add more offset
[01:10:33] <jmkasunich> I have a bias against pots because of my day job (adjusting them sucks in a commercial environment), but for this kind of thing they're probably not bad
[01:10:42] <jmkasunich> I'd still try to get well matched resistors instead
[01:10:52] <jepler> the main piece I'm still missing is why one adjustment can't cover offset of whatever type
[01:11:09] <jepler> what makes op-amp offset different from resistor mismatch
[01:11:11] <jmkasunich> cause resistor mismatch isn't really offset, its common mode rejection
[01:12:12] <jmkasunich> assume perfect resistor matching, and assume that IC3B has 3mV of offset (assume the buffers and the output amp are perfect)
[01:12:37] <jmkasunich> pins 1 and 14 are at exactly zero volts, so pin 5 is at zero
[01:12:48] <jmkasunich> due to offset, the opamp wants pin 6 at 3mV
[01:12:56] <jmkasunich> so pin 7 will be at 6mV
[01:13:46] <jmkasunich> you can adjust R8 all you want, pin 5 will still be at zero, and pin 7 at 6mV
[01:15:00] <jmkasunich> my approach for a diff amp (thats what you are building) would be to match R2 and R3 as well as possible, likewise R1 and R4
[01:15:09] <jmkasunich> ground the bottom of R4 (no pot)
[01:15:37] <jmkasunich> to trim offset, run the pot from + supply to - supply, and run a meg or so from pot wiper to pin 5
[01:16:06] <jepler> I think that was what archivist was suggesting too, but I was having trouble understanding him
[01:16:07] <jmkasunich> that can apply a small offset to pin 5 (small = supply * (1Meg/(4.7K/2))
[01:16:39] <jmkasunich> oops, (4.7k/2)/1meg
[01:16:47] <jmkasunich> ish
[01:17:20] <jmkasunich> to keep things matched, you also want to put a meg in parallel with R1
[01:21:40] <jmkasunich> you can get 4.75K 0.1% 0805 resistors from digikey for $0.20 each, minimum quantity 10
[01:21:50] <jmkasunich> so that takes care of matching pretty well
[01:22:35] <jmkasunich> and I bet a sub-2mV opamp costs less than a pot, so I'd be tempted to forget about offset comp as well, unless you need really low offset
[01:22:57] <jepler> that's a question of the servo drives, I suppose -- and I know jack about them
[01:24:57] <jmkasunich> it would be handy to be able to null out offset in the amp as well as in the circuit
[01:25:07] <jepler> and I guess the other question is gain adjustment -- whether to have one, or whether to set it by the installed components
[01:25:53] <jmkasunich> I'd probably do it with installed parts
[01:26:07] <jmkasunich> gain accuracy rarely needs to be better than a few percent
[01:26:15] <jmkasunich> 1% resistors are a dime a dozen
[01:26:56] <jmkasunich> its possible to do everything with one opamp, but that requires that you change the value of the precision resistors to change gain
[01:27:21] <jmkasunich> I'd keep the output stage in your case, so you can change 1 or 2 non-precision resistors to change the gain
[01:28:56] <jepler> so IC3A/IC3D get removed and replaced with a wire .. R1..R4 are spec'd as .1% .. and R5 is replaced with 2 1% resistors which set the gain
[01:29:14] <jmkasunich> yes, almost
[01:29:29] <jmkasunich> if you remove the buffers, then R6 and R7 also need to be precision matched
[01:29:47] <jmkasunich> and they affect the gain
[01:30:00] <jmkasunich> * jmkasunich waffles about the buffers
[01:30:49] <jmkasunich> assuming you have only one value of 0.1% resistors, you could make R6 and R2 the same value, with C6 connected to their junction
[01:31:12] <jmkasunich> but if R1 is also the same value, the net gain of the diff-amp stage is 0.5
[01:31:25] <jmkasunich> you'd rather have more gain, not less
[01:32:04] <jmkasunich> maybe 2.2K 0.1% for R2,3,6,7, and 10K 0.1% or so for R1,4
[01:32:41] <jepler> cap values not critical?
[01:32:50] <jmkasunich> also, you can put caps across R4 and R1 for another pole of filtering
[01:33:11] <jmkasunich> the first pole is (R6 in parallel with R1) * C6
[01:33:36] <jmkasunich> matching of C6 and C5 affects AC common mode rejection, but with up/down PWM, you'll never have an AC common mode signal
[01:33:47] <jmkasunich> one is switching, the other is zero
[01:34:37] <jepler> the acex datasheet showed Vol might be as high as 400mV (though that was for a TTL load)
[01:35:02] <jmkasunich> acex is the FPGA?
[01:35:03] <jepler> yes
[01:35:45] <jmkasunich> for X3-3, the load is always referenced to ground
[01:35:59] <jmkasunich> I bet when the output is low, its withing a few mv of ground
[01:36:13] <jmkasunich> for X3.1 its not so simple
[01:36:59] <jmkasunich> hmm, those buffers are looking nicer and nicer
[01:37:25] <jmkasunich> assuming you find a good and cheap opamp
[01:37:29] <jmkasunich> good = low offset
[01:37:35] <jmkasunich> or you use an offset trim pot
[01:37:46] <jepler> I haven't tried to pick an op-amp yet
[01:39:24] <jmkasunich> digikey's selection guide sucks
[01:39:39] <jmkasunich> they let you select on slew rate, not offset or supply voltage range
[01:39:43] <jmkasunich> who cares about slew rate?
[01:39:56] <ds2> high swing, fast signals do
[01:40:04] <jmkasunich> ds2: I know
[01:40:36] <jmkasunich> my point is, in many applications, offset is at least as important, if not more, and in just about all applications, supply range is important
[01:41:19] <jepler> mouser lets you choose various things including supply voltage but not offset
[01:42:31] <ds2> Or start with LM324
[01:43:27] <jmkasunich> ISTR the 324 is rather mediocre
[01:43:35] <jmkasunich> checking now
[01:43:45] <ds2> they are cheap and around
[01:44:01] <ds2> horrible specs.... probally a 30+ year old part but...
[01:44:14] <jmkasunich> 7mV
[01:44:16] <jmkasunich> yuck
[01:46:23] <jepler> bandwidth 0.0055MHz ?
[01:46:34] <jmkasunich> ?
[01:46:38] <jmkasunich> the 324?
[01:47:00] <ds2> Unity bandwidth is 1MHz
[01:47:04] <jepler> no, it's one of the choices on the mouser "bandwidth" selection
[01:47:04] <ds2> http://www.national.com/pf/LM/LM324.html
[01:47:10] <ds2> Oh hehe
[01:47:52] <jepler> does 5.5kHz have some significance for video or sound?
[01:47:59] <jmkasunich> I have no clue
[01:48:13] <jmkasunich> sometimes these databases have non-sense specs in them
[01:48:18] <ds2> hope now...that's in the middle of the audible range
[01:48:31] <ds2> i prefer to go through the manufacture sites instead
[01:49:03] <jepler> slew rate at unity gain: 2.5V/ms
[01:49:26] <jmkasunich> gawd thats slow
[01:49:46] <jepler> it's very low power though "<1uA per channel"
[01:49:59] <jmkasunich> that splains it a little
[01:50:10] <jepler> I'd just like to know the intended application
[01:50:15] <ds2> you could do worse and consider a 741
[01:50:25] <jepler> bbl
[01:50:26] <ds2> 324 can run single ended
[01:51:23] <jmkasunich> jepler: application for the slow one might be measuring temperature or something else that doesn't change quickly, and runs for a year on a battery
[01:52:02] <jmkasunich> its a shame you can't get large volume pricing on the OP4177 - thats a nice opamp
[01:52:33] <jmkasunich> 60uV offset
[01:52:57] <ds2> is it happy with single ended operation?
[01:53:08] <jmkasunich> I believe so
[01:53:18] <jmkasunich> but jepler's application would have dual supplies anyway
[01:53:22] <ds2> ah
[01:53:29] <jmkasunich> the hitch is its $6 for a quad
[01:53:38] <jmkasunich> $1.50 per amp is steep
[01:54:18] <ds2> if you need the analog specs...
[01:54:22] <jmkasunich> the 324 is about 10 times cheaper, but has 100 times the offset
[01:54:41] <ds2> 324 is a horrible but common device that you might have in a junkbox kit
[01:55:06] <ds2> is offset a big deal for his application?
[01:55:10] <jmkasunich> a bit
[01:55:18] <ds2> what is his application?
[01:55:24] <jmkasunich> don't want the motor wandering off while you are commanding zero speed
[01:55:34] <jepler> ds2: PWM to +-10V servo amp
[01:55:38] <toastydeath> motor wandering is a feature, not a bug
[01:55:44] <jmkasunich> although the postion loop corrects for it in theory
[01:55:46] <jepler> toastydeath: how so?
[01:55:56] <toastydeath> i don't know, nobody's ever challenged that statement before!
[01:55:59] <ds2> jepler: aren't you using that mostly as a comparator?
[01:56:00] <toastydeath> (because i just made it up)
[01:56:21] <jepler> toastydeath: so that the pid loop doesn't get bored?
[01:56:29] <toastydeath> jepler: it keeps the machine at temperature
[01:56:37] <toastydeath> minimizes thermal effects!
[01:57:07] <jepler> toastydeath: ah yes good thinking
[01:57:27] <toastydeath> np
[01:57:37] <toastydeath> (i'm not sure if i would call it 'thinking')
[02:01:19] <toastydeath> woooot
[02:01:38] <toastydeath> my father said he's got a pretty expensive oscilloscope sitting about, $6k
[02:01:40] <toastydeath> that i can have
[02:04:01] <jepler> lucky you
[02:04:35] <toastydeath> doesn't one of you have a billion dollar scope though
[02:04:49] <toastydeath> i feel as though most of you probably have that kind of thing just sitting around
[02:05:02] <toastydeath> so it was more of a "hey guys i'm in the club now too!" statement
[02:05:04] <jepler> hah
[02:05:08] <jmkasunich> SWPadnos has a fanch scope
[02:05:13] <toastydeath> like the retarded kid joining the lunch table
[02:05:16] <jepler> I don't have any cool stuff
[02:05:17] <jmkasunich> fancy
[02:06:08] <toastydeath> i am hoping it has the crap i need
[02:06:12] <toastydeath> it probably will
[02:06:21] <toastydeath> it will probably be able to calculate pi to a bajillion decimal places
[02:06:25] <toastydeath> and i just won't know what i'm looking at
[02:06:43] <jepler> jmkasunich: appears OP4177 is replaced by OP4277 which is $7.32 qty1 on digikey
[02:06:59] <jepler> 10uV offset voltage, 1nA bias current
[02:07:43] <jmkasunich> digikey has the 4177 for a bit less ($6ish)
[02:07:55] <jmkasunich> be nice if you could split the difference
[02:08:07] <jmkasunich> 1mV at $2 would be nice
[02:08:17] <jepler> if I was building 3 boards for myself I wouldn't blink at a $7 chip
[02:08:29] <jepler> if I was looking to have a product line obviously I would
[02:08:57] <jmkasunich> the alternative is the $0.50 chip and a couple pots
[02:09:11] <jmkasunich> as long as the $0.50 chip doesn't drift over time
[02:09:42] <jmkasunich> pots are probably $0.50 - $1.50 each (I saw some smt ones for 0.20 each, but they would probably be a royal pain)
[02:10:39] <jmkasunich> * jmkasunich stops to get some perspective
[02:10:53] <jmkasunich> 10mV of offset on a +/-10V signal is 0.1%
[02:11:30] <jmkasunich> of course, you are starting with a 3.3V signal, not 10B
[02:12:22] <jmkasunich> my op amp selections are biased the other way, I've recently been working on circuits that take +/- 10V and compress it into 0-5V for a 12 bit DAC
[02:12:31] <jmkasunich> with the goal of less than 1 LSB of error
[02:18:11] <jmkasunich> jepler: maybe LM324 plus offset pot is the way to go
[02:18:47] <jmkasunich> its not like its gonna see 50C temperature swings - adjust the offset once and forget it
[02:19:47] <jmkasunich> at $0.50 for a quad, you can afford to buffer the inputs, that will reduce error associated with the Vol of the fpga, and decouple the filter resistors from the diff-amp (precisely matched) stage
[02:47:13] <jepler> ugh -- "*** glibc detected ** /usr/bin/python: free(): invalid pointer: 0xb7d480e0 ***"
[03:05:39] <jmkasunich> ugh here too
[03:06:12] <jmkasunich> swapping the encoder signals didn't change anything - encoder 01 still counts correctly in the + direction, and loses steps going -
[03:06:26] <jmkasunich> so I wired encoder 00 in parallel - same signals go to both
[03:06:34] <jmkasunich> they don't count the same
[03:06:46] <cradek> is your card bogus somehow?
[03:06:55] <jmkasunich> I sure hope not
[03:10:00] <jmkasunich> ok, rotated the encoder till the index lights light up (on the 7i31 led board)
[03:10:04] <jmkasunich> reset both encoder channels
[03:10:19] <jmkasunich> then wiggled the shaft back and forth 20 times or so
[03:10:39] <jmkasunich> then caretully rotated it back to the point where the index light turned on
[03:11:06] <jmkasunich> channel 00 shows 394 counts, channel 01 shows 1474
[03:11:55] <cradek> do the signals look sane?
[03:12:09] <jmkasunich> I haven't scoped them
[03:12:17] <jmkasunich> at low speeds the LEDs sure look ok
[03:12:27] <cradek> huh
[03:12:40] <cradek> it just can't be that broken :-/
[03:13:04] <jmkasunich> I'm thinking about using stepgen in quad mode to provide signals to count
[03:13:38] <jmkasunich> then I can compare command and count and trigger the scope when/if they diverge
[03:13:56] <cradek> are you using that input board with the differential encoder inputs?
[03:14:12] <jmkasunich> no, I'm just directly driving the cable
[03:14:46] <jmkasunich> but I don't have any noise sources here
[03:14:51] <jmkasunich> no motors or anything
[03:16:29] <jmkasunich> also, channel 01 counts EXACTLY right as long as its counting up
[03:16:49] <jmkasunich> I gotta wonder if there is a timing constraint that isn't quite being met
[03:19:05] <cradek> reversing the wires and turning the encoder the same way does seem to rule out an encoder problem
[03:19:27] <cradek> is this your new superfast machine, or a normal one?
[03:19:31] <jmkasunich> normal
[03:20:51] <jmkasunich> I gotta wonder if there is a timing constraint that isn't quite being met
[03:20:57] <jmkasunich> oops
[03:21:53] <cradek> I'm more and more glad that I used the pluto for my lathe - it seems to do everything right, with no screwing around
[03:22:27] <cradek> that should be a real compliment to jepler, since it's the newest and least tested device of the kind
[03:23:00] <cradek> (not that this helps you with the task at hand)
[03:32:27] <Skullworks-PGAB> ( well pluto does have a nice quad counter...)
[03:38:12] <The_Ball_> i have my pluto here on the desk, im looking for female idc connects (pcb mount). it would be nice to "plug" the pluto down onto three idc connecters on the interface board
[03:44:27] <jmkasunich> curiouser and curiouser
[03:45:10] <jmkasunich> I sent sim-encoder signals out thru 5i20 generic output pins, and looped them back in to the encoder inputs
[03:45:20] <jmkasunich> I also rounted them to a software encoder block
[03:45:36] <jmkasunich> the two hardware counters and the software counter all agree
[03:45:49] <jmkasunich> count up, count down, reset on index - they match
[03:46:00] <jmkasunich> maybe it IS my encoder
[03:46:14] <cradek> but how??
[03:46:32] <jmkasunich> either that, or something that only happens when the singals are changing faster than the sim-encoder can make them change
[03:47:03] <jmkasunich> although I doubt I've exceeded 10-15 KHz turning the shaft of this encoder
[03:47:06] <cradek> scope scope scope
[03:47:34] <jmkasunich> ;-)
[03:47:40] <jmkasunich> lazy lazy lazy
[03:50:46] <cradek> Linux emc #1 SMP Fri Jun 22 22:04:24 CDT 2007 i686 GNU/Linux
[03:50:47] <cradek> whee
[03:50:54] <cradek> (maybe this'll fix my keyboard problem)
[03:55:49] <jmkasunich> hope so
[03:56:00] <jmkasunich> well, the scope says this encoder makes nice quadrature
[03:56:05] <cradek> hmm
[03:56:40] <jmkasunich> of course I can't look at every single pulse it makes
[03:57:12] <toastydeath> OR CAN YOU
[03:59:53] <jmkasunich> hmm... at 20nS/div I see some ground bounce and crosstalk
[04:00:40] <jmkasunich> but the 5i20 encoder counter has a multi-clock filter
[04:00:51] <jmkasunich> clocked at 33MHz = 30nS
[04:00:58] <ds2> with a DSO and sufficient memory, you sure can look at every pulse ;)
[04:01:00] <jmkasunich> the bounce I see is less than 20nS long
[04:01:16] <jmkasunich> I have a dso, but not sufficient memory
[04:01:18] <toastydeath> can dso's really do that?
[04:01:27] <jmkasunich> its mid-90's technology
[04:01:37] <toastydeath> no dudes this is a serious question
[04:01:46] <jmkasunich> I mean my scope is 90s
[04:01:59] <toastydeath> i've got a thing i need to scope, and the event will happen over say, five seconds
[04:02:02] <jmkasunich> there are scope that can acquire 100,000 or more samples
[04:02:09] <toastydeath> i'd like to look at a low resolution chart of the whole five seconds
[04:02:13] <jmkasunich> the problem is examining all that data
[04:02:34] <toastydeath> well to be fair i'm just looking at the overall doodad
[04:02:58] <toastydeath> not very high resolution at all, i just want to look at noise
[04:02:59] <toastydeath> over five seconds
[04:03:01] <jmkasunich> if your scope can acquire 100,000 samples, then over 5 seconds the sample rate will be 20KHz
[04:03:11] <toastydeath> impressive
[04:03:18] <jmkasunich> if the things you are looking for are significantly slower than that, you're are golden
[04:03:19] <toastydeath> that's way more than i need
[04:03:30] <toastydeath> like, i could eal with 360 samples
[04:03:32] <toastydeath> *deal
[04:03:32] <jmkasunich> well, most scopes don't do 100K samples anyway
[04:03:43] <jmkasunich> mine does 1000 I think
[04:03:54] <jmkasunich> so over 5 seconds I'd get 200 samples/second
[04:03:59] <ds2> if all you need is digital data, a logic analyzer would do better
[04:04:09] <toastydeath> i need analog data
[04:04:11] <ds2> but it usually won't catch odd analog stuff
[04:04:16] <toastydeath> damnit
[04:04:23] <toastydeath> well i'm going to get a chart recorder too
[04:04:43] <jmkasunich> my scope will turn down to 5 seconds/div or 50 seconds per screenfull
[04:04:44] <toastydeath> how much was your scope, jmkasunich
[04:04:46] <ds2> if a chart record will do, a DAC on a parallel port might be sufficient
[04:04:58] <toastydeath> it won't, i've looked
[04:05:05] <toastydeath> plus it's bulky to use a pc
[04:05:10] <toastydeath> in this application
[04:05:21] <ds2> uh... bulky? see UMPC?
[04:05:22] <toastydeath> (damn unfortunate)
[04:05:23] <jmkasunich> toastydeath: I paid $200 at a work auction of surplus equipment
[04:05:29] <toastydeath> what was the cost of it new, i mean
[04:05:30] <jmkasunich> I got a good deal
[04:05:34] <toastydeath> if you know
[04:05:39] <jmkasunich> I dunno, its pretty old
[04:05:41] <ds2> that is a great deal
[04:05:42] <toastydeath> i've got a free o-scope coming
[04:05:44] <jmkasunich> tektronix 2440
[04:05:47] <ds2> analog scopes used go for that
[04:05:48] <toastydeath> i believe it's a dso
[04:05:50] <cradek> what is this "new" thing you're talking about?
[04:05:57] <ds2> jmkasunich: is this the one that runs windows?
[04:06:12] <jmkasunich> ds2 - you gotta be kidding
[04:06:22] <ds2> they made ones that ran windows
[04:06:27] <jmkasunich> 2440 is several generations older
[04:06:44] <ds2> ah.. no up on things I can't afford like Tek scopes ;)
[04:06:46] <toastydeath> i've got a scope coming to me but i don't know what features it has
[04:06:51] <toastydeath> but it is free so i don't care
[04:07:07] <jmkasunich> the going rate on ebay for a 2440 is $400-500
[04:07:12] <toastydeath> i was trying to compare going rates
[04:07:17] <toastydeath> hmm
[04:07:24] <toastydeath> i probably should have asked what model it was
[04:07:28] <toastydeath> that would have made my job easy
[04:07:58] <toastydeath> does anybody ever use a function generator?
[04:08:08] <ds2> sure
[04:08:19] <toastydeath> can function generators (in general) do really slow things
[04:08:33] <ds2> they make ones that run at AF
[04:08:37] <toastydeath> ...af?
[04:08:41] <ds2> audio freq.
[04:08:43] <toastydeath> oh
[04:08:47] <toastydeath> i'm talking slower than that
[04:08:50] <ds2> say 100Hz-22KHz
[04:08:52] <toastydeath> like, seconds
[04:09:00] <jmkasunich> most will go down to a few Hz
[04:09:04] <toastydeath> hmm
[04:09:10] <jmkasunich> some will go down to 0.001Hz, but thats less common
[04:09:12] <ds2> sounds like a job for a DDS, DAC on Parallel port or like
[04:09:22] <toastydeath> like i said, pc based stuff is not going to work
[04:09:27] <toastydeath> unfortunately
[04:09:28] <ds2> UMPC
[04:09:39] <ds2> if you still find that clumsiy....
[04:09:46] <toastydeath> it's not that the thing itself is clumsy
[04:09:54] <toastydeath> it doesn't matter how big or small it is
[04:09:59] <jmkasunich> Tek FG501 goes down to 10^-3 Hz
[04:10:07] <toastydeath> the fact it's a pc and not native hardware with knobs within easy reach
[04:10:13] <toastydeath> it what makes it clumsy
[04:10:21] <toastydeath> hmm!
[04:10:29] <jmkasunich> looks like the 2440 was introduced in 1988
[04:10:32] <ds2> touch screen!
[04:10:36] <toastydeath> knobs!
[04:10:44] <toastydeath> anyway not buying it!
[04:11:02] <toastydeath> i may get a DAC as like, a long term logging thing
[04:11:11] <toastydeath> but not as the first set of test equipment
[04:11:21] <jmkasunich> http://cgi.ebay.com/Tektronix-FG501-Function-Generator-Plugin-TM500_W0QQitemZ330136946499QQihZ014QQcategoryZ50966QQssPageNameZWDVWQQrdZ1QQcmdZViewItem
[04:11:29] <toastydeath> 10^-3 would be great!
[04:11:31] <jmkasunich> signal generator that will do very low frequencies
[04:12:08] <toastydeath> basically i need a reference signal
[04:12:19] <toastydeath> to do differential and subtrative things
[04:12:18] <ds2> get a eval board for an ARM proc
[04:12:19] <toastydeath> on the oscope
[04:12:38] <ds2> think ADI has one that you can get a sample program to do function generation controlled by a POT
[04:12:47] <jmkasunich> I'm quite fond of tektronix TM500 series instruments
[04:13:43] <toastydeath> do these things trigger
[04:13:48] <toastydeath> (function generators)
[04:13:55] <jmkasunich> they make functions
[04:14:00] <jmkasunich> sine, triangle, square, etc
[04:14:03] <toastydeath> right
[04:14:08] <toastydeath> but i mean, can i time the start of the signal
[04:14:09] <jmkasunich> you can trigger on the signal they make
[04:14:10] <toastydeath> with another signal
[04:14:12] <toastydeath> yessssssssssss
[04:14:17] <toastydeath> jmkasunich: you are seriously my new hero
[04:14:28] <toastydeath> you just solved so many problems for me
[04:14:33] <jmkasunich> you can trigger the scope on the signal from the generator
[04:14:43] <jmkasunich> I'm not sure you can trigger the generator from something else
[04:14:46] <toastydeath> hurr
[04:14:49] <jmkasunich> depends on the particular generator
[04:15:01] <toastydeath> the scope and the generator have to trigger on an external event
[04:15:10] <toastydeath> that for-sure cannot be triggered
[04:15:14] <toastydeath> and must be the event
[04:15:30] <ds2> you might be able to use the modulation input
[04:16:07] <toastydeath> like, what i'm trying to do here is subtract a saw wave from a rising signal
[04:16:10] <toastydeath> to produce a difference on the scope
[04:16:43] <ds2> a sync input should be sufficient?
[04:16:53] <toastydeath> i am not sure what that is, sir
[04:16:55] <jmkasunich> thats kind of esoteric - a triggerable sawtooth isn't something your average function generator will do
[04:17:04] <toastydeath> damn
[04:17:17] <toastydeath> mabye just a rising sawtooth, if it's slow enough
[04:17:28] <jmkasunich> what are you trying to accomplish?
[04:17:28] <ds2> a sync input lets you time the start of a signal with an event
[04:17:32] <toastydeath> oh
[04:17:37] <toastydeath> yes, that would work
[04:17:45] <ds2> but these are all high end features
[04:17:51] <toastydeath> i'm trying to look at fine differences in acceleration
[04:18:16] <jmkasunich> what analog signal to you expect to be scoping?
[04:18:19] <tomp2> tekronix math function, one trace on the sawtooth, other on signal, math will subtract sawtooth from signal and display it ( ymmv ) you'd still be faced with syncing the sawtooth tho
[04:18:23] <jmkasunich> position isn't analog, its from an encoder
[04:18:37] <toastydeath> linear and rotary measurement devices
[04:18:47] <toastydeath> analog linear and rotary measurement devices
[04:18:51] <jmkasunich> with analog outputs? thats extremely uncommon
[04:18:58] <toastydeath> it's very common in high precision stuff
[04:19:00] <jmkasunich> analog usually isn't very accurate
[04:19:13] <toastydeath> the amps they use are good, and they sure charge you enough
[04:19:20] <toastydeath> the bastards
[04:19:22] <tomp2> like lvdt's?
[04:19:24] <toastydeath> yes
[04:19:28] <toastydeath> exactly.
[04:19:33] <tomp2> damn accurate
[04:19:34] <jmkasunich> oh, ok
[04:19:39] <jmkasunich> very short range
[04:19:41] <toastydeath> also an interferometer
[04:19:57] <ds2> if you are handy, you can build one with the MAX038 chip (if you can find it)
[04:20:01] <toastydeath> an analog interferometer, because they're "accurate enough" and also "not a million dollars"
[04:20:12] <toastydeath> ds2: build which
[04:20:24] <ds2> the function generator
[04:20:28] <toastydeath> oh!
[04:20:43] <toastydeath> i don't have a problem purchasing a used one for a couple hundred bucks
[04:20:46] <toastydeath> if it will do what i need
[04:20:53] <jmkasunich> if all you need is an adjustable slow ramp, thats an integrator
[04:21:10] <jmkasunich> with an analog switch to reset/sync it
[04:21:12] <toastydeath> a function integrator?
[04:21:27] <jmkasunich> an integrator - apply a constant input, get a constant ramp
[04:21:30] <ds2> problem is finding one with a sync input
[04:21:40] <jmkasunich> op-amp with a capacitor from output to inverting input
[04:21:47] <jmkasunich> and an analog switch across the cap
[04:21:50] <toastydeath> i'll need other stuff
[04:21:53] <toastydeath> sine waves and triangle waves
[04:21:55] <toastydeath> mostly
[04:22:00] <toastydeath> but sawtooth most importantly.
[04:22:01] <jmkasunich> oh, ok
[04:22:11] <ds2> actually, you might not need a sync input
[04:22:30] <ds2> might be able to do this with an async single.. play games with X/Y mode
[04:23:22] <toastydeath> i am going to profess my ignroance again though
[04:23:28] <toastydeath> what does an async input do?
[04:23:35] <ds2> lassojou (sp) patterns
[04:23:46] <ds2> nothing. it just is not sync'ed with your signal
[04:24:07] <ds2> but that just introduces a phase shift
[04:24:18] <jmkasunich> I think hes gonna want sync
[04:24:36] <toastydeath> i mean the only reason i need a function generator is to provide a reference to subtract
[04:24:42] <toastydeath> or add or whatever
[04:24:43] <toastydeath> on the scope
[04:24:43] <jmkasunich> especially if the rates are slow to start with - if its async, only one in many traces will be usefull I bet
[04:25:21] <ds2> hmm
[04:26:10] <toastydeath> so like, the reference needs to start at the same time the lvdt or interferometer starts to ramp up
[04:26:22] <toastydeath> so we can check stuff like leadscrews
[04:27:30] <toastydeath> so like, i know it's going to raise X volts and at Y rate, and set the generator for that
[04:27:35] <toastydeath> set the storage up on the scope
[04:27:43] <toastydeath> and see what happens
[04:27:53] <jmkasunich> I see
[04:28:10] <toastydeath> can check pitch error AND vibration/etc
[04:28:11] <toastydeath> on that axis
[04:28:13] <toastydeath> all at once
[04:28:15] <jmkasunich> so you need a very linear, very low noise ramp from the function generator
[04:28:19] <toastydeath> yes sir
[04:28:45] <ds2> either high rez dds or constant current charged caps then
[04:28:46] <jmkasunich> what kind of range are we talking about?
[04:28:51] <toastydeath> in voltage?
[04:28:57] <toastydeath> probably up to about 20 volts
[04:29:04] <toastydeath> way, way tops
[04:29:09] <jmkasunich> does the lvdt or interferometer go from -10V to +10V over some specificed distance?
[04:29:17] <toastydeath> the analog amp determines that
[04:29:38] <toastydeath> it's a set voltage per unit distance, but you can change the range
[04:29:49] <toastydeath> thus, if you set it up weird, it can go pretty high
[04:30:22] <jmkasunich> so something like 1mV per micron, which would give you 1 volt per mm, and +/-10 mm of travel before it hits the supply rails
[04:30:35] <toastydeath> something like that
[04:30:40] <jmkasunich> (analog stuff rarely goes much beyond +/-10V)
[04:30:54] <toastydeath> i don't know what the interferometer is going to spit out
[04:31:00] <toastydeath> just what the lvdt's and cap probes spit out
[04:31:10] <jmkasunich> I bet they're nonlinear
[04:31:15] <jmkasunich> at least over large distances
[04:31:23] <toastydeath> from what i understand they're real linear
[04:31:42] <toastydeath> because they don't know absolute distance
[04:31:43] <tomp2> maybe... with a storage tektronics you can 'sync' a loaded signal and subtract it ( move the sawtooth till it 'aligns', then subtract it ) i know i could overlay stored signals and compare, but never subtracted one
[04:31:46] <jmkasunich> might be 1mV per micron for the first 500microns (1/2mm), then nonlinear
[04:31:51] <jmkasunich> or I could be full of crap
[04:31:53] <toastydeath> i think it cycles up and down
[04:32:00] <toastydeath> but i'm not sure
[04:32:10] <toastydeath> because that's what the real input signal is doing
[04:33:17] <toastydeath> but it's all speculation until i have one in my hands
[04:33:19] <toastydeath> and try to use it
[04:33:38] <toastydeath> who knows, it might only be analog for the unit itself, and the output may be digital
[04:33:52] <tomp2> http://www.macrosensors.com/ms-lvdt_faq-tutorial.html
[04:34:31] <toastydeath> tomp2: not lvdt's
[04:34:32] <toastydeath> interferometers
[04:34:37] <toastydeath> the lvdts are not an issue
[04:35:05] <toastydeath> but that is an awesome link anyway
[04:37:57] <toastydeath> you guys know a lot about the oscope/generator stuff
[04:38:02] <toastydeath> thank you for your answers
[04:38:19] <jmkasunich> well, I counted 7 million counts at 30KHz, in software and in hardware (2 channels), and all three agree
[04:38:27] <toastydeath> ?
[04:38:30] <jmkasunich> whatever my problem was, it must be the encoder
[04:38:35] <toastydeath> oh
[04:38:54] <jmkasunich> you're welcome
[04:39:11] <jmkasunich> (some of us have been using oscopes for 20+ years)
[04:39:33] <toastydeath> hopefully i will get my noob hands on this stuff and learn me some tricks
[04:39:37] <toastydeath> seems to be a dying art
[04:43:13] <jmkasunich> tiem for bed I think
[04:43:14] <jmkasunich> night all
[04:43:53] <Unit41> www.teslaenergy.ca
[04:44:01] <Unit41> my website
[04:44:54] <Unit41> im not quite sure where all those pictures came from either
[04:44:56] <Unit41> I stole em
[05:02:12] <The_Ball_> jmkasunich, have you opened the encoder and checked for dust?
[05:06:39] <The_Ball_> jmkasunich, one of my motors had a small piece of dust that was pulled into the encoder when rotating clockwise but ejected from the encoder when running counter clockwise
[05:15:19] <tomp2> nit all
[07:08:49] <a-l-p-h-a2> a-l-p-h-a2 is now known as a-l-p-h-a
[09:36:46] <The_Ball_> jepler, have you finished the pwm->voltage design?
[12:25:56] <robin_sz> meep?
[12:27:57] <jepler> $ apt-get build-dep python2.5
[12:28:01] <jepler> The following packages will be REMOVED:
[12:28:01] <jepler> onboard python-xml serpentine ubuntu-desktop
[12:28:14] <jepler> wow it has to uninstall ubuntu-desktop to build python? that's f**ed up right there
[12:30:10] <robin_sz> well, it is ubuntu ;)
[12:30:39] <robin_sz> * robin_sz wonders whether it does that in Debian
[12:30:44] <jepler> Build-Conflicts: tcl8.3-dev, tk8.3-dev, python2.5-xml, python-xml
[12:31:29] <robin_sz> that is slightly crazy, after all .. python is an interpreted language
[12:31:40] <robin_sz> it might depend on it, but its not linked to it
[12:33:20] <jepler> python2.4 (2.4.3-7) unstable; urgency=medium
[12:33:21] <jepler> * Reupload, depend on python-central (>= 0.4.15).
[12:33:21] <jepler> * Add build-conflict on python-xml.
[12:33:21] <jepler> -- Matthias Klose <doko@debian.org> Wed, 14 Jun 2006 18:56:57 +0200
[12:33:26] <jepler> debian people decided to add this, not ubuntu people
[12:33:41] <jepler> I am curious about why it is required
[12:33:47] <robin_sz> can't I blame ubuntu anyway?
[12:34:07] <jepler> you can do whatever you like, but in this case the smell is coming from debian, or maybe the python developers
[12:34:40] <robin_sz> hmmm
[12:35:07] <robin_sz> presumably there is a "just do it and ignore that stuff" option
[12:36:00] <jepler> the things it wants to uninstall are not that important
[12:36:47] <robin_sz> i never really understood what a "desktop" was supposed to do anyway
[12:37:18] <jepler> it pulls in all the packages that should be part of the desktop
[12:37:32] <robin_sz> umm
[12:37:42] <jepler> it exists solely to require other packages for installation
[12:37:55] <robin_sz> right
[12:38:23] <jepler> ah crap -- now I've filled up the 3GB drive I allocated for feisty
[12:39:28] <jepler> back to step 0
[12:53:17] <Bo^Dick> how many linux versions supports emc?
[12:59:54] <robin_sz> umm, depends ...
[13:00:19] <robin_sz> in theory, you can run it on ANY version, with a suitable patches to the kernel etc
[13:00:29] <robin_sz> and a bit of work
[13:00:38] <jepler> any "sufficiently modern" linux should be able to run emc2 in simulator mode; any "sufficiently modern" x86 linux with a realtime kernel should be able to run emc2 to control hardware
[13:01:04] <robin_sz> for minimum pain, the Ubuntu route is the way to go
[13:01:15] <jepler> the emc developers build packages and realtime kernels for only two flavors of ubuntu
[13:01:27] <robin_sz> what he said.
[13:08:06] <robin_sz> the two flavours of Ubuntu being something like "farting rabbit" and "neurotic guerilla" or something
[13:08:26] <SWPadnos> before I head out for breakfast, I just wanted to say:
[13:08:36] <SWPadnos> robin_sz - don't be an ass :)
[13:08:54] <robin_sz> nah, stick to what you are good at. thats what I say
[13:09:04] <SWPadnos> oh, in that case, continue.
[13:09:36] <robin_sz> what are the Ubuntu flavours named after?
[13:09:39] <SWPadnos> but it would have to be something like "Rutting Rabbit" and "Neurotic Newt"
[13:09:40] <jepler> ubuntu "autistic ass" linux
[13:09:52] <robin_sz> I know debian is toy story ...
[13:10:31] <SWPadnos> they're more-or-less random adjective-animal pairs, with the same first letter, first letters going in alphabetical order
[13:10:51] <SWPadnos> that's after the first two or three, where they hadn't adopted that method
[13:11:07] <robin_sz> so the next will be gargling gorrilla then?
[13:11:28] <SWPadnos> Gutsy something-or-other
[13:11:36] <robin_sz> gator?
[13:11:42] <SWPadnos> gotta run. see you later
[13:11:48] <robin_sz> * robin_sz waves