Is halscope triggering 100% reliable? I ask because I was trying to capture a single trace of axis.0.f-error. I had the scope set up for single channel, 16000 samples at 10kHz. Triggering was on channel 1, rising edge at +500m so that I could start capturing data when f-error got over 1/2". The problem I had was that the scope would trigger itself before I could mdi the move I wanted to watch. I saved the data to halscope.log, but
mshaver: you are getting false triggers? or failing to trigger when it should?
it is on "normal" and not "auto", right?
FUCK I hate IT and being privy to 'terminations'.
you got booted?
when I left my last job, they wanted me to get a signature from the Vax administrator
I asked why the hell they had a vax
november 2008, i kid you not
net dout-00 motion.digital-out-00 => parport.0.pin-01-out
should that mean I can just type M62 P00 and it'll turn my laser on?
I told them I suspect that all the exploits were so well known by now that I could log in if I wanted anyway
or blow it up, one of the two
nothing is happening in the hal meter
Hello All, Could someone please advise what would be the best tool post for a Boxford AUD, between the piston (Ref: 9511300) type and the other type Ref: 9511300found on the following page http://www.chronos.ltd.uk/cgi-local/sh000001.pl?REFPAGE=http%3a%2f%2fwww.chronos.ltd.uk%2f&WD=toolpost&PN=Chronos_Catalogue_Quick_Change_Toolposts_69.html%23a9511300#a9511300
I had to 'backup' the person's laptop while they were in a meeting probably getting terminated - I feel/felt like shit aand on Friday the 13th of all days.
talk about your bad luck
the laptop was still locked to the docking station, so I was just handed the whole thing and asked to back it up.
don't you work for a bank?
jmkasunich: OK, I was on auto... My problem is that I have max ferror set to 0.6 for this axis, and on a 400"/min, 10" long move it gets a following error, but I haven't been able to scope it or figure out why. My scope traces (with max ferror set to a huge value) don't show any excursions above 0.5".
I feel like writtting an email and saying if/when you decide to restrutcure,reoganize, downsize,terminate, layoff me, just kill my accounts and lock me out of the bldg. no fuss no bullshit
shrdlu-: I get the same thing as you-- m61/m62 don't change digital-out-00 as seen in halmeter.
this is with CVS TRUNK updated just now
I think we'll have to wait for alex to come back and find out what's what
nightmare. I think he went to bed
My customer is going to lynch me
didn't you have version 2.2 running OK? Just go back to that.
no, it doesn't work synchronously in 2.2. If I use the spindle or z axis it causes the other axes to jump
hmmm, hold on a second
can't I just use a regular digital out to do this?
try with m63/m64 in TRUNK
I just did and in halscope I don't see the velocity changes I know are there in 2.2.
well, no, wtf
ooh. m64 works
I get a dip in velocity at turn-on but not at turn-off !?
ok, this doesn't make sense to me, but if I use m61 I get nothing. If I use m62/m63 I get outputs changing but no dip in velocity. If I use m63/m64 I get dips in velocity
see if there's a combination that works for you without a dip in velocity; if there is, use it for now -- and we'll talk to alex_joni when he's awake again to figure out what it should be
(I thought m61/m62 were pairs, and m63/m64 were pairs .. am I mistaken?)
62 and 63, 64 and 65
64 turns my laser on, 65 off
does the velocity dip or is it OK?
just changing the code
hm, I think my testing problem with g62/g63 is that it doesn't do anything until you issue the next move, and I wasn't issuing any moves
er, I keep saying g but mean m
mshaver: trigger the scope on f-errored
I think its a parameter, not a pin
it's a bit, goes true when the fault happens
that way you _know_ you captured the event, then you just have to examine traces (or move probes and try again) till you figure out what it is
64 still jumps
triggering on the ferror signal is a crapshoot, since the problem may be ferror going < -0.6, rather than > 0.6
Thanks John! I'll try that!
it works. I have proper raster
shrdlu-: which combination is working for you? http://emergent.unpy.net/files/sandbox/emc-dio-without-stopping.png
this is the one that worked for me, but only going by the velocity trace in halscope ^^
I don't know. I just know it isn't jumping
oh, well, ok
cut looks a bit funny though
but I can work on the gcode for that
It's interesting. My min-ferror is set to .1 and as the velocity drops at the end of the move, I guess it gets in under the min threshold for an error.
50 thou of ferror seems like a lot
I mean 150 thou
And it's a 5i20 driven stepper system, so it's really imaginary, I think...
if ferror = 0.150, then you DO have 0.150" between command to the stepgen and feedback from it
True. But why I wonder. Am I reading the last cycle's position feedback data?
reduce the zoom (a lot), and move the position slider so the trigger happens near the right edge of the screen - you want to see what is going on leading up to the trip
Sure! Moment please...
if you are moving 0.150 inches in one cycle (1mS?), that is a damned fast machine
it is odd that the f-error appears to be decreasing slowly when the error occurs
9000 ipm ;-)
I bet there isn't any/enough stepper headroom, it fell behind (maybe by even more than we see) during the move, during decel it is catching up, but not as fast as the ferror limit is dropping
oh interesting, that sounds like a good explanation
btw, you can scope the limit, I think it is a parameter called max-ferror (or similar)
could be, I'm going by rusty memory
mine's just a little oxidized, but still doesn't conduct well
[01:19:54] <mshaver> http://www.mattshaver.com/emc2/configs/smithy/thebigpicture.png
are you running your servo thread at 10KHz?
Let me check
if you have to check, you probably aren't
that would be a concious decision that you would have made
(presumably only if you had a good reason to do so)
for this kind of thing, it makes sense to sample in the servo thread - probably 1mS unless you changed it
and you need more channels
SERVO_PERIOD = 100000
As I recall, the motors sounded a lot rougher at slower servo periods.
this is a stepper machine?
I don't see the connection between servo period and motor sound
there is some weirdness about 5i20 stepper behavior, unfortunately I haven't tried it myself (and don't have time to anytime soon)
I don't either, it was sort of arrived at empirically. I should go back and try 1ms.
what version are you running? 2.2.8 or TRUNK?
The last time I tried this was before the newest hm2 firmware, so maybe...
TRUNK, a couple of days old now
then you should have the latest greatest firmware _and_ driver code
I bet you will be fine with 1mS
and if not, investigate using scope (after resolving this ferror thing)
mshaver: since you're here, is this any good and does it still exist? http://www.erols.com/mshaver/bmp2cnc-0.22.tgz
yep, I'll play around with this some more tomorrow. Thanks for the help! It's alway good to bounce things off other folks!
I don't know all the pins and params in the driver - you want to look at something that lets you know where you are in your move - velocity
I dunno if there is a commanded or feedback velocity pin handy (you can always make one with a ddt block)
I think the 5i20 stepgen driver has a frequency or velocity pin
it sure smells like you don't have enough headroom for the stepgen
I've got both vel and fb in the driver.
halscope has lots of channels - use 'em
yep, I must be running out of time somewhere.
the stepgen driver has max velocity and/or max accel parameters
fenn: my erols account is long gone, but I have bmp2cnc somewhere
they MUST be somewhat greater than the max-vel and max-accel parameters of EMC itself, so that the stepgen can keep up with what emc asks
I wonder if a stepgen reference frequency error could make the steppers noisier with a slower sample rate
on the 5I20 the reference frequency is PCI clock which is not guaranteed to be very accurate
(it really should be calibrated against the 50 MHz)
fenn... I just checked my hd... I have bmp2cnc-0.21.tgz and bmp2cnc-0.22.tgz
I'll go back and look at that. As I recall I talked to Seb about this.
PCW: define "not very accurate" I'd be astonished if errors of less than several percent caused problems
(or against EMCs clock)
and equally astonished if the PCI clock was several percent off
Hey LG, use .22, it's the latest, probably the latest there'll ever be...
Maybe 3% (Ive seen 32 MHz)
it has wheels now
I'd like to build a plundge edm and use emc to control it. I know I will have to make custom hardware,
but first, can emc handle variable data for display like volts, amps and vary the g-code dynamically to adjust for depth and tool wear?
Itf that makes sense
be useful for a 3d CAD program?
the "3d mapping (perspective, flag, sphere)" is throwing me off, i thought it was mostly for 2d work
yes it could be useful. no it likely isnt ( has lOAS of stuff thats not useful for the major lang of cnc 'gcode'
it has lots of stuff thats not lines andd not circles, anything else is not in the gcode vocabulary
so, it is useful but not very
if you want lo level code
look at the src of emc
look at the src of some 2d or 3d cad
look at the 'computer gems books'
look at the srcs for APT and APT360, open src cad
if you dont already know y = mx +b, then you gotta get started ;)
thanks tomp :)
what are CGS routines?
and implicit surfaces
cgs is ading subtracting shapes to get new shaes like a sqr with a circle sbtracted from corner is a sqr witha bite out of it :0 very handy for sketching
implicit surfaces... id onoy be guessing, like the srfx between a cube mashed onto a sphere ( like plane of intersection maybe, maybe def is up to implementator, its 'his' language at that point
sorry crap typist & crap kbd
its csg i think you mean
[08:56:59] <tomp> http://en.wikipedia.org/wiki/Constructive_solid_geometry
ah dyslexia makes the world go aronud
oops 5pm here gotta go home best o luck
beachsurfin, there is also some cad cam discussion in #cam
skunkworks: you know, I used to be awfully impressed by that big cap on your servo amplifier, but I'm not so impressed anymore. I think you should add about 6 more ... http://blog.makezine.com/upload/2009/02/super_class_a_30w_amplifier/SuperclassA-Amp_1a.jpg
seems you figured it out eventually.. I mean to fix the docs, didn't have a dapper around though
M62/63 are the ones synced with motion, more than one of them are ok, they all will be remembered and will happen on the beginning of the next move
if there is no next move, they have no meaning/result
M64/65 happen immediately when they are read by motion, but they do break blending
jepler: I've been looking into xml-schema's to use it with pyvcp, it looks verry promissing
alex_joni: so you are quite confident that it's a feature for m62 to have no effect in mdi until a motion is also entered?
for MDI m64 does the same thing
It alows defining xml-structure for validation, default values, data validation, data restrictions, ...
jepler: I think it's possible to program the M62's and then run from line
it's just like starting spindle, but for synched laser it might be better this way
(I didn't test yet that switching modes doesn't do something to the TP, but it shouldn't ;)
alex_joni: the other weird thing i'm seeing is that the output gets set high at the start of a program even when it was set low at the end of the last run
did you only issue a M63 at the end of the run, or did it actually set the output low?
part program: http://emergent.unpy.net/index.cgi-files/sandbox/oo.ngc
the trace shows a full run of the program immediately after the previous run
I *expected* the output to be low until X=.1 but it comes on as soon as the program starts
that's probably a bug
I can even comment out the m62, and still get the same benavior
it looks ok here.. with the same program
is yours compiled for RT?
[14:52:12] <alex_joni> http://imagebin.org/38392
mine's compiled for simulator
64bit system though
32 bit here
you ran it multiple times?
tried dapper and hardy
is out-01 high?
well isn't that interesting
now this is a real wtf moment.. it's high here
I think you have uninitialized memory somewhere
* alex_joni looks
valgrind rtapi_app says this but doesn't give a good stack trace:
==26171== Conditional jump or move depends on uninitialised value(s)
==26171== at 0x6547E50: tpToggleDIOs (tp.c:605)
it might be something
can you try a patch?
crumb, my 50 pin cables only have 40 pins :/
IDE vs SCSI?
must be IDE cables... I was just searching through my junk boxes
thought I hit paydirt but not
[15:03:18] <alex_joni> http://pastebin.ca/1337151
I haven't made myself familiar with that code, so I don't know what that means
I can test it though, hold on
each tc has a struct attached
syncdio.anychanged = 0 means no dio has changed, and don't look at the struct
and somewhere, not in the context of that patch, is where it's set to 1?
yes, it's set to 1 on any call to tpSetDout()
well, there is a local struct which gets changed by calls to tpSetDout()
when a new movement is received, if the local struct was changed (syncdio.anychanged ==1), then it gets copied to that tc
bah.. sorry.. I only fixed rigidtap, hang on for a proper patch
[15:11:34] <alex_joni> http://pastebin.ca/1337160
looks better here, I guessed at where else to ptach while you were working on it too
line, circle and rigidtap are the only motions I found :)
I have the same change
I'll let you check it in though
I don't want to end up responsible for this code :-P
does it fix things?
yes, that's what "looks better here" means
no valgrind messages anymore, no inputs getting set to TRUE that I don't expect
ok, gotta run for a bit
it seems to retain the output value at the end of the program even into the next program (which I think is probably just fine)
thanks for fixing it
good evening .today i write at ROMANIA , for installation cnc maschine with 13 axis interpolated whith profibus line.
i have one question for jogwheel. Can i use the parallel port for control the maschine with incremental emcoder of 100pulse/rev?
how fast do you want to turn it?
if it's only <10 revs/second, then it should be ok
even 20-25 would be ok
for normal use you can go even up to 1000 counts/rev
the encoder for jogwheel is ok 1000 cout/rev ? normaly is 100cout/rev
ok thaks alex.the emc when axis is possible interpolation?
what kind of interpolation?
currently you can move 9 axes from g-code in emc2
XYZ are linear, and you can do circles and everything
the command g1 x 10 y20 z30 a15 b20 f100
ABC are rotary axes, and they move together with XYZ (a combined move will make all start and stop at the same time)
yes, that works
the same for UVW
you can run sim/axis_9axis and see how it works
cradek: for UVW you can't do circles.. right?
currently that is right
it would not be too hard to add UV, VW, WU circles but nobody has done it yet
those would be G17.1, G19.1, G18.1 planes
we already have those planes but they are only used for canned cycles
so you would still use IJK ?
yes if I did it that's how I would do it
alex on my maschine the general fuction is ok(motion,spindle,tool change I/O).i want change the raffiguration the axis:no icon,no menù ecc.is difficult modification the interface you are some idea?
motioncontrol: not sure what you mean.. do you want to modify AXIS?
for my study i have change the someline in axis.py and axis .tcl but have the error.exist the documentation for studing the axis interface?
motioncontrol: only the code itself
ok thanks. i have study python and tcl .now close the connection because the restaurant in Romania close fast.AT tomorroww and good night at all.thanks for all.
motioncontrol: where are you now?
what city I mean
Drobeta turn severin
I see.. a bit far from here ;)
about 300 km
yes the distance is 210km at tymiscoara
did you drive or fly?
although Turnu Severin isn't one of the nicest cities around here :)
i start at italy yesterday from Bari
there's a nice restaurant on the water there..
Yes the Italian resturant is very nice and good
but you need a romanian restaurant, italian food you can eat at home :P
<the resturant name is :gpapagi
tommorrow finisch istallation my maschine and 2 day after go to in italy
is this an emc2 machine?
no is flexmotioncnc maschine
ah, I see.. ok
alex if you want go in italy is possible start one project for emc implementation on big maschine
ok alex i close my collega want dinner.
jmkasunich: If you read back this far, I wanted to let you know I fixed my following error problem. You said it last night; headroom. I even have e-mails from Sebastian about this, but for some reason it didn't register with me. Anyway, once I added 10% to the stepgen's maxaccel and maxvel, all was well. With a scale of 50800 and 400kHz drives I can rapid at 470"/min. I need to do some reliability testing, but it sounds fine. Thank
yay for headroom :-)
seb_kuzminsky: I'm curious; Why is there a limit on accel and vel in the stepgens? I would think they should just do whatever they were told.
mshaver: imagine using them withough emc2
and having a limit will show emc2 TP problems
I can't. I just can't imagine that. ;)
I guess I see the point after all.
well.. there is a world where people use only HAL ;)
it's nice for embedded apps where a full emc2 is overkill or too complicated
mshaver: i put stepgen limits in because alex told me to ;-)
* alex_joni hides quickly :)
I think what I really need to do is to do a "halshow" and make sure that I understand what everything is/does.
mshaver: anything specific in mind?
No, just a general unease that results from tuning by fiddling with values until things seem to work. I need a more scientific approach. I need to know that I know what's going on, if that makes sense.
with the software stepgen - I know sometimes 10% Isn't enough. just an fyi. (that is about all I can contribute) ;)
On the first systems I built I would put arbitrary values in for P, I, and D, and tweak the amp gain and tach gain and just twiddle everything until it worked. Sometimes it would work well, sometimes just barely.
skunkworks: So, how much is enough? I did consider just putting in huge values...
I wouldn't put more than 20%
OK! You see, that's the kind of knowledge that's really needed to work successfully with this stuff.
well.. PID is for servos only
headroom is for steppers only
My early systems were servos. STG card based ones.
right.. I still have a STG from you ;)
I just want to get away from "flying by the seat of my pants". I want to do this stuff procedurally.
sounds like a good idea
although "flying by the seat of pants" is also nice (if it works..)
I still have a couple STG cards too, but I don't think I'd use them at this point. There's too much to be gained by using new fast PCs that don't have ISA slots. I often have wondered if you could translate the ISA bus to something usable by modern PCs, but it wouldn't be worth it unless the ISA card was really something really special.
you mean a PCI/ISA bridge?
Yes, like that. But such a thing probably costs more than a mesa board set.
I only have one card I'd like to use (maybe, someday) and that's a universal format floppy controller card. It'll do 8", 5.-1/4" & 3-1/2" with any kind of sector layout.
It would be useful for data recovery stuff, but I don't really have that much use for it.
Well, it's back to the shop for me. These machines won't build themselves! Although, that's a really good idea come to think of it...
OK, look at this: http://www.mattshaver.com/emc2/configs/smithy/g1x10f465.png
And this: http://www.mattshaver.com/emc2/configs/smithy/asym-ferror.png
Can anyone tell me why the graph of ferror is asymetrical?
did that move complete ok?
I mean you didn't stop it with abort or something?
It completed normally
went from x0 to x10"
what does it do when you return?
Well, I can return, but I haven't scoped it. If you like, I will!
bbl.. gotta run for a bit
OK! In the mean time, I'll plot the other direction!
and, possibly eat something...
alex_joni: Here it is: http://www.mattshaver.com/emc2/configs/smithy/g1x0f465.png
The ferror curve is still asymmetrical, just upside down. Thoughts?
is that .0004 error?
2 200m divs = 0.4
I see that when I was playing with tuning.. I remeber making it better my adding ffsomething
"Why is the error so large?" is another good question, but I was concentrating on the "Why is it asymmetrical?" question first. Ideas or answers to either would be welcome!
back in about 1/2 hour, must obtain food...
[21:13:59] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/followingatpid.png
[21:14:29] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/followingmore.png
mshaver it looks like it is still falling behind
it falls behind gradually, because it has "almost enough" accel and/or velocity (probably accel) to keep up
it catches up quickly once the commanded velocity drops
think about a guy in a 55mph car chasing one in a 60mph car - he doesn't fall behind very quickly, but when the 60 mph guy gets to a redlight, he catches up right away
you can easily determine if the problem is vel or accel - just do a jog with the jog slider set to about half way up
if it still lags behind, the problem must be accel
why would the fe stay up during cruise?
(if it was accel)
* skunkworks still hasn't done enough of this.
skunkworks: yours looks like a servo .. mshaver's is too "smooth" to be a servo
yes - but same issue?
* alex_joni has no clue ;)
Playing off and on I noticed that a lot of the time there is a cruse FE - but I know I have adjusted it out.. http://www.electronicsam.com/images/KandT/servostart/ferrorff0.png
that looks nice
qcad is evil
shrdlu-: there was a small problem with M62/63, you should update the code and recompile
hi alex_joni, thank you very much for adding that stuff. I managed to get my first order out using emc today
after staying up til 5am :/
then getting up at 9
shrdlu-: you do realize, you need to provide some proof :)
heh, I was thinking of that. I need to video something
it wasn't perfect though, some mistakes were made
probably due to the weird gcode
what was the M62/63 problem?
please don't forget to update the code, it might trigger false laser outputs
ok, I'll do that in a minute
I assume you know how ;)
seems like a useful link:
[21:49:30] <eric_unterhausen> http://kalecoauto.com/index.php?main_page=product_info&cPath=2&products_id=6
they have a batch of that stuff
0 Units in Stock
they also have a butt dyno
seasonal tire air
engine oil bypass kit
now this is a musthave: http://kalecoauto.com/index.php?main_page=product_info&cPath=5&products_id=21
I have a metric adjustable wrench :)
but it is not left hand :(
I could have used a lefthanded phillips screwdriver today
I only had a righthanded one, and the performance using it with my left hand was sooo low
I can't do squat with my right hand since I pulled my middle finger out lifting an engine block for my tractor :/
dang, I was afraid that might happen....
I had my bench supply hooked up in parallel with the robot's battery (to keep the batt charged during testing)
turned the supply off, and the battery back-fed it
fortunately I had a fuse in series with the battery - it blew, but saved the supply
* jmkasunich needs a diode
and another fuyse
jmkasunich: I think I have one on my desk here somewhere... want me to e-mail it to you?
finally back, full of lunch. I read back some and I'll try a few more things to see what's going on with ferror.
BigJohnT: that's ok, I have a couple here
taking this thing apart again is the annoying part
do you have a picture of it so far?
I set maxaccel for the stepgen to 10000.0 and the maxvel to 100.0
I'd like to remove all 5i20 stepgen limits on vel and accel so that I can just use what's built in to emc.
I did try to set stepgen maxaccel to 1000000.0 and maxvel to 10000, but as soon as I tried to move much grinding, whining and carrying on type noises came from the motor.
thats because the driver relies on the accel limits to send sane commands to the motor
mshaver: are you using a PID loop
Bang goes that idea ;-(
there's no actual real world feedback, just accumulated position from the 5i20 stepgens
What does it look like with a lower max speed
jmkasunich: yea. I'm updating my copy of TRUNK right now and going to look at the source for the 5i20 stuff to see if I can figure out what to do.
tim__: I can look. What are you thinking?
not shure, but even at the end of your run the error is still climbing, just.
mshaver: so suprised this is not a PID problem. Looks like a wide Proportional causing the slugish responce and following error.