#emc | Logs for 2010-06-03

[00:00:07] <pfred1> I had one cheat me no less than 3 times during one transaction at a subway sandwich shop I finally just gave up let her keep the 15 cent difference I'd whittled it down to
[00:00:31] <andypugh> All the russian girls I have met have been lovely, if scary.
[00:00:49] <pfred1> andypugh well count your change
[00:01:35] <pfred1> I swear she stiffed me I brought it to her attention so she tried to stiff me again on the deal I tried again and was like forget it
[00:01:42] <andypugh> here its largely Poles. As half my school were polish I barely notice the difference.
[00:02:26] <pfred1> well I'm half polish myself
[00:03:55] <andypugh> And, as a computational aside, the british/US/not-quite-given-up-yet French etc would quite probably have lost the last major Unpleasantness without the Poles.
[00:03:57] <pfred1> I guess I have to call myself of pan-european extraction I'm irish german italian and polish
[00:04:14] <pfred1> so yeah sure I like to drink
[00:11:07] <andypugh> If anyone is curious about my previous statement: http://en.wikipedia.org/wiki/Bomba_(cryptography)
[00:15:41] <pfred1> that in reference to bletchley park ?
[00:16:07] <andypugh> Very much indirectly. But yes.
[00:16:29] <pfred1> what was that movie where the guys got seduced by female german spies?
[00:16:39] <pfred1> was pretty good as i can recall
[00:17:12] <andypugh> Probably the one where the US stole an enigma machine and won the war. Lets not go there
[00:17:35] <pfred1> but if you're really into that sort of stuff nothing beats Cryptonomicon
[00:17:48] <pfred1> I thought it was the poles who nicked one out of a downed german airplane?
[00:18:52] <pfred1> though the US did get one out of a submarine didn't we?
[00:19:00] <andypugh> No, that was the RAF (from a sub) The Poles broke Enigma in 1932
[00:19:38] <Endeavour> Greetings
[00:20:11] <davidf> hi Endeavour
[00:20:31] <andypugh> pfred1: http://en.wikipedia.org/wiki/U-571_(film)
[00:21:31] <Endeavour> What's up davidf ?
[00:21:31] <pfred1> rommel knew it was cracked
[00:21:42] <andypugh> The Poles bought a commercial Enigma and used that (and a lot of Clever to figure out the original military 3-disc version)
[00:21:44] <davidf> ^ THat way. :)
[00:22:04] <davidf> Any more machine prospects?
[00:23:03] <andypugh> pfred1: Really? The biggest use of it was being able to check that the Normandy landings would be a surprise.
[00:23:33] <pfred1> andypugh actually monty relied heavily on it to set up his african campaign
[00:23:57] <davidf> Endeavour, I was thinking, for plastic printing, and certainly experimenting, you should be OK with ordinary all thread for screws and home made rails.
[00:24:28] <davidf> Endeavour, Also, An old scanner or two would provide rails.
[00:24:42] <Endeavour> Yeah, but I'd prefer to have a more versatile machine.
[00:24:47] <davidf> And motors, belts, etc
[00:24:58] <davidf> OK
[00:25:05] <Endeavour> I'd still need everything else for driving them; steppers, drivers, etc.
[00:25:11] <davidf> Then the Taig is a goo candidate
[00:25:14] <andypugh> Yes, it was a horrible situation for Churchill etc, they didn't dare do anything to give the game away, so had to actively not warn convoys etc.
[00:25:19] <Endeavour> With the router I can actually make decent rigid parts for another design.
[00:25:22] <davidf> But maybe a bit pricey
[00:25:39] <Endeavour> Taig is out of my range.
[00:25:41] <pfred1> andypugh well in bombings they'd send out a scout plane then a bomb run
[00:25:43] <davidf> And I does have the drawback of only 5.5 inches travel on X
[00:26:01] <davidf> It not I
[00:26:04] <davidf> LOL
[00:26:17] <davidf> LOL more as I ponder that one.
[00:26:31] <andypugh> A scanner with extra axes sound like a good starting point. An X/Y plotter possibly more so
[00:26:37] <pfred1> I just got my acme leads i bought off enco
[00:27:31] <pfred1> I'm going to try to make my own tap out of a piece of it to tap either some fiber material I have here or HDPE
[00:27:46] <pfred1> because the taps are crazy expensive and sort of odd too
[00:27:47] <davidf> andypugh, I have one of those old HP xy Plotters 74-something or other.
[00:28:12] <davidf> But it works by rollers on the paper for X
[00:28:24] <pfred1> that and for linear bearings I'm going skate bearings and angle iron method
[00:28:44] <davidf> But very cool to watch, esp the pen change. Quite impressive for donosaur tech :)
[00:29:18] <pfred1> rod linears seem questionable unless you spend the money to me
[00:29:33] <andypugh> I used one to make actual physical parts. Slicing STL files into paper-thick slices of adhesive paper and assembling in to stacks.
[00:30:54] <davidf> andypugh, wow. interesting idea
[00:31:04] <davidf> Like the paper clock thing
[00:31:34] <davidf> Replaced pen with exacto knife or something?
[00:33:20] <andypugh> I made a holder for a conventional vinyl cutting knife
[00:33:30] <pfred1> they pivot right?
[00:33:30] <davidf> pfred1, I saw a website long ago with a how-to on making three-bearing linear slides for round rods. He actually made a casting for the brackets and milled it to accept the bearings
[00:33:44] <pfred1> davidf yeah i saw the same too fiddly for me
[00:33:58] <atmega> surpluscenter has cheap acme rods and cheapish nuts... wonder if you could use a pair of the nuts for a DIY anti-backlash thing
[00:34:00] <pfred1> davidf and with his method you couldn't support the rod either
[00:34:04] <davidf> fiddly. OK. :)
[00:34:13] <davidf> OK
[00:34:37] <pfred1> the twin angle iron and skate bearing technique looks pretty solid to me
[00:34:43] <davidf> still it seems that three bearings on rods might be a good way to go.
[00:34:47] <andypugh> Then I painted the parts with superglue, and sent them to a brassfounders. My bike panniers have been hanging on them ever since (though I only know that they work to 140)
[00:35:00] <pfred1> the way they really do it is with bearing sleeves
[00:35:20] <pfred1> but even it doesn't look very durable to me
[00:35:52] <davidf> Yes, if reamed, broze bearings can be super accurate
[00:36:13] <davidf> Got to keep 'em clean
[00:36:22] <pfred1> like this: http://www.vxb.com/ball-bearings-images/kit988-1.jpg
[00:36:56] <davidf> But I just thought getting super straight ways with angle rion might be a bit difficult
[00:37:15] <pfred1> this is my favorite home linear hack: http://cr4.globalspec.com/PostImages/200902/IMG_3795_715B08D9-CBFE-66F3-F01EF2DAB26920C2.jpg
[00:37:22] <pfred1> I'd call that brilliant
[00:37:38] <Endeavour> Would be nice to make some molds of routed parts then do some bronze castings.
[00:38:03] <pfred1> I've cast aluminum its about as easy as barbequing a burger
[00:38:21] <Endeavour> Aluminum melts pretty hot though?
[00:38:28] <pfred1> nah like 1200 F
[00:38:30] <davidf> NO
[00:38:33] <davidf> Right
[00:38:37] <davidf> 1100 I think
[00:38:39] <Endeavour> That's fairly hot.
[00:38:45] <pfred1> really you can do it on an open fire with a mild blast
[00:38:46] <davidf> BBQ temp
[00:38:58] <Endeavour> What's Bronze at?
[00:39:02] <davidf> Propane tank, plaster mold
[00:39:02] <atmega> heh... I cast lead using aluminum pans
[00:39:17] <pfred1> davidf dude i did it with pine scrap I got out of my yard
[00:39:20] <davidf> Broze is quite high I think
[00:39:33] <davidf> I believe that easily
[00:39:34] <pfred1> when i did it I was like dang thats easy
[00:39:34] <MattyMatt> 1100C for bronze iirc
[00:39:57] <davidf> right That's what I thought for Bronze
[00:39:59] <MattyMatt> bronze is one step away from iron
[00:40:17] <pfred1> yeah bronze you probably need real crucible and burner and furnace
[00:40:30] <davidf> Yup
[00:40:37] <pfred1> iron probably is easier with a cupola furnace
[00:41:02] <MattyMatt> who's gonna make one of them when a blower works so well?
[00:41:09] <davidf> pfred1, that last pic was extruded al angle right?
[00:41:33] <pfred1> davidf yes probably not the best material I just used it as a visual example of the design
[00:41:54] <pfred1> I'll use polished steel
[00:42:22] <pfred1> and I'm not building an over under gantry either
[00:42:24] <davidf> Actually probably straighter and smoother than iron, and with ball bearings, little wear so pretty good solution imo
[00:42:42] <davidf> al I mean
[00:42:46] <WesBaker> Is there a way to get EMC to reload the ini file and the hal file without terminating the running copy and starting up again? (Have to reset the scope and all if I restart)
[00:43:08] <andypugh> davidf: Paper parts: http://picasaweb.google.com/lh/photo/tjht3D69CSp25i9tYwD7dg?feat=directlink
[00:43:10] <davidf> OMG someone's on topic.
[00:43:13] <pfred1> as far as cheapie home brewed linears go i've seen no better
[00:43:17] <MattyMatt> Wesbaker, nope, been there
[00:43:22] <andypugh> WesBaker: No
[00:43:26] <WesBaker> Thanks.
[00:43:32] <WesBaker> Second question is more difficult
[00:43:50] <pfred1> if V groove bearings weren't so crazy expensive I'd say they're better but they're not so
[00:43:51] <andypugh> The scope should save its config, though
[00:44:26] <MattyMatt> I just wanted it while hacking my ini after stepperconf
[00:45:00] <MattyMatt> I gave up when I realised it's best to run stepperconf in editmode
[00:45:28] <pfred1> I found with stepperconf I'd have to close the popup dialog box in order to make some value changes
[00:45:37] <pfred1> even in the popup box
[00:45:41] <WesBaker> I am familiar with basic PID tuning from process control. Ovens in particular. P only control gives me an offset. Add I and cancel the offset. Without getting into D or anything, here's my situation: I am tuning the axis on a 3 axis linear machine. During the accelleration portion, the error continually climbs. At constant velocity, the error stays and never diminishes.
[00:46:06] <WesBaker> I can add I to several orders of magnitude and it still doesn't begin to cancel the error
[00:46:45] <WesBaker> If I add enough, it starts to be unstable, but even then, it oscillates around the 20 thou following error and doesn't move towards zero error.
[00:46:50] <andypugh> I eventually realised that hand-editing was more flexible than stepperconf. I approve of steppeconf (and pnc conf) as they make EMC2 less daunting, but thy do mask so much flexibility
[00:47:08] <WesBaker> P only produces about a 15 thou following error.
[00:47:15] <WesBaker> P plus I doesn't really change it.
[00:47:34] <WesBaker> A P value of 90 makes it unstable.
[00:47:47] <WesBaker> P of 70 is stable if you don't mind the large following errors.
[00:48:10] <pfred1> andypugh I like gui configs for making skeleton ini files
[00:48:12] <WesBaker> Add an I of 50, 500, 1000, 2,000. It doesn't really change the picture.
[00:48:33] <andypugh> WesBaker: Are you possibly one-derivative off? Perhaps you are tuning position to a velocity error or vice-versa?
[00:48:35] <WesBaker> Constant velocity is constant error and the I term in the loop doesn't seem to close that error
[00:48:49] <pfred1> andypugh but to me it does seem like stepperconf could be improved upon just from my dealings with it
[00:48:51] <davidf> As I understaind it I is only for final value of position _ not from EMC stuff, just in general
[00:48:58] <WesBaker> Andy: Not sure what you mean.
[00:49:40] <andypugh> What is the input to your PID, and where does the output go?
[00:50:54] <WesBaker> Andy: Well, I am making some assumptions with little knowledge of EMC, but I believe the output is going to a current command to my servo drive. The input is the error or the difference between the target velocity and the velocity feedback from the encoder
[00:51:23] <WesBaker> I have started with a standard HM2-Servo example file
[00:51:44] <WesBaker> I know how to read the HAL file, and the INI. I understand the pin mappings etc.
[00:52:34] <andypugh> Is there a target velocity?
[00:52:59] <WesBaker> If I jog a single axis, EMC is creating a motion profile that obeys my max accelleration and velocity. I can chart that line on my halscope.
[00:53:14] <WesBaker> I also can chart the feedback from my encoder for velocity
[00:53:33] <WesBaker> The difference between the two is the error and that is what is the input to the PID loop
[00:53:50] <WesBaker> It reacts somewhat as I expect.
[00:54:06] <penguin> hi... i have a basic question : i have a file that must be symlinked to the ~/emc2/nc_files dir.
[00:54:12] <penguin> and i don't know how to do that
[00:54:42] <pfred1> penguin ln -s <what I have> <what I want>
[00:54:43] <WesBaker> But if my target velocity increases from 0 to 900 in/min at my accell rate, my error increases proportionally the whole time from zero to about 20 thou.
[00:54:52] <andypugh> I am rather out of my depth here, I confess, as I haven't yet done a non-stepper system. I do have a PID for spindle speed, though. In that case as the only input is first-order error the tuning is all in the I term, I run zero P.
[00:55:19] <WesBaker> I can imagine how that makes sense for a spindle.
[00:55:41] <penguin> pfred1: it was a command or a joke?
[00:55:45] <penguin> :p
[00:55:53] <pfred1> penguin I guess its a joke to you
[00:55:54] <WesBaker> Is there a way to post a screen shot to the group?
[00:55:57] <andypugh> Good, so at least we are seeing things the same way.
[00:56:02] <pfred1> penguin try this man ls
[00:56:10] <pfred1> man ln even
[00:56:26] <penguin> i enter "man ln even" in the terminal?
[00:56:32] <penguin> :s
[00:56:34] <andypugh> Screenshots to imagebin.ca, HAL and INI to pastebin.ca
[00:56:39] <pfred1> penguin sure why not it can't hurt
[00:56:54] <WesBaker> Andy: Sorry, I don't understand.
[00:57:16] <penguin> wow
[00:57:23] <penguin> i think i was a joke
[00:57:25] <MattyMatt> ln -s blah/blah/blah/file.ngc ~/emc2/nc_files/file.ngc
[00:57:42] <penguin> ok... i will try that
[00:57:51] <pfred1> which is what you have followed by what yo uwant
[00:57:52] <PCW> WesBaker: if you have an error proportional to velocity, you can tune it out with FF1
[00:57:55] <MattyMatt> I think, about repeating the filename at the end
[00:57:56] <andypugh> For reasons that are unclear, EMC2 trust http://www.pastebin.ca and http://www.imagebin.ca more than the alternatives
[00:58:24] <pfred1> which is how ln works
[00:59:11] <davidf> WesBaker, 900 in/min? I've only used steppers. 900 is like lightning fast to me...
[00:59:19] <MattyMatt> I used imagebin.ca because it was clean, but they've gone all adverts since then
[00:59:52] <pfred1> davidf steppers can do that depending on the drive system belted is as fast if not faster
[00:59:53] <MattyMatt> oh no, that was imageshack I've gone off, even tho it's more permanent
[00:59:59] <WesBaker> MattyMatt: I have discovered that by putting a small negative number in FF1 that I can cancel most of this error. But it is like black magic and I can't find anything documented. It is causing other little problems (like extended settling times near zero velocity) and I couldn't find anything documented that told me what FF0,1,2 did and why.
[01:00:17] <pfred1> racks can be pretty fast too
[01:00:22] <MattyMatt> * MattyMatt knows nothing about servos
[01:00:43] <davidf> pfred1, I should have said I've only used neam 23 steppers :)
[01:00:47] <pfred1> MattyMatt they're DC motors wiht encoders
[01:00:48] <davidf> probably.
[01:01:20] <MattyMatt> pfred1 yeah OK I know what they are, but I've never had to tune a PID loop
[01:01:27] <WesBaker> PCW: The message I addressed to MattyMatt was for you.
[01:02:20] <WesBaker> The machine will do 900 in/min with less than 20% torque output. This thing will fly with EMC if I can ever get it tuned.
[01:02:29] <pfred1> davidf I saw a vid on youtube of a guy showing off his 1000 IP/M machine that was stepper based
[01:02:48] <pfred1> but he used belt drive
[01:02:59] <PCW> FF1 is velocity feed forward
[01:03:02] <PCW> imagine a servo moving at a constant (high) speed
[01:03:03] <PCW> without FF1 you would need an sizeable error at the input to the PID loop to generate
[01:03:04] <PCW> the outpu to drive your servos that the (high) velocity
[01:03:10] <pfred1> knocked off one of his limit switches too it was funny
[01:03:11] <MattyMatt> that woodwork machine? big steppers on that
[01:03:34] <JPM> Wes baker: what are you using for servos?
[01:03:44] <penguin> ln command not found
[01:03:49] <penguin> :s
[01:04:20] <WesBaker> PCW: I thought the I term would kick in as the small error persisted and cancel it out to zero. Are there docs on "velocity feed forward". The definition isn't getting me what I need
[01:04:21] <pfred1> penguin echo $PATH its in /bin for me
[01:04:23] <MattyMatt> IlI ln
[01:04:25] <WesBaker> through my thick skull
[01:04:45] <MattyMatt> just looking at my font :)
[01:04:54] <WesBaker> Like, I said. Adding FF1 at a negative number helps but it doesn't make logical sense to me and is causing a small
[01:04:55] <PCW> arghh last line should be "The output to drive your servos at that high velocity"
[01:05:06] <WesBaker> settling error at the end of each move as the axis
[01:05:10] <andypugh> I am groping here myself, but for an input-to-output error D you have P = gD, I = k(Int D), D = k(dD/dt). If your measured error is an order removed from your input "effect" (as speed is from position, or torque from speed) then you might want to tune elsewhere. I think FF1 is int2(D) and FF2 is int3( D) but I await correction.
[01:05:34] <WesBaker> very slowly creeps to zero error
[01:06:39] <WesBaker> PCW: My output is a current output not a velocity output so it actually is taking very little command signal to hold speed. It just has to fight friction.
[01:06:41] <penguin> pfred1 you mean /bin from the file system?
[01:06:49] <pfred1> maybe their PC isn't fast enough to figure it out or the base period is too fast or something?
[01:07:04] <pfred1> penguin no bin from dust
[01:07:11] <PCW> FF1 is not error related, but rather just proportional to commanded velocity
[01:07:41] <WesBaker> OK, that comment helps.
[01:07:54] <pfred1> penguin if ln isn't on your path your system is not right
[01:08:17] <WesBaker> I'm puzzled by the fact that I have to use a negative number (just learned by trial and error).
[01:08:21] <penguin> pfred1, i have a bin directory in the file system
[01:08:23] <PCW> (thats why its call feed-forward) the PID terms are all _feedback_ terms
[01:08:40] <WesBaker> I'm also puzzled by why it is creating the settling error at the end of the move.
[01:08:46] <penguin> only i don't understand what i need to do with it
[01:08:51] <penguin> (I'm so ashamed)
[01:08:55] <WesBaker> Oh. Feed Foward. Now I understand something. Learned something there.
[01:10:12] <WesBaker> Here's a simple question that might help me understand how EMC tuning works.
[01:10:30] <pfred1> penguin ln is part of the coreutils package means you have to have it
[01:11:08] <WesBaker> If I have a constant following error or .020 inches during a constant velocity move, why doesn't the I term in the PID loop gradually come into play and increase the output so as to cancel that error.
[01:11:29] <andypugh> FWIW in my day job we have controllers where P I and D are pulled out of 3D maps where the axes are other variables, and we still find we need more subtlety when the pesky users turn the AC on.
[01:11:31] <penguin> it works!!
[01:11:41] <penguin> thanks predf1
[01:11:44] <penguin> :)
[01:11:52] <pfred1> penguin that is good
[01:11:54] <PCW> The I term should pull it in evetually
[01:12:03] <penguin> ln: creating symbolic link `/home/agustin/emc2/nc_files/M101': File exists
[01:12:15] <pfred1> penguin a lot of file manages can make symbolic links for you as well today
[01:12:20] <WesBaker> PCW: that is what I thought and that is why I gave up tuning and came to the group.
[01:12:24] <pfred1> managers even
[01:12:30] <WesBaker> The I term will not pull it in with my setup.
[01:13:04] <andypugh> It should.
[01:13:13] <WesBaker> If I add enough I, the error will oscillate around the .020 mark but it will not drift either way.
[01:13:32] <andypugh> I think the real question is why it isn't.
[01:13:41] <WesBaker> I agree
[01:13:47] <pfred1> its probably a unionized shop
[01:13:53] <PCW> is the integral limit set?
[01:13:58] <davidf> Again, I think I olny affects final position
[01:14:08] <davidf> not vel
[01:14:21] <WesBaker> I am 20 feet from the machine. What is integral limit and how do I check?
[01:14:51] <andypugh> So, I does have an effect? I was about to question whether you were actually changing what you thought you were changning (ie HAL wiring error)
[01:15:16] <PCW> I'm not all that familiar with EMCs PID component, let me check
[01:17:11] <WesBaker> Andy: Yes, changing the I parameter has an effect, but it is not at all like the effect I expected. As I said, it does eventually cause the output to oscillate but it oscillates around the error of .020 rather than working to cancel the error.
[01:17:42] <WesBaker> I know enough about the hal file and the ini file to look and make sure the signals are mapped. They are.
[01:17:55] <WesBaker> P terms seems to work exactly as I expect.
[01:18:13] <penguin> symlink it's like create a icon in windows
[01:18:16] <WesBaker> D seems to as well but that one is more difficult to determin. It has a dampening effect
[01:19:05] <pfred1> penguin it is where microsoft got the idea from
[01:19:11] <WesBaker> Anybody know how to get a screen shot in linux/ubuntu? Ctl-alt-printscreen like windows?
[01:19:26] <pfred1> xwd
[01:19:45] <pfred1> you can do it right from the menu today though
[01:20:02] <pfred1> gimp takes them too
[01:20:31] <pfred1> but the traditional old skewl method was xwd
[01:21:29] <pfred1> xwd --root > myscreen.xwd though its been hears so don't quote me on it :)
[01:22:32] <davidf> WesBaker, alt-prtscn
[01:22:57] <pfred1> I was close xwd -root > screendump.xwd
[01:23:16] <WesBaker> I found a little utility on the ubuntu 'accessories' menu.\
[01:23:29] <pfred1> yeah nder graphics right?
[01:23:48] <davidf> just alt-prtscrn
[01:24:38] <pfred1> davidf thats only giving me a single window
[01:25:14] <davidf> oh yeah you're right. Sorry
[01:25:53] <pfred1> hey I never knew about it
[01:26:27] <pfred1> I remember like 15 years ago using xwd though :)
[01:26:51] <davidf> LOL just printscreen. HA.
[01:26:53] <pfred1> I'd always have to open them in gimp to make them into a file format that made more sense
[01:27:04] <WesBaker> pcw: I'm gonna walk over t the machine. will be back.
[01:27:26] <davidf> That gets the whole thing. You might know it would be as simple as possible! LOL
[01:27:28] <pfred1> xwd dumps in raw bitmap format or something
[01:28:14] <pfred1> those were the days back when Linux was new exciting and fresh
[01:28:22] <davidf> printscreen was the last thing I tried. funny.
[01:28:38] <davidf> WesBaker, 1. SET KP. Starting with KP=0, KI=0 and KD=0, increase KP until the output starts overshooting and ringing significantly.
[01:28:38] <davidf> 2. SET KD. Increase KD until the overshoot is reduced to an acceptable level.
[01:28:38] <davidf> 3. SET KI. Increase KI until the final error is equal to zero.
[01:28:42] <pfred1> and you had to write your chat and pap scripts by hand in order toget online
[01:29:10] <davidf> WesBaker, that was from here: http://www.ecircuitcenter.com/Circuits/pid1/pid1.htm
[01:29:35] <andypugh> WesBaker: Have you tried negative I terms? (clutching at straws, but I have known it to work)
[01:30:27] <penguin> (i'm installing to run graster in EMC2... it isn't very excinting at the moment)
[01:30:35] <penguin> installing=trying
[01:30:46] <JPM> Can anyone recommend low cost analog input drives for ac servos
[01:31:14] <davidf> gotta go 'Nite all
[01:31:24] <andypugh> WesBaker: You could cheat and use http://www.linuxcnc.org/docview/html//man/man9/at_pid.9.html
[01:31:26] <penguin> good bye old man
[01:31:44] <penguin> 60-2 years old
[01:31:50] <davidf> ha you whipper-snapper.
[01:32:15] <davidf> 60 is the new 40 something right?
[01:32:17] <WesBaker> davidf: All that makes sense and is something I am comfortable with. But EMC is not acting that way for me with my setup
[01:32:45] <WesBaker> as stated, setting the I term is not cancelling the final error in any way
[01:33:06] <andypugh> davidf: If that makes me 20-something again, then it get my vote
[01:33:23] <davidf> WesBaker, EMC PID stuff is definitely out of my league just thought it couldn't hurt to post that
[01:33:27] <penguin> andypugh is 40 ?
[01:33:30] <WesBaker> andypugh: No, never tried that. It seems to make my brain hurt to think how it could work, but I can poke it in and see what happens
[01:33:51] <andypugh> I am 43, I think.
[01:34:06] <penguin> veterans....
[01:34:14] <andypugh> I just act young and stupid
[01:34:29] <pfred1> andypugh hey I didn't lose track myself til just last year
[01:34:30] <davidf> andypugh, cant remember? uhoh.
[01:34:48] <davidf> now you're officially old.
[01:34:49] <WesBaker> andy: Now that auto tune thing looks interesting. Hmmm.
[01:34:57] <pfred1> davidf one year is much like the next after a while
[01:35:14] <davidf> and before a while too
[01:35:22] <davidf> ;)
[01:35:22] <penguin> in dog years, it is like 1000 years
[01:35:47] <pfred1> yeah dogs don't live quite as long as i already have
[01:35:49] <davidf> yeah ancient. Don't worry squirt you'll get there too.
[01:36:36] <andypugh> On the plus side, 5% of people have never died, we might have time yet
[01:37:04] <pfred1> tell me about it i recently heard a stat that says more pwople were born in the past 10 years than the previous 2,000
[01:37:23] <davidf> andypugh, Now that's really quite interesting. Shows where we are on the exponential growth curve.
[01:37:27] <pfred1> its a tough thing to wrap my head around
[01:37:48] <pfred1> we are a plague
[01:37:49] <davidf> awesome actually
[01:38:05] <davidf> guess we better step up the space program...
[01:38:29] <pfred1> we've already proven that humans aren't worth escape velocity
[01:38:31] <davidf> pfred1, speak for yourself
[01:38:43] <davidf> :)
[01:38:45] <pfred1> not even the best of us are
[01:38:47] <andypugh> Absolutely. We are the only way that the only life we know to exist will survive the death of our sun.
[01:39:25] <pfred1> well our Sun has at least another 5 billion good years left in it
[01:39:31] <andypugh> 4
[01:39:36] <davidf> Um, make that Migt survive.
[01:39:41] <davidf> might
[01:39:50] <pfred1> which is longer than there's been lifeo n this planet
[01:40:01] <davidf> so what?
[01:40:10] <andypugh> Wel, yes, but I hope to be there :)
[01:40:15] <pfred1> over 90% of that life is extinct today
[01:40:18] <WesBaker> pcs: you still out there?
[01:40:35] <pfred1> and we're well on our way to twilight now ourselves
[01:40:39] <davidf> pfred1, exactly
[01:40:48] <andypugh> You mean PCW?
[01:40:52] <WesBaker> PCW: you still out there?
[01:41:29] <penguin> PWM you still out there?
[01:41:34] <pfred1> davidf our present system os so unsustainable I'm amazed it works as well as it does
[01:41:59] <davidf> pfred1, It works? :)
[01:42:07] <pfred1> quite well for me
[01:42:24] <davidf> Good for you then just kidding
[01:43:07] <davidf> But we are truly a flash in the pan in the grand scheme of things
[01:43:45] <andypugh> pfred1: How old are you? My generation are surprised to be here still, this looks like an up-slope. When I was 14 I was the only kid in my class who thought we might not be dead in a buclear conflagration before we left skool. (so we didn't pay much attention to learning to spell)
[01:43:59] <pfred1> I donno we're almost living in the age of buck rodgers compared to back as far as i can remember
[01:44:20] <pfred1> andypugh I'm just a couple years older than you are i have a good memory though
[01:44:35] <pfred1> andypugh like i can remember the first Moon landing live
[01:44:39] <PCW> Yes still here
[01:45:29] <pfred1> andypugh you'd have been a bit too young to recall that even if you'd watched it
[01:45:38] <davidf> and Buck Rodgers if that says anything. :)
[01:46:19] <pfred1> davidf when I was a little kid the FM radio band was some strange thing
[01:46:22] <andypugh> pfred1: But I agree, we have to get used to the idea that perpetual economic growth is impossible on a finite planet.
[01:46:47] <pfred1> no one thought of personal computers or sell phones that was dick tracy stuff
[01:47:14] <morfic> Endeavour: wow, that's some storm
[01:47:20] <pfred1> andypugh oh i donno the information age is making enormous advances possible
[01:47:28] <Endeavour> What?
[01:47:34] <pfred1> today we can do a lot more with a lot less
[01:48:42] <davidf> As a kid my high tech electronics was discrete transistor circuits. My brother bought a potted module the size of an ice cuge that was called an integrated circuit. LOL. Had like 5 components encased in epoxy.
[01:49:07] <andypugh> pfred1: John Brunner thought of comoputer viruses in 1972. I find that incredible.
[01:49:36] <pfred1> I'm pretty sure there actually were computer viruses in the late 60s
[01:49:41] <davidf> morfic, yeah what Endeavour siad...
[01:49:48] <davidf> said
[01:49:49] <WesBaker> Negative I works more like the I term should work
[01:49:51] <morfic> http://www.weather.com/weather/map/interactive/78209?animation=true
[01:49:58] <WesBaker> Something must be wrong with my configuration
[01:50:11] <WesBaker> Any ideas?
[01:50:12] <morfic> thought to remember Endeavour was in austin
[01:50:18] <WesBaker> (Anybody interested in EMC?)
[01:50:36] <pfred1> andypugh but compared to what we think of as computer viruses today they'd be more like cases of the sniffles
[01:51:02] <davidf> WesBaker, definitely
[01:51:30] <andypugh> Sorry Wes, yes, we should get back to the point]
[01:51:42] <Endeavour> morfic: Ah, yes.
[01:51:48] <davidf> yup.
[01:52:02] <Endeavour> Should still be getting another round in a bit
[01:52:09] <davidf> WesBaker, you can invert any i/o line.
[01:52:17] <davidf> I think...
[01:52:56] <davidf> Do all your position commands work as expected as far as direction?
[01:53:05] <andypugh> I use positive I in my zero-P PID, so actually, now I think about it negative I to cancel steady-state errors probably makes sense.
[01:53:09] <pfred1> WesBaker if i had to take a wild guess I'd think your base period or something was a bit too optomistic
[01:53:37] <WesBaker> Yes, the axis move in the expected direction and the magnitude and direction of the DRO's are correct
[01:53:50] <davidf> But wouldn't he be getting real time delay error messages?
[01:54:15] <andypugh> WesBaker: As a random, wild, experiment, have you tried a zero-P I-only tuning?
[01:54:33] <WesBaker> servo-thread period is 1000 microseconds (uSec)
[01:54:48] <pfred1> really?
[01:54:53] <davidf> Pretty fast insn't it?
[01:54:59] <pfred1> yes quite
[01:55:07] <davidf> Mine is like 46K
[01:55:11] <pfred1> I guess my hunch from over an hour ago was pretty on target
[01:55:36] <davidf> No wait nano secs right?
[01:55:49] <SWPadnos> 1000 microseconds is 1 ms, which is the standard servo period
[01:55:59] <davidf> hi SWPadnos
[01:56:00] <SWPadnos> it's written as 1000000 nanoseconds in the files though
[01:56:02] <SWPadnos> hi
[01:56:06] <andypugh> The EMC2 PID P term is simply the error x gain. In some PID schemas the P term is the integral of that. The ECM2 PID has no "memory" on the P term.
[01:56:27] <SWPadnos> P should never be integrated
[01:56:39] <SWPadnos> its "P"roportional to the instantaneous error
[01:57:09] <SWPadnos> I believe the sign is such that positive numbers make sense
[01:57:20] <SWPadnos> ie, error = command-actual
[01:57:37] <andypugh> SWPadnos: I agree, but some controllers do output a constant term that changes according to the error, rather than being the error
[01:57:39] <SWPadnos> so + error actually means you need to go more positive to catch up
[01:57:50] <SWPadnos> P scales the error
[01:58:18] <SWPadnos> we may be talking past each other though, I'm sure you've seen something I haven't :)
[01:58:27] <WesBaker> I can't get any sensible movement with I only. I have the following errors wide to play with it, but can't get I only to make it move.
[01:58:43] <SWPadnos> why would you try to use only I?
[01:58:49] <SWPadnos> it would have terrible response
[01:58:51] <andypugh> OK, it was just an idea
[01:59:00] <davidf> my question too
[01:59:16] <andypugh> I-only is what I use for my spindle.
[01:59:44] <SWPadnos> that seems strange. don't you have some FF0 or FF1 in there too?
[02:00:09] <WesBaker> andy: I only on a spingle might work, You don't care about following error. You just want it to get there in a dozen seconds or something
[02:00:22] <SWPadnos> WesBaker, did you ever post your config files on pastebin?
[02:00:44] <WesBaker> I don't know how.
[02:00:53] <SWPadnos> I don't know why I asked that, I'm about to go to sleep :)
[02:00:58] <SWPadnos> go to http://pastebin.ca
[02:01:14] <SWPadnos> load the config files in an editor (like gedit), copy, paste
[02:02:30] <andypugh> I have speed command and measured speed. There is no "constant variable" there to measure, so using the I term to "remember" the speed command thread-to-thread makes sense
[02:03:01] <SWPadnos> sorry, that didn't make sense :)
[02:03:23] <andypugh> Sorry, I meant "constant variable" to modify
[02:04:16] <andypugh> Typically you add the P term to your output variable.
[02:04:27] <SWPadnos> commanded speed is the command, speed feedback is the feedback, and the PID has and internal integrator and "last value" for derivative
[02:04:36] <SWPadnos> you add all of them
[02:05:23] <SWPadnos> (P * error) + (I * integral of error) + (D * derivative of error)
[02:05:31] <andypugh> The PID has only one output, which is the speed error (modified by I and D)
[02:05:47] <SWPadnos> no, PID output is a new control value
[02:05:57] <SWPadnos> which includes all of the terms
[02:06:11] <SWPadnos> plus FF0-FF2 in emc
[02:06:31] <SWPadnos> (proportional to command, first derivative of command, second derivative of command, I believe)
[02:07:29] <andypugh> No. Consider speed request 1000 rpm, actual speed 800rpm, 200 rpm is not the correct voltage to send to the FVD
[02:07:41] <andypugh> (VFD)
[02:07:49] <SWPadnos> it is if you have P=1 and all other terms = 0
[02:08:34] <WesBaker> my box kicked me off. I think I am back
[02:08:44] <SWPadnos> you are
[02:09:05] <WesBaker> I figured out the file posting thing. I guess I post there and then come back here and past a link.
[02:09:15] <andypugh> Yes
[02:09:29] <andypugh> SWPadnos: Convince me :-)
[02:09:37] <WesBaker> my cache was cleared when it kicked me off so I may have missed something important.
[02:10:12] <SWPadnos> http://en.wikipedia.org/wiki/PID_controller
[02:11:04] <SWPadnos> note that I is the integral of the error, not the integral of the command
[02:11:27] <SWPadnos> (and P and D are also based solely on the error term, not the command)
[02:11:42] <andypugh> As I see it, given a 10V - 10000rpm VFD, a required speed of 1000rpm and an actual speed of 800rpm 0.2 (P =1, I = 0, D =0) is going to give you 200 absolute rpm, not 200 _more_ rpm
[02:12:18] <SWPadnos> well, yes, that's true, except that when you start, the error is 1000 (assuming you start at 0 RPM)
[02:12:50] <SWPadnos> so the error is actually 1000, and with P=1, the control value will be 1000 RPM
[02:13:01] <SWPadnos> until the spindle speeds up
[02:13:10] <andypugh> Yes, and as you get closer to the set speed, your speed request drops.
[02:13:14] <SWPadnos> yep
[02:13:20] <SWPadnos> which is a sign of bad tuning
[02:13:40] <SWPadnos> you need much higher P terms, usually in the 10-1000 range
[02:14:02] <SWPadnos> especially if that's the only term, which isn't a great idea in most cases
[02:14:27] <SWPadnos> if you want to output the command value, you set FF1 to 1
[02:14:34] <SWPadnos> or maybe it's FF0, I don't remember L()
[02:14:36] <SWPadnos> L(
[02:14:37] <SWPadnos> :)
[02:14:39] <SWPadnos> hah!
[02:14:54] <SWPadnos> since FFx work on the command, not the error
[02:15:03] <andypugh> I think it comes down to where your input and output are on the "calculus order"
[02:15:10] <SWPadnos> nope
[02:15:40] <SWPadnos> the only thing that's order dependent is calculating the integral and derivative of the error
[02:15:55] <SWPadnos> since you have to insure that the right thing gets subtracted
[02:16:05] <WesBaker> swpadnos: This is making sense. Standard PID stuff like in a PLC.
[02:16:34] <WesBaker> swpadnos: I'm geting a clear picture of the FF terms. This is helping.
[02:16:36] <SWPadnos> other than that, you have a set of independent equations which are summed together to generate a control value
[02:16:49] <WesBaker> swpadnos: but I still think something is wrong with my config
[02:16:55] <SWPadnos> WesBaker, yes, PID is PID (but PID tuning is not PID tuning :) )
[02:17:03] <SWPadnos> look at the manpage for the hal PID
[02:17:05] <SWPadnos> man pid
[02:17:13] <SWPadnos> and/or the HTML or PDF documentation
[02:17:19] <SWPadnos> it's all explained in detail, IIRC
[02:17:23] <andypugh> I do not think that you can do spindle speed with P only. And with multiple gears choosing the right FF1 will be a problem. I-only might be wrong, but it works.
[02:17:45] <SWPadnos> do you sum the PID output with the command value?
[02:17:54] <SWPadnos> using a sum2 component or similar
[02:18:18] <andypugh> I don't have a command value...
[02:18:25] <SWPadnos> spindle speed is the command
[02:18:36] <SWPadnos> motion.spindle-speed-out or whatever
[02:19:12] <SWPadnos> http://www.linuxcnc.org/docs/2.4/html/man/man9/pid.9.html
[02:19:18] <andypugh> But yes, I did try using a sum2 on on spindle speed + PID and it worked poorly.
[02:19:22] <SWPadnos> http://www.linuxcnc.org/docs/2.4/html/motion_pid_theory.html
[02:20:31] <SWPadnos> with I only, it should be pretty good after a while
[02:20:50] <SWPadnos> but it's easier to just use FF0=1 instead ;)
[02:20:53] <SWPadnos> then the PID is also the sum
[02:20:57] <SWPadnos> summer
[02:20:59] <andypugh> Using the I term as a "memory" proved to be far more adaptable to gear changes.
[02:21:16] <SWPadnos> it's only a memory of the error though, so I don't know what really happened there
[02:23:22] <WesBaker> My hal and ini files: http://pastebin.ca/1876381
[02:23:30] <WesBaker> where was I supposed to put images?
[02:24:02] <SWPadnos> do you need to post images>
[02:24:04] <SWPadnos> ?
[02:24:55] <WesBaker> Yes, pastebin.ca gave me a place to paste text but I thought you told me somwhere else to put images.
[02:25:38] <PCW> Is this system small enough that you can rotate the motor shaft by hand?
[02:25:40] <PCW> Putting in a small error by pushing the motor shaft around should cause the PID loop to correct
[02:25:41] <PCW> the error with only an integral term
[02:26:05] <JPM> Wes: imagebin.ca
[02:28:10] <PCW> If it doesn't eventually fight back with full force with even a small error, the I term is busted somehow (or limited)
[02:28:41] <WesBaker> OK, here's the halscope trace of my error in a short linear move.
[02:28:47] <WesBaker> Image at: http://imagebin.ca/view/rVToITS8.html
[02:28:50] <andypugh> SWPadnos: The internal calculation is something like I = I +Igain x error, so can be seen either as a calculus-level above P, or simply as saving you doing that addition in a separate sum2 block.
[02:29:13] <andypugh> (Yes, I know he has left, but I need to sleep)
[02:29:18] <SWPadnos> no, that's not the calculation
[02:29:49] <SWPadnos> it's "integrator = integrator + present_error"
[02:30:09] <andypugh> Isn't that what I said?
[02:30:15] <SWPadnos> error = command - feedback
[02:30:24] <SWPadnos> no, notice that there was no gain in that equation
[02:30:45] <SWPadnos> new_integrator_value = old_integrator_value + new_error_value
[02:30:47] <SWPadnos> that's it
[02:30:58] <andypugh> Yes, so the I term _changes_ depending on the error, and the P term _is_ the error
[02:31:13] <SWPadnos> well, yes and no
[02:31:33] <andypugh> So where does the I-gain value come in?
[02:31:50] <SWPadnos> you have to keep straight in your mind that P, I, and D are coefficients which are multiplied by the internal error, integrator, and differentiator values
[02:32:09] <SWPadnos> there are 6 values involved, plus another 6 when you count FFx
[02:32:49] <andypugh> So, what is the actual equation for the I part of the PID output?
[02:32:49] <SWPadnos> the caluclated error and its integral and derivative are three values, the P, I, and D settings are the other three
[02:33:06] <SWPadnos> new_integrator_value = old_integrator_value + new_error_value
[02:33:26] <SWPadnos> the I component of the output is Igain * new_integrator_value
[02:33:45] <SWPadnos> similarly for the other terms
[02:34:13] <SWPadnos> output = sum (TERMx * GAINx)
[02:34:34] <SWPadnos> it's much easier to understand if you read the code, it's about 20 lines
[02:34:57] <WesBaker> Can you guys still see my image link or has it scrolled off?
[02:35:09] <SWPadnos> I see it
[02:35:15] <pfred1> I can scroll back to when I logged in
[02:35:26] <WesBaker> halscope of my tuning problem: http://imagebin.ca/view/rVToITS8.html
[02:35:53] <andypugh> OK. I see the difference. The gain is applied to the I term, not the rate of change of the I term. It still converges.
[02:36:02] <WesBaker> This shows how my error climbs at a constant rate during accelleration and maintains a fairly constant offset from the desired zero during constant velocity
[02:36:15] <SWPadnos> yes, it's more or less equivalent if the gain never changes
[02:36:27] <SWPadnos> WesBaker, yes, you have a tuning problem :)
[02:36:49] <PCW> Sure looks like I is broken
[02:37:32] <SWPadnos> the output scale is probably not set to engineering units (1.000 looks like a default value)
[02:37:35] <WesBaker> Yes, it looks like I is just broken
[02:37:47] <andypugh> I did actually start off using it conventionally, adding the PID output to the command value, but it worked rather poorly when I changed gear. It works rather well in I-only mode.
[02:38:11] <SWPadnos> that's very weird. if you have a chance, post the hal/ini files
[02:38:17] <SWPadnos> I'll look tomorrow ;)
[02:38:19] <SWPadnos> night folks
[02:38:20] <PCW> Thread order problem?
[02:38:38] <WesBaker> I posted the hal and ini at: http://pastebin.ca/1876381
[02:40:13] <PCW> bye time to go home
[02:45:43] <andypugh> WesBaker: Another shake of the dice would be to put the PID addf lines between the motion thread lines (the functions execute in the order they are added to the thread) but frankly I doubt that is it.
[02:47:59] <andypugh> WesBaker: Where did that HAL file come from?
[02:56:49] <WesBaker> andy: It's my hal file from my machine
[02:57:39] <pcw_home> What kind of drives do you have?
[02:59:32] <WesBaker> I purchased a used router table equipped with motors and drives. The OEM outfitted it with a computer and proprietary controller card
[02:59:37] <WesBaker> the computer and card were gone
[02:59:58] <WesBaker> The servo motors are simple brush type motors with 5v quad type 500 line encoders
[03:00:12] <WesBaker> I can't remember the brand of the amp card. Copely maybe.
[03:01:02] <WesBaker> The encoders don't come back to the drives at all. Just to the controller (emc).
[03:01:08] <pcw_home> Do the motors have tachometers?
[03:01:23] <WesBaker> No tach on the motor. Just encoders.
[03:01:31] <WesBaker> The drive has no way to determine velocity
[03:01:44] <pcw_home> Analog in?
[03:01:47] <WesBaker> the analog signal from EMC can only mean torque
[03:02:04] <WesBaker> Not sure what you mean by "Analog in?"
[03:02:48] <WesBaker> The drive takes a +/- 10v signal from it's controller (EMC). +10v = max forward current/torque. -10v is max reverse
[03:02:49] <cradek> that looks like a decent tuning to me. FF1 will null the velocity-proportional error, and gently fiddling with D will probably get rid of that high frequency eoscillation
[03:04:18] <WesBaker> Adding D slowly does dampen it and reduce the oscillation you see. I was trying to illustrate my primary issue so on that screen shot, I zeroed out all the FF values and the D value
[03:04:46] <cradek> sorry I didn't read everything - what's the primary issue?
[03:05:40] <WesBaker> Primary issue is that I didn't understand why adding I (even in large amounts) does not cause the error to cancel out over time with the large error over the long time.
[03:06:13] <WesBaker> I'm assuming something must be broken somewhere since even with large I valies, I still get that fairly constatnt following error at constant velocity.
[03:07:09] <WesBaker> One guy suggested I try a negative value for I. That actually causes the error to drift towards zero during constant velocity movement, but it winds up and screws up the stop and forces it to over-shoot.
[03:07:37] <cradek> are you sure pid.0.Igain is getting set? how about pid.0.maxerrorI? are you getting pid.0.saturated?
[03:07:56] <WesBaker> Positive values to FF1 make the constant error worse
[03:08:35] <WesBaker> negative values in FF1 do in fact allow me to get the constant velocity followin error near zero but the accell and decel are still ugly.
[03:08:55] <cradek> depend on their particular ugliness FF2 may help
[03:09:26] <davidf> WesBaker, dumb question. Does this behave the same way at slower (much slower) velocity?
[03:10:49] <WesBaker> If I add small negative values to FF0, that whole error curve moves up. The slope of the errors during accel and decell are reduced, but instead of having an error that starts at zero and moves more and more negative during accelleration, I have an error that is pushed positive quickly and gradually works it's way toward zero.
[03:11:02] <cradek> you surely don't want FF0
[03:11:03] <WesBaker> The other issue is that at the end of the moves, it has a long setteling time.
[03:12:06] <pcw_home> FF2 for accell deccel FF0 is bias, you dont want that unless you are going against a spring or gravity
[03:12:08] <WesBaker> The best I got was to to Zig Nichols on the PID values, put very small negative numbers in FF0 and FF1 and a small positive number in FF2. But as far as the FF numbers goes, I was just playing aorund blindly.
[03:12:18] <cradek> did you check your pid.N.maxerrorI
[03:12:49] <WesBaker> I do not know what pid.N.maxerrorI is. I assume it's a value in the ini or hal though. I'll take a look.
[03:13:37] <cradek> if you aren't getting I response, either your pid Igain isn't getting set, or you have maxerrorI set, or something else goofy is wrong
[03:13:46] <cradek> so yeah, look directly at the hal pins to check
[03:15:20] <WesBaker> pid.N.maxerrorI does not exist in my hal file. I found the section where it is mapping the variable values from the ini file to the appropriate pins and where it sets things like maxoutput.
[03:15:25] <WesBaker> No mention of maxerrorI
[03:15:42] <cradek> examine the hal pins while emc is actually running
[03:15:59] <WesBaker> hal file and ini file are posted at http://pastebin.ca/1876381
[03:16:54] <WesBaker> I will check that pin value in the scope while it is painting the traces like you see at http://imagebin.ca/view/rVToITS8.html
[03:17:18] <WesBaker> I can't get to the machine right now or I would test and report
[03:17:46] <cradek> oh no - that's maddening :-/
[03:18:27] <cradek> I don't see anything obvious wrong in the files (I looked for copy/paste errors in the pid hookups)
[03:18:54] <WesBaker> It is not like the I function has zero response. Huge postivie values contribute to the oscillation in error and output that you see in the existing trace.
[03:19:31] <WesBaker> negative numbers have the effect of gradually cancelling the error but VERY slowly. Over seconds.
[03:21:41] <WesBaker> I better turn the lights out.
[03:21:45] <WesBaker> Thanks for looking.
[03:21:51] <cradek> if you add debug=1 to your pid loadrt lines, you'll get more pins
[03:22:00] <Endeavour> Has anyone here done any 3D printing?
[03:22:01] <cradek> those include the value of the integrator
[03:22:03] <WesBaker> I'll start it up again when there is more daylight and closer access ot the macine
[03:22:14] <WesBaker> What cradek?
[03:22:15] <cradek> you can see exactly what it's doing, then
[03:22:29] <cradek> loadrt pid ... debug=1
[03:22:54] <pcw_home> if positive I values cause oscillation and negative values sort of work,
[03:22:55] <pcw_home> something is really broken, one or the other should cause runaway (latch-up)
[03:23:00] <cradek> then you can see error_i, error_d, cmd_d, cmd_dd
[03:23:14] <WesBaker> OK, I understand what you are saying about add the "debug=1"
[03:23:16] <cradek> maybe you can learn more by plotting these
[03:23:45] <WesBaker> I guess you are saying that if I add the debug parameter there will be a bunch more pins created that I can monitor with halscope
[03:23:54] <cradek> yes
[03:24:01] <cradek> and one is the integrator's accumulator
[03:24:34] <WesBaker> Is there a doc file that would describe all these?
[03:25:10] <cradek> probably the pid manpage does, but I'm looking at the source
[03:26:25] <WesBaker> pcw: A negative number in D does (as expected) cause a runaway.
[03:27:19] <pcw_home> P and I should as well
[03:27:52] <WesBaker> cradek: thanks for the tip about debut=1. I have it written down. I think I've got to go study the backs of my eyelids for a few hours though.
[03:27:53] <WesBaker> pcw_home: Negative P does. but negative I sort of works.
[03:28:19] <KimK> Hi cradek, Hi WesBaker: I'm getting in on this late and didn't read back everything, but (backing up to the big picture first) is your loop config correct for torque output? Are you extracting velocity from the (position) encoder and running that back into the velocity loop, etc? Sorry if you've already discussed the obvious, etc.
[03:29:08] <KimK> Torque output and I think I saw "no tach gen", correct?
[03:30:24] <KimK> No tach gen, so you've got to close the position loop *and* the velocity loop in emc, right?
[03:33:29] <KimK> cradek: He probably thought of that already. Nevermind.
[03:33:57] <cradek> darn, he pinged out
[03:34:52] <KimK> So, you're coming to EMC from Ohio?
[03:35:03] <cradek> with Igain=1, command=0, feedback=1, I see both errorI and output counting negative at 1/sec
[03:35:15] <cradek> so at the most basic level I think it's working
[03:35:34] <KimK> OK, well, that's good to hear.
[03:35:58] <cradek> yes jeff and I will be going from ohio (somewhere) to ann arbor monday evening I think
[03:36:52] <cradek> setting enable=0 clears errorI (and output) as expected
[03:37:55] <cradek> maxerrorI does stop the integrator windup at the specified value
[03:38:50] <KimK> OK. I should arrive at least by monday evening also, details uncertain. I had thought of arriving earlier, but not sure now. And maybe staying later? Again, not yet certain.
[03:39:56] <KimK> I forgot to notice if the dorm rooms have internet, I presume they do. You're driving your bus, right?
[03:40:31] <cradek> no, I'm staying in motels. fuel to drive the bus on this trip would be $900
[03:40:46] <KimK> Yow!
[03:41:58] <cradek> ok maybe only $800
[03:42:00] <cradek> but still
[03:42:02] <KimK> Maybe you need to recruit 12 friends at $100 each?
[03:42:14] <KimK> OK then, 10 friends.
[03:42:24] <cradek> nope, I don't have the required license to carry a bunch of people
[03:42:37] <KimK> Party barge? RV?
[03:42:40] <cradek> heh
[03:42:44] <cradek> yep, not a bus anymore
[03:42:58] <cradek> at 60mph it'd take a while longer too.
[03:44:40] <cradek> KimK: did you get my phone number in a /msg?
[03:45:05] <cradek> (I don't care who here sees it, I just don't want it logged)
[03:46:34] <KimK> That's about all I can do with 1.8L myself. I was considering driving through La Crosse either before or after, but John might not be able to make this workshop and he would like to visit Sam's too.
[03:46:47] <KimK> Yes, thanks, got it and replied with mine.
[03:56:12] <KimK> An alternative schedule would have me stay here until John's business class is over Tuesday (noon, maybe?) depart then, and arrive late. Still not sure what to do.
[04:13:57] <KimK> Oh, I guess that's not clear, I meant that leaving late would allow John to go to the workshop too, if he can get away for other assorted reasons.
[04:18:16] <penguin> prepare yourself.....soon:
[04:18:17] <penguin> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Rastering_With_A_Laser
[04:18:34] <penguin> unfinished for now
[04:20:27] <KimK> penguin: Great, thanks, we will look forward to more.
[04:21:42] <penguin> thanks KimK.... it have been a long journey for a non.linux user
[04:21:44] <penguin> :p
[04:30:18] <davidf> who's still up?
[04:30:38] <KimK> I am. Anybody else?
[04:30:47] <davidf> Hi KimK
[04:30:52] <davidf> :)
[04:31:16] <davidf> You have an upside schedule I think
[04:31:34] <KimK> Hi davidf. cradek was here, but he said bbl. Maybe horizontal now?
[04:31:49] <davidf> probly
[04:32:25] <davidf> 11:31 CST where I am
[04:32:43] <KimK> Yeah, like that "small business - our hours" sign, "I'm here all the time, except when I'm somewhere else, but I should be here then too."
[04:34:24] <davidf> I got Eagle looks good. Tried it out still need to practice more till I get the hang of it
[04:34:27] <KimK> Yes, same time here. NW Minneapolis area.
[04:34:54] <KimK> Coming to the workshop?
[04:35:32] <davidf> I tried to make a library entry for a connector - big learning curve and found the documentation less than desired
[04:38:30] <davidf> I have to look at the keyboard when I hunt and peck so I will be behind you temporally. I would love to be there but I don't know if I can afford the lodging and fees and also (more importantly) the time off from work
[04:39:00] <KimK> Ha, nothing like diving right in to a new PCB package. If you can create a schematic, export the netlist, import the netlist, make a new library component, place it on the PCB, straighten the ratsnest, and get the output you want, you've about got it in the bag.
[04:39:29] <KimK> "Eat a live toad the first thing in the morning, and nothing worse will happen to you all day."
[04:40:13] <davidf> LOL in a huge font if I could.
[04:40:45] <davidf> Who said that
[04:40:59] <davidf> Sounds familiar
[04:41:24] <KimK> I don't know, I heard it somewhere and it stuck, maybe Google knows? I'd like to know.
[04:44:08] <davidf> KimK, this is funny have a look. http://www.quotationspage.com/quote/269.html
[04:46:47] <davidf> Craks me up when I see how online co's try to take advantage of searches
[04:47:10] <KimK> Ha, yes, a bunch of good ones. I'm not really familiar with the quotes contained in "quote of the day" (qotd) but I know a lot of people are due to it's wide use on assorted computer systems.
[04:48:07] <KimK> I like this one I just stumbled across: "Some national parks have long waiting lists for camping reservations. When you have to wait a year to sleep next to a tree, something is wrong." --George Carlin (1937 - 2008)
[04:51:39] <KimK> [re: can't afford it, etc.] Yes, I hear you. I can't really afford it either, but I haven't found work yet, and I would like to lessen my ignorance about developing (Linux generally and EMC2), so I thought I'd better go anyway.
[04:54:01] <KimK> I'm pretty sure "quote of the day" data (and many others, "The Simpsons, etc.) are available in Synaptic, but I don't know what apps are available to present them or how. Maybe you'll want to search Synaptic?
[04:56:17] <davidf> I like this http://www.quotationspage.com/author.php?author=Unknown got by clicking on this link from my first pos "View a detailed biography of unknown" as if unknown was a real person. That just makes me giggle. Gimme a break if you are going to make a website that offers links to people who said stuff, then bother to see if you are quoting people named something other than unknown.
[05:03:43] <KimK> There are lots of funny stories about attorneys and courts too. Probably Google has those too. One I can remember:
[05:04:45] <KimK> Attorney: And were you there when the accident occurred?
[05:05:17] <KimK> Witness: (nodding head)
[05:05:43] <KimK> Attorney: I'm sorry, all your responses must be oral. Do you understand?
[05:05:53] <KimK> Witness: Yes.
[05:06:20] <KimK> Attorney: All right. Were you there when the accident occured?
[05:06:27] <KimK> WItness: Oral.
[05:07:58] <KimK> OK, well, maybe you have to have a certain sense of humor to enjoy that one.
[05:10:15] <KimK> All right, since I'm off topic, what EMC2 news with you?
[05:30:00] <Endeavour> Hello KimK.
[05:38:19] <KimK> Hey, Endeavour, how's it going?
[05:51:28] <Endeavour> KimK: Decent, just researching stuff.
[05:51:40] <KimK> Making any progress?
[05:52:00] <Endeavour> Yeah, finished defining the objectives for the 3D printer.
[05:52:52] <Endeavour> Was looking for additional opinions from folks about adding some other things, but not many added any, so it should be good.
[05:53:39] <Endeavour> I need to start looking into stepper motor driver design
[05:56:34] <KimK> Can't you just buy them? They're pretty reasonable. Or is this a product?
[05:58:18] <Endeavour> Need to design 'em.
[05:58:41] <Endeavour> I was looking at existing options but I realized it would be better not to just use an existing product.
[05:59:39] <Endeavour> Know of any good stepper manufacturers?
[05:59:55] <Endeavour> Err, stepper driver ICs, rather.
[06:07:18] <fragalot> Mornin'
[06:30:36] <KimK> Endeavour: No, can't help you with that, sorry. fragalot: good morning. And with that, gents, I'm off for a meal and bed. Goodnight all.
[07:50:11] <MattyMatt> Endeavour the allegro ones are popular in repraps
[07:51:58] <MattyMatt> these toshiba ones I'm using seem fine, but I think this whistling noise they make at half steps is worse than typical
[07:53:01] <MattyMatt> all chopper drivers are going to make some noise if the chopper freq is audible. maybe I need to jig my caps
[07:54:55] <MattyMatt> and the kidney shaped pool was on your list already? good man :)
[07:55:51] <MattyMatt> the real, serious suggestion I had was the 3d scanner tho. I've always intended to do that on mine
[07:56:23] <MattyMatt> in fact I wanted to before I wanted a mill
[07:57:19] <MattyMatt> but I wouldn't have got the stepper control together without emc
[07:58:09] <MattyMatt> and in the end, I wouldn't have built a moving table until I was making a mill
[08:09:06] <MattyMatt> all steppers chips are practically equivalent these days, afaics. they are all choppers, all bipolar only etc
[09:43:03] <alex_joni> awallin: good morning
[09:46:13] <piasdom> hi
[09:48:05] <piasdom> yesterday my stepper went wild, jittering back and forth. the arrow keys, i would press the left < and release and press and, the table went in two different direction
[09:48:47] <piasdom> i looked in the ini file and the ferror was 1.0 for the x asis but .05 for the other two
[09:49:44] <piasdom> would they be hat far different. have been using the mill all day. didn't happen til the end
[09:50:12] <piasdom> hat*that
[09:52:02] <alex_joni> nope
[09:52:12] <alex_joni> sounds like noise
[09:52:19] <alex_joni> or step/dir reversed
[09:52:41] <alex_joni> but since it worked afterwards, I'd guess noise
[09:53:59] <piasdom> from the computer ?
[09:54:17] <alex_joni> or from the outside
[09:54:30] <alex_joni> spindle motor, vacuum motor, something
[09:54:31] <piasdom> and should i change the 1.0 to .05 like the other two drives ?
[09:55:05] <piasdom> you mean the noise from OUTSIDE the system ?
[09:55:12] <alex_joni> most likely
[09:55:26] <alex_joni> what's your scale?
[09:55:39] <piasdom> i do have a vacuum cleaner about 5ft from it ?
[09:55:39] <alex_joni> and units?
[09:55:51] <piasdom> http://paste.org/pastebin/view/19293
[09:55:54] <alex_joni> maybe check if it's relevant when you start/stop the vacuum
[09:56:20] <piasdom> never happened before, vacuum beed the over a year
[09:56:31] <alex_joni> 1" of ferror is HUGE
[09:56:33] <piasdom> beed*been
[09:56:36] <alex_joni> 0.05" sounds more like it
[09:57:08] <piasdom> don't know why it changed during operation
[09:57:21] <piasdom> i changed it to .05
[09:58:53] <piasdom> alex_joni: Thanks
[10:10:31] <_TwisT_> hi all!
[10:10:38] <micges> hi
[10:11:11] <_TwisT_> can anyone help me?
[10:11:30] <_TwisT_> http://pastebin.ca/1876518
[10:11:45] <_TwisT_> strange error on line 11
[10:11:49] <_TwisT_> :/
[10:13:26] <_TwisT_> SWPadnos: hi! remember me? I've asked about an crashing EMC2 some time ago... here is the logs ^
[10:19:23] <micges> _TwisT_: pastebin hal file and xml file please
[10:20:02] <_TwisT_> ok, one moment
[10:23:19] <_TwisT_> micges: http://pastebin.ca/1876532
[10:29:12] <micges> custom_postgui.hal also
[10:29:55] <alex_joni> _TwisT_: there is also an error message about unexpected RT delay
[10:30:06] <alex_joni> that means that the machine might have problems driving steppers
[10:30:21] <alex_joni> maybe SMI can help, or a different VGA driver
[10:30:28] <alex_joni> but if all fails, I'd change the PC
[10:31:29] <_TwisT_> micges: its in the first paste at the end http://pastebin.ca/1876518
[10:32:20] <micges> there should be second hal file
[10:32:34] <_TwisT_> alex_joni: SWPadnos said that souldnt be a problem, because spikes only happens at OpenGL init and shutdown
[10:33:40] <alex_joni> _TwisT_: your custom VCP panel is empty
[10:33:48] <alex_joni> http://pastebin.ca/1876532
[10:33:54] <alex_joni> lines 88-91
[10:35:12] <alex_joni> you need to add at least a slider or something that you can connect the speed to
[10:36:30] <alex_joni> _TwisT_: http://pastebin.ca/1876538
[10:37:15] <_TwisT_> oh, thank you :)
[10:52:52] <alex_joni> _TwisT_: works?
[11:04:13] <_TwisT_> alex_joni: yes, works fine =) thanks a lot :)
[11:10:21] <alex_joni> cool
[11:39:59] <SWPadnos> _TwisT_, I knew there was an actual error in there somewhere :)
[11:46:45] <micges> SWPadnos: hi
[11:46:50] <SWPadnos> hi
[12:12:53] <Xavier_H> Hi
[12:13:02] <Xavier_H> everybody
[12:13:16] <SWPadnos> everybody says hi
[12:13:23] <Xavier_H> thanks ;-)
[12:13:31] <SWPadnos> man, what a deal: http://www.newegg.com/Special/ShellShocker.aspx?cm_sp=ShellShocker-_-412227-_-06032010
[12:14:17] <Xavier_H> re xchat crash...
[12:15:47] <Xavier_H> I have a question : why polar coordinates works just in XY plane?
[12:16:25] <SWPadnos> I think it just hasn't been implemented for the other planes
[12:16:38] <SWPadnos> I don't think there's a specific reason why it shouldn't work
[12:16:49] <Xavier_H> I don't know if there are not been implemented yet or there is difficult or impossible to implement
[12:16:55] <johnt> I have a Zotac motherboard in the Hardinge
[12:17:02] <Xavier_H> ok
[12:17:20] <Xavier_H> thanks
[12:17:29] <SWPadnos> johnt, this one is pretty cheap, and has onboard (nvidia) video, but the combo price is about the same as the CPU price
[12:17:39] <SWPadnos> and it's less than an Atom board (though larger)
[12:17:49] <Xavier_H> I will take a look on the code to see if I understand somethink....
[12:17:53] <Xavier_H> thanks
[12:17:55] <SWPadnos> sure
[12:18:12] <SWPadnos> it's not going to be simple to change it, but it's not conceptually difficult
[12:19:18] <Xavier_H> ok, I need that fonction for a non-trivial cinematic, It will be more simple to implement gcode moves
[12:19:53] <SWPadnos> kinematics should have no impact on G-code, they're separate domains
[12:20:12] <SWPadnos> are you implementing a non-trivial kinematics module?
[12:20:29] <Xavier_H> yes I know, but one of my joint is rotate one
[12:21:34] <Xavier_H> and for some pieces I would like to move in polar coordinate (and move only this joint)
[12:22:15] <SWPadnos> OK, I think you're talking about a rotary axis, not the polar coordinates I was thinking of
[12:22:19] <Xavier_H> I can also use G02 G03 but it is more complicated to use in my case (cartesian)
[12:23:25] <Xavier_H> No I am talking about fly cutter like this the one of the archivist: http://www.youtube.com/user/davethearchivist#p/u/3/Ge9_Qbd09zU
[12:23:56] <SWPadnos> yes, that's a rotary axis, and you program its position in degrees
[12:24:01] <SWPadnos> it's "A"
[12:24:26] <SWPadnos> polar coordinates is about using R and Theta to describe a point on a plane, instead of X and Y
[12:24:36] <Xavier_H> yes but the profile of the gear are described in cartesian coordonnate (circles,...)
[12:24:54] <Xavier_H> Yes I know that
[12:25:08] <piasdom> hello
[12:25:14] <Xavier_H> hi
[12:25:20] <SWPadnos> well, what you're talking about may be harder than I thought, or it's already done :)
[12:26:12] <piasdom> alex_joni: would the spindle motor burning the brushes to the spring and shutting down be the kind of noise you were talking about ?
[12:26:18] <Xavier_H> For exemple, in the video the teeth are arc of circle
[12:27:16] <SWPadnos> if you program a G1 move in Y and A (with the machine in the video), you get an arc profile on the tooth
[12:27:35] <Xavier_H> and I had to write kinematics to use G02 G03 to describe mouvment
[12:28:00] <Xavier_H> yes with short G1 moves
[12:28:14] <SWPadnos> no, a single G1 move
[12:28:33] <SWPadnos> if you rotate the work while changing the radius, you get a curve
[12:28:38] <Xavier_H> but to describe a circle with A and Y is difficult
[12:29:07] <SWPadnos> you can cut a circle by setting XYZ to some point and doing G1 A360
[12:29:22] <SWPadnos> that sets the cutter somewhere, and then spins the work one full circle
[12:30:06] <Xavier_H> http://en.wikipedia.org/wiki/Polar_coordinate_system#Circle
[12:30:48] <Xavier_H> The difficult is describe circles (center other than (0,0) ) in polar coordonnates
[12:30:49] <SWPadnos> I think we're talking past each other. we both know what the equation of a circle is
[12:31:36] <Xavier_H> In polar coordinates it is tricky
[12:32:02] <SWPadnos> are you trying to do something like inscribe a circle on a gear?
[12:32:19] <SWPadnos> non-concentric
[12:32:45] <Xavier_H> It is for that I make kinematics modul to work in XYZ coordinates (gear is considered fixed)
[12:33:00] <Xavier_H> yes
[12:33:13] <Xavier_H> it is the teeth profile
[12:33:28] <SWPadnos> like HTD teeth?
[12:33:34] <Xavier_H> as the gears on video is
[12:34:16] <SWPadnos> the gear looks like it has flat sides to me, though the teeth are arranged in a circle around the circumference (of course)
[12:34:41] <SWPadnos> archivist, do you have the code for that escape wheel handy?
[12:34:52] <Xavier_H> yes HTD are also circle but aren't machine with a saw disk
[12:36:17] <Xavier_H> Ok for the exemple it is escape wheel and it is linear motions
[12:36:22] <johnt> heh that combo throws in a free HDMI cable too
[12:36:23] <Xavier_H> sorry
[12:36:54] <johnt> * johnt wanders off to work now
[12:37:55] <Xavier_H> but I need to describe teeth which are describe by arc of circle
[12:38:21] <SWPadnos> like a ratchet? (arc on one side, probably flat on the other)
[12:40:08] <Xavier_H> Like gears in the switzerland norms for clock making
[12:40:24] <SWPadnos> heh, oh. (not that I know what that is :) )
[12:40:39] <Xavier_H> I try to find examples
[12:43:53] <Xavier_H> http://www.clock-works.clara.net/cata/wnpc3.html
[12:45:41] <davidf> Good morning
[12:45:55] <Xavier_H> good afternoon ;-)
[12:46:23] <Xavier_H> SWPadnos do you see what I am talking about?
[12:46:30] <SWPadnos> yes
[12:46:45] <SWPadnos> but I'm not sure polar coordinates will help much
[12:47:00] <alex_joni> piasdom: yes
[12:47:23] <SWPadnos> the way they work now, R and theta are measured from the origin of the current coordinate system
[12:47:35] <davidf> how about just reconnecting the z as y and programming in x-y polar coords?
[12:48:00] <piasdom> alex_joni: thanks, motor did that yesterday, any way to protect against that happening again ?
[12:48:19] <Xavier_H> davidf : yes it is the simpliest way
[12:48:44] <SWPadnos> for the full ogive profile, you'd have to set the origin to one side of the gear tooth, then you can specify endpoints for the profile in polar coordinates, but it doesn't make the path programming any different
[12:49:11] <SWPadnos> you can do arcs in 3 planes, regardless of how you specify the endpoints
[12:49:20] <SWPadnos> (G17/G18/G19)
[12:49:36] <Xavier_H> SWPadnos : Polar coordinates will help to describe some points of the profile (start points), the I will use cartesian coordinates for the teeth
[12:51:24] <Xavier_H> Ok, I'll try to use this
[12:51:38] <Xavier_H> I am in G19 (YZ) mode
[12:52:07] <Xavier_H> Thank you again for you advices
[12:52:16] <SWPadnos> sure, I just hope I was right :)
[12:52:49] <Xavier_H> I will test it!
[12:57:14] <davidf> piasdom, I used to work in a motor rewinding shop - we had power tools come in often where that had happened. It was usually from running on a long extension cord, which reduced the voltage, and increased the current , heating the springs and causing them to lose temper resulting in burned brushes and fried springs
[12:59:23] <piasdom> davidf: thanks, motor plugged straight into the wall. one spring does look burnt. maybe old motor(2 years) ?
[12:59:46] <davidf> Could happen anytime you are running at reduced speed (and therefore reduced back-emf) whether due to mechanical overload or reduced voltage
[13:00:23] <piasdom> only use at full speed(2400)
[13:00:48] <davidf> figure of merit for age is hours of operation of course
[13:01:39] <piasdom> guessing about 500 hours(not used every day
[13:01:58] <davidf> How does the commutator look?
[13:02:32] <piasdom> still brass looking, no groove
[13:02:53] <davidf> Just replace the springs and brushes then...
[13:03:18] <piasdom> i did, motor working for 3 hour now
[13:03:33] <piasdom> davidf: Thanks
[13:03:43] <davidf> good. 497 hours left to go :)
[13:03:49] <piasdom> hhahahahha
[13:04:58] <davidf> :)
[13:40:35] <Jymmm> http://www.wimp.com/babymoose
[13:44:15] <elmo40> such a huge animal... don't ever pick a fight with one and your wee Honda ;)
[13:45:00] <Jymmm> http://www.wimp.com/deadliesthamburger/
[13:48:09] <Jymmm> http://www.wimp.com/babyelephant/
[13:51:43] <Jymmm> elmo40: I picked up a used EU2000i yesterday
[13:53:26] <Jymmm> http://www.wimp.com/deersafety/ WOW
[13:58:29] <Jymmm> What you think, 10 gallons per mile? http://www.wimp.com/extremeoffroad/
[14:00:10] <Jymmm> Ok, something EMC related... http://www.wimp.com/japaneserobots/
[14:04:32] <micges> haha
[14:06:53] <micges> crazy japanese
[14:18:32] <Jymmm> Looks like they were having fun too!
[14:21:13] <micges> sure they do
[14:21:46] <Jymmm> alex_joni: http://www.wimp.com/googlelimewire/
[14:24:16] <Jymmm> This is cool!!! http://www.wimp.com/peoplestairs/
[14:25:52] <Endeavour> Hey.
[14:26:07] <Endeavour> Anyone here have any suggestions for *good* stepper driver ICs?
[14:27:00] <JT-Work> gecko :)
[14:34:13] <Jymmm> gecko
[14:34:33] <Jymmm> http://www.wimp.com/threecats/
[14:35:30] <SWPadnos> hah
[14:35:38] <SWPadnos> smart one in the middle :)
[14:35:51] <Jymmm> must be one of yours
[14:36:43] <SWPadnos> awfully nice of the others to hold it for him
[14:36:56] <Jymmm> I thought so too
[14:37:53] <penguin> hi, what is the NML file for?
[14:38:07] <penguin> it is automatically generated?
[14:38:18] <SWPadnos> it tells the system how the various parts of emc will communicate
[14:38:26] <Jymmm> http://www.wimp.com/householddominoes/
[14:38:43] <SWPadnos> no, it's not automatically generated, but it's rarely necessary to change it
[14:38:47] <penguin> if i have a custom HAL and INI files, I need to rewrite NML file too?
[14:38:55] <SWPadnos> probably not
[14:39:18] <penguin> look SWPadnos: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Rastering_With_A_Laser
[14:39:22] <penguin> ;)
[14:39:28] <SWPadnos> yes, I saw the emails
[14:39:33] <penguin> this is new
[14:39:38] <penguin> from zero
[14:39:55] <SWPadnos> ok, I'll take a look at some point
[14:40:23] <Jymmm> WHOA http://www.wimp.com/talkingpiano/
[14:40:47] <SWPadnos> the NML file only needs to change if you (a) want to use a remote GUI (since you have to tell it to use a network instead of shared memory), or (b) you make some changes to the code which require larger buffers
[14:41:03] <SWPadnos> otherwise you should be able to leave it alone
[14:41:04] <Endeavour> JT-Work & Jymmm : ICs, not pre-built solutions. :)
[14:41:26] <SWPadnos> you said "good", which more or less eliminates all the ICs you could easily buy
[14:42:01] <Endeavour> SWPadnos: How do folks like Gecko do it? Make their own silicon?
[14:42:11] <SWPadnos> yes, more or less
[14:42:21] <SWPadnos> the old ones used discrete logic, the new ones use CPLDs
[14:42:26] <penguin> another question: i have a M101 file in the nc_files folder, and I expect that EMC2 run this file when I enter "M101" in the gcode
[14:42:27] <SWPadnos> (for geckos anyway)
[14:42:52] <Endeavour> I see.
[14:43:07] <penguin> what i need to do to get tihs work?... some people says i need to symlink the file
[14:43:19] <Endeavour> Is there a practical way to build your own driver, or not?
[14:43:46] <SWPadnos> it really depends on how good and powerful you want it to be
[14:43:59] <SWPadnos> and what your equation is for trading time vs money
[14:45:03] <Endeavour> The process of designing one is more academic in nature than wanting to save money.
[14:45:13] <Endeavour> Truth be told I'd sooner buy a Gecko and forget it.
[14:45:28] <SWPadnos> ok, in that case there are several designs out there
[14:45:46] <SWPadnos> L296/L297 is one chipset people use
[14:45:51] <Endeavour> But, need to build the driver, so, I'd like to be able to do something that's good, and not end up with lackluster performance.
[14:45:55] <SWPadnos> or was that L297/L298
[14:46:03] <SWPadnos> that's the thing
[14:46:11] <Endeavour> The ST OpAmp?
[14:46:29] <pcw_home> "Good" will take a lot of engineering effort
[14:46:45] <SWPadnos> no, it's a stepper driver chip
[14:47:07] <SWPadnos> but the more integrated ones all have pretty low limits for both voltage and current
[14:47:15] <Endeavour> Just looked it up. Similar number to a different chip of theirs I saw last night.
[14:47:25] <SWPadnos> and some go poof if you go slightly over voltage - there's no headroom
[14:47:33] <Endeavour> pcw_home: That's OK
[14:47:42] <SWPadnos> there are others as well, I don't remember the names
[14:48:09] <Endeavour> SWPadnos: Are there superior ways to design a driver without using ICs, but only discrete components?
[14:48:30] <SWPadnos> yes, if you're an electrical engineer who specializes in motor drives, and you have a spare 1000 hours :)
[14:49:34] <SWPadnos> it's not that the ICs are bad, they just have relatively low power limits relative to CNC needs
[14:50:05] <elmo40> Endeavour: stepper or servo driver?
[14:50:06] <SWPadnos> I've seen 6-motor drivers on a single chip, but they're meant for really tiny motors, like the kind you'd find in a digital camera (which is where I found that chip :) )
[14:50:21] <pcw_home> 1000 hours is probably optimistic dont ask me how I know this...
[14:50:27] <SWPadnos> heh
[14:50:37] <penguin> i have a M101 file in the nc_files folder, and I expect that EMC2 run this file when I enter "M101" in the gcode
[14:50:38] <SWPadnos> I did say specializing in motor drives :)
[14:50:43] <Endeavour> elmo40: Stepper
[14:50:52] <penguin> what i need to do to get tihs work?... some people says i need to symlink the file
[14:50:58] <SWPadnos> penguin, yes, you can expect that, if the file M101 is executable
[14:51:07] <SWPadnos> no, no need to suymlink
[14:51:12] <SWPadnos> symlink
[14:51:27] <penguin> i simply copy and paste the file and make it executable?
[14:51:51] <SWPadnos> sure
[14:52:01] <elmo40> Endeavour: remember. steppers offer no feedback. EMC is 'guessing' as to where it went with the info from setup and the pulses it gives the controller... so... making a driver shouldn't be difficult :P it is only step and direction
[14:52:09] <SWPadnos> as long at it can be executed by typing ./M101 in the nc_files dir, it should work
[14:52:15] <SWPadnos> note that it's M101 and not m101
[14:52:33] <Endeavour> elmo40: A lot of people seem to hate some of the existing driver solutions
[14:52:41] <Endeavour> A3997 by Allegro, and others.
[14:53:13] <Endeavour> I'm not opposed to building around a chipset, but would like to make something reasonable, too.
[14:59:55] <SWPadnos> if you're trying to make something to drive a specific motor that you own, and that motor is within the specs of the chips (usually 25-35V max, usually 2-3.5A max), then it's reasonable to do it for the learning experience
[15:00:29] <SWPadnos> if you want something that will get the best performance out of the motor, or that will work with unspecified motors later, then you should probably just buy something
[15:01:19] <JT-Work> * JT-Work loves the existing driver solutions I have on my lathe and plasma cutter
[15:01:50] <Endeavour> SWPadnos: Yeah. Some people here really seemed to dislike specific chips, though.
[15:02:06] <SWPadnos> they're all relatively fragile, from what I hear
[15:02:18] <SWPadnos> if it says 35V max, you'd better not go to 3.5., or it will fry
[15:02:24] <SWPadnos> err, 35.5
[15:02:36] <Endeavour> I see.
[15:05:09] <SWPadnos> that said, if you have a motor that will perform well enough, while being driven well within the limits of the controller chip, then you're fine
[15:06:20] <elmo40> JT-Work: list what you have, to make Endeavour think about pre-built options
[15:08:47] <JT-Work> elmo40: Mesa 5i20's 7i33TA, 7i37's, and some Gecko 203V's and a Mesa THC
[15:12:10] <JT-Work> 7i37TA I meant
[15:15:13] <penguin> i'm using a custom NML file and EMC2 don't run
[15:15:17] <penguin> PHYSMEM_HANDLE: Can't write 10748 bytes at offset 60 from buffer of size 10208.
[15:15:35] <penguin> here is the pastebin:
[15:15:36] <penguin> http://pastebin.com/CjX6axe2
[15:16:03] <cradek> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?UPDATING
[15:16:29] <penguin> i know i need to comment the NML file line in the ini file
[15:16:48] <cradek> what is your question?
[15:16:59] <penguin> but i'm trying to use a custom nml file
[15:17:06] <cradek> what is your question?
[15:17:19] <SWPadnos> then increase the buffer size in your NML file
[15:17:21] <penguin> what's wrong with my nml file?
[15:17:22] <penguin> :p
[15:17:23] <cradek> did you read the instructions at that url?
[15:17:28] <penguin> yes
[15:17:38] <penguin> i will try increasing the buffer size
[15:17:39] <cradek> (I doubt that's true)
[15:17:48] <SWPadnos> I don't know why you need to use a custom NML file
[15:17:55] <SWPadnos> but that's up to you
[15:17:55] <penguin> (i read it yesterday :p)
[15:18:29] <cradek> I suggest reading again - it's spelled out very precisely
[15:24:30] <Jymmm> * Jymmm just shakes his head
[15:24:46] <Jymmm> THINK OF THE CHILDREN!
[15:25:38] <penguin> YES... i works increasing the buffer size
[15:25:45] <penguin> :) :) :) :) :) :)
[15:26:18] <penguin> i have graster streamer working
[15:26:31] <skunkworks_> Great!
[15:26:43] <penguin> the laser don't want to turn on... i need to guess why
[15:26:44] <skunkworks_> you should write a wiki page on it. :)
[15:26:58] <penguin> i am writing one
[15:27:16] <penguin> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Rastering_With_A_Laser
[15:31:50] <skunkworks_> penguin: nice work!
[15:32:03] <cradek> yay!
[15:34:16] <mikegg> cool!
[15:34:36] <Jymmm> LOL http://www.wimp.com/talkinganimals/
[15:36:06] <Jymmm> http://www.wimp.com/woodenmirrors/
[15:37:10] <Jymmm> alex_joni: you would like that ^^^^^^^^
[15:47:06] <Jymmm> OMG - Woman clothes shopping in under 15 minutes http://www.wimp.com/futureshopping/
[15:49:42] <Jymmm> alex_joni: I KNOW you have to be in at least ONE of those shots... http://www.wimp.com/bizarretraveling/
[15:54:27] <Jymmm> Melting steel with sunlight http://www.wimp.com/meltingsteel/
[15:58:51] <Jymmm> Ok, EMC related DAMN.... http://www.wimp.com/robothand/
[16:02:29] <celeron55> that's fast 8)
[16:03:44] <Jymmm> Think they used the Paraport? <snicker>
[16:05:03] <skunkworks_> penguin: any picutures?
[16:09:19] <Jymmm> DAMN, he's good http://www.wimp.com/yearboxer/
[16:30:18] <Martyns> SWPadnos: Re archivist www.collection.archivist.info/verge_escape.ngc Im playing with an iPad on martyns new toy
[16:31:27] <Martyns> Oops typo www.collection.archivist.info/verge_wheel2.ngc
[16:56:55] <penguin> skunkworks: not yet :p