troubleshooting a bad limit switch (or sensor) means you answer these questions (by testing and measuring things with meters, etc)
1) does the sensor work
2) is the sensor signal getting to the terminals of the PC (use a real electrical meter and measure the voltage - it should change when the sensor is triggered)
3) is the signal getting into HAL (use halmeter)
4) is the polarity of the sensor right (use halmeter)
5) is the signal getting through HAL to the motion controller (use halmeter on the motion controller pins)
step by step, follow the signal from its source
the change of "in-not" for "in", decided the problem pparently
plus a box of beer... :)
bob: your english is getting better :) (I have trouble with just one language)
never mind ;)
wow.. remember when computers were simple? http://www.kare.com/images/portfolio_5.gif
* fenn wonders if anyone else here ever used a mac plus
nope. never really a mac person. Didn't they copy microsofts interface? ;)
macs got the user interface from xerox-park
all the mac stuff is sorta burned into my memory because i was like 4 years old and already hacking on the finder
back in the days before internet
but not arpanet :)
finder? mac? Mmmmm res-edit... ;)
the built in toolbox was nice, tho they wanted to program in pascal on the mac
res-edit, yeh, fiddle with the resources w/o messing the code
ds3: did you ever install the "secret button" on the side that gets you into a command line?
fenn: wasn't "my" mac; was the schools but didn't some of them come with the programmer button? seem to recall the SE30's I was using had that button
there was a plastic piece that came with the computer and you had to slide it into a sort of slot on the side of the case
could be someone else before me did that
G3's have a "programmers button" right next to the reset button on the front.
they also have an xterm, so it doesnt really matter
anyone tried the caelinux livedvd?
real arcspiral vs simulated: http://axis.unpy.net/01169689661
that is just neet
[02:02:58] <skunkworks> http://www.electronicsam.com/images/KandT/cncworkshop/spiralarc.JPG
hot off the press
have you thought about doing an animation?
fenn: good idea. that would be cool
with enough patience I suppose you could generate a picture for each line of gcode
i think it would be possible to do a live preview in axis, showing how much material was taken off for each pass with color coding or something
it wouldnt prevent the stupid mistakes, but it could prevent some preventable mistakes :D
fenn: in principle I think I can detect the volume of material removed every second or inch, as well as the greatest height of material removed
cradek and I talked about that today
yes and then color the triangles with the volume removed
I think per tooth is the interesting number, and you have enough information to know it
per unit time
or per tooth
there's three color channels to play with after all
r g b
if you wrapped the Z map around a cylinder could this work as a lathe preview? or am i missing something important?
sure, it probably could
threads would be a little more complicated than normal
x becomes z, z becomes y, c becomes x
i still think that spindles should count as a rotary axis
if you can detect the volume of material removed, why not also compute the HP required to run the cut?
if axis plots feedback data from motion it should be able to get spindle position too
ds3: depends on materials, tool angles, lubrication, tool sharpness, etc..
you can make a lot of assumptions though
so there's no reason why not really
but an absolute min should be computeable
and if my spindle is less then that, I have no chance of making the cut
i'd be more interested in "will this snap off the tool"
and have it cowardly refuse to do the move if so :D
stalling a Haas minimill spindle leaves a strong impression =)
if you had a spindle position or speed sensor you could limit the cut rate to xx feed per rev
but that isn't sufficient as DoC has a major effect along with the tool used
those corn cob ones really help when hogging
depth of cut requires a solid model of the stock, but feed per rev doesn't
ain't easy but just the volume of material remove can get a ball park HP figure
yeah you're talking about preventing programming errors, i'm takling bout realtime adaptive feed
closer to generating a sanity checklist
wonder if you can compare predicted spindle torque with measured spindle torque and detect a broken or worn tool
or other problems
should be able to do
only if you have a load sensor, of course
or something primative like spindle motor drive current vs is material being cut or not
you could get the current from the drive maybe
yep - that's one way
if you can get that ...
easy enough to add one either half effect + AD or sense resistor or sense coil
or stick a hall sensor on the power rail :D
how come emc has no university engineering departments throwing talent and money at us?
that's your job - go find some engineering department or university for funding!
they wont answer any of my email :(
new gcam release tomorrow I think
Twingy: cool - did you decide to integrate that patch from jepler (for support of ubuntu)?
I haven't played with it yet but I saw some screenshots - it looks very promising
It was a bit more complicated than the patch
gcam still *requires* gtk 2.10 or higher
ok, I don't know the issues - but I did see him running it on ubuntu6
I suppose I could add some fu to make it 2.8 compatible *grumble*
I sympathize with you but I'd also like for emc users to be able to run it easily
could one of us help you do whatever work is needed?
it's really just 5 minutes to the build system and a #if
cool, we all appreciate it
test panel for m5i20, work in progress, has spcl btns for pins of I/O type, built for .hal pins obtained from trunk's config dir for m5i20 http://imagebin.org/7000
pyvcp_widgets.py with new checkbtns for pins of type i/o
[04:36:29] <tomp_> http://pastebin.ca/327678
(prev was xml, here's the code) http://pastebin.ca/327679
03jmkasunich 07TRUNK * 10emc2/docs/man/man9/threads.9: new man page
03jmkasunich 07v2_1_branch * 10emc2/debian/emc2.files.in: backport: new man page
03jmkasunich 07v2_1_branch * 10emc2/docs/man/man9/threads.9: backport: new man page
is there a easy way to get EMC to step a stepper X steps and then run an external app/script?
g91 g1 x 42
rename your script to M101 and put it in nc_files
where 42 is the distance you want to move
so the script can be say a /bin/sh script?
n/m found the sample file
nice...so I am all set to drive/test some tiny steppers with 4 transistors on the parallel port
ds3? isolated optical switches too?? :D
ds3? does it spin? :)
want to do try something and was thinking of the quickest way of doing it
Not a lot just started work. How you doing?
are you trying to pick me up?
Joey from friends? "How U do'n?"
I've ordered new gears for my z
anonimasu, what kind?
how's it going to work?
are you moving the knee? or the head?
A-L-P-H-A: why wouldnt it work?
I need more accel that's all
and my stepper is just going 500rpm
looking at the graph I should be able to gear it 8:1 instad
anonimasu: figured it out last night?
alex_joni: it worked, but not when I tried today..
I'm going too fast :)
with too much accel..
I need more gearing
the PID_MAX_VEL pushes the machine too far
im not entirely sure it works ..
it fscked up when trying some at lunch..
so I'll have a look when I get home
how about making PID_MAX_VEL equal MAX_VEL ?
or close :)
yeah, really close..
it's 7 and 8
that's more than 12%
does it respect the accel's when catching up?
7 and 7.1
you'll get ferrors if it can't keep up
I need gearing
my Z is so slow..
I need 1/3g or something
the other axes are fast enough..
Hi, is there a channel about cnc machines in general somewhere?
not to my knowledge, but there is always cnczone forums
yea know about those, but just wondered if there was a irc channel connected to that
betchin: on irc, this is probably the closest you will find - we aren't picky about what people talk about here, since we have another channel just for EMC development
mmkay, good to know
hm, this channel is probably that
though emc angled :D
yeah, but people talk about Haas, Fanuc, Mazak once in a while..
we also tend to talk about plenty of hardware :D
that's it. I'm here not because of emc, but cus there's not too much places...
there are no reasons not to use emc .. so we try to convert people that come in here:)
great. I'm working on another system, so :)
you shall see the light
alex_joni, why should I?
alex_joni should have been a preacher
erDiZz: the main goal in life is to improve things, and emc does that :)
I'm trying to improve things as well
emc is not the only way
agreed, not the only way.. but the best one :D
erDiZz: just kidding..
alex_joni, np, I second that at the moment
emc is getting better (has been getting better for the last 10? years)..
alex_joni, I was positng at emc mailing list about my project
erDiZz: XXYZ ?
oh, you're the guy from russia :)
hi there :)
nice work :D
* alex_joni is not very far from you
in progress, though
1 TZ away
My mini-itx board just forgot it is supposed to boot up when power is applied.
ray: bios battery dead ?
I guess that kills off the idea that I could get away with embedding it and not having a power on switch.
rayh: Isn't it just a bios setting that got cleared ?
But if I hide the PC in a box inside a control cabnet and this happens, the whole machine is dead.
rayh: if it's an ATX motherboard you could always just short the pins permanently :D
rah: it's the green wire, just pull it to ground permanently
hmm.. then you can't turn it off
or is it supposed to be always up?
I tried that and it shut the machine back down after a timeout.
rayh: what you probably shorted was the "power button" pins on the motherboard, i'm not talking about those, im talking about the "power on" wires for the power supply
Isn't turning on and off power a bit drastic?
I sure miss the AT power supplies that had a big toggle switch
all that soft power switch stuff is a curse
Yes I do miss the really old stuff like the TRS-80's power switch.
you don't have to go back too far - before ATX virtually all PCs had real power switches
when the power goes off here at work, some random machines always require playing with both switches (front and back) before they'll come back on
(even if the BIOS is set to come on after power fail)
when we get linuxbios on all machines it help us get out of this mess though
Wah! That was wierd. It was the mesa 5i20 holding it off.
Either that or the PCI riser card. Time for more testing.
maybe something has a power line shorted
at an old job we had a few dells where the power control circuit on the mobo somehow got fried
I really don't know what happened but it's back to life, including the mesa card.
Think it could be the fact that the mesa is just sitting in the slot. Gravity hold down.
Dallur: does linuxbios work Ok?
depends on your chipset, from what I've read
I've been working on syntax highlighting in vim for .hal files. WIP: http://emergent.unpy.net/files/sandbox/syntax-for-hal.png
is the configuration an xml file like kate and gedit?
of course not
it's in a godawful scripting language
I guess we need an XML1 <-> XML2 <-> godawful scripting language converter :)
(since the XML formats for kate and gedit aren't the same, I think)
no. obviously that's way too high
probably a few samples from now
Hi Jeff. I got some highlighting running in gedit yesterday.
where is 'net' cmd documented/talked about ? (replacement for linksp linkps linkpp )
The man page for halcmd.
np. Even the hal doc refers to it rather than explaining it.
wat is folowing error?
u r 2 n00b 2 no
how do I get axis out of "nan" position?
I searched the manual..
oh good grief, please stop
try homing again :-)
cradek: nope, won't work until I get the proper HOME position
SWPadnos: now you know why one of your clients dies when the other is ok
your PUMA robot?
is that what's doing it
no.. you're on different servers
the math in there is awfull
hi all, what's up?
* alex_joni is fighting some kins
hey, not much, crunching on the objects, finished reading that paper on relational geometry
Dallur: I got some interesting bits of code for Z-slicing, i.e. input an STL model, and it will output a slice at a certain Z-level
if this can be visualized somehow in python I would probably have time to run some tests during the weekend
Dallur: did you look into drawing with vtk or pyopengl? or are you still using vpython
awallin: at the moment im not drawing anything, just printing and doing automatic testing
awallin: There are still plenty of methods which I have to implement before I get to the visualization, I still have not done any rotational stuff and input verifiction (automatic casting) is what I am working on
awallin: so you can create a polyline object directly from a list of values, or you can pass a bunch of point objects or you can use the points from an existing curve (kinda crazy)
awallin: I changed all the terminology to match the stuff from that paper, except my primitive is still primitive
do remember that aerohydro has patents on these ideas, but maybe iceland doesn't do software patents!
awallin: no software patents here :D so i'm fine
awallin: in any case the part they seem to have patents on is all with surfaces and it's kinda dumb anyway
I will try to get some UI+rendering going during the weekend...
awallin: what they do is enable you to create any object so that it is relational to another object (you can create a curve on a surface which then is bound to that surface)
should linking a new signal to an existing pin break any previous connections to that pin? ( eg: linkpp fred ethel, newsig ricky, linksp ricky ethel causes the link fred ethel to dissappear)
awallin: but an evern smarter way to deal with that issue is to split the surface into many surfaces and have them intersect with the curve, if you use the same point objects to define both it works even better
awallin: then you just define a group to contain the surfaces and you can manipulate them as one entity
Dallur: maybe, but that involves a lot of re-calculation if the user decides to move the curve on the surface?
tomp_: that's how it's done
tomp_: otherwise you'd have more than one writer
I think it could sure be argued that it should throw an error instead
awallin: yes, during the modeling but you save a lot of calc. during rendering
awallin: and the calculations aren't that intensive really because you still use the same objects to define the surfaces so changing the object in one surface changes it in the other
brb, need more coffee
alex_joni: then i dont understand a pin of type "IO", (from halcmd show pin 07 bit I/O FALSE m5i20.0.watchdog-reset)
IO is bidirectional
you can have a writer and an IO on the same signal
and a couple of readers
but not 2 writers
wait one: you can't have a writer and an IO on the same signal
you can have 2 IO's
SWPadnos: right.. two IO's :)
any signal can have as many readers as you want, plus either one writer *or* as many IOs as you want
the rule against having an OUT and an I/O on the same signal has only recently been enforced
then what is "O" about an IO pin? can it emit True or False?
input / output
O makes it a writer
something like that
then it cant be connected to another writer
i need an example
sorry, been poking at this for a bit & it was a catch 22 in my mind, please an example anyone, use of an IOpin tied to an input signal
among other things, I/O pins are used for the index pulse
the quadrature decoder has an I/O pin called 'index-enable'
i think thats the specific use in the new m5i20 pyvcp panel...
what i'm working on
when the index behavior is desired, another I/O pin on the signal sets the signal to TRUE. when the index pulse is seen by the quadrature decoder, the quadrature decoder sets the signal to FALSE
both pins read and write the signal
io connected to io
an IN pin will just see whatever value was last placed on the signal by one of the IO pins
a writer is expected to refresh its outputs every cycle (whatever that cycle time is, like BASE_PERIOD or whatever)
an IO isused for something like a handshake, where one component wants another to do something and signal when it's done
yes, the halpin is in the update() method, run every 100ms
for the encoders, the "reset on index" needs to be IO because motion wants to tell the driver "wait for an index pulse, reset your position to 0 when it's detected, and reset this pin to 0 when you've done that"
I doubt that scoping watchdog-reset or displaying it on a vcp will show anything useful -- if it's like the other watchdog I looked at (motenc?) it will always read 0 even if it is working properly (because it is reset to 0 every time the m5i20 function runs in its thread)
i'm looking at the visual metaphor for an IO pin: could it be a button that set the IO pin, and looked depressed, but an external data src could release it ?
that was basically what I suggested the other day with butt-ons and butt-offs
but it went wild blinky on me :)
tomp_, it can also be a button that changes color to indicate the pin state, and only writes a value when depressed
the value to write would be defined in the xml file, since most IO pins have one component that would write a 1 and another that would write 0
the pic is on http://imagebin.org/7000
(ie, motion will only set the index_reset_enable to 1, and the encoder driver will only reset it to 0)
the code & xml was posted last nite, obviously wrong, i get the idea, now have to find the difference between my code & what you said :)
unlike for OUT signals, you shouldn't write a value every 100ms
though you could possibly refresh as long as the button is held down (in the case where the button color indicates pin state rather than button position)
too busy? i thought this was like a plc, maybe 20 or 40ms, or do you mean event driven instead of time driven
it's not a matter of computing load, it's just not the right thing to do for an IO pin :)
IO pins are likje tristate - they act like inputs (or like they're not there) until something internal to the component decides that it should write a value to the pin
IO pin is a monitor with a flag , usually reports, sometimes alerts
imagine you and I take turns at something by flipping a switch - when it's my turn you flip it up, when I'm done I flip it down
this only works if one of us isn't leaning on the switch all the time
wow - nice analogy
* alex_joni puts a pin in your switch
thus not good to update all the time
yes. a writer is always leaning on the switch
a reader just look at it
walkie talkie is also a nice analogy
or skype :)
no, skype is duplex
well, i get the idea from the swx flipping, thanks
[20:47:16] <SWPadnos> http://freaky.thehappening.org/src-images/computers-down.jpg
awallin/anonimasu: if you want to check out the object model you can get it at http://pastebin.ca/328473
awallin: it has some sample calculations which I use to "regression test" which should give you an idea of what I am thinking
fjungclaus-away is now known as fjungclaus
hmmf, meep sounds like a sound made by a roadkill just before it became a roadkill
its supposed to be the noise made by some small rodent, like hamster
robin_sz: big eyes, big light, empty stare ........
youve met my wife then?
so ... this guy I know asked if he could borrow my pressbrake and operator for an hour or so
turns out they have made a special bending fixture for some company thats supposed to be making a bit for the Airbus amd these guys need to test the fixture ...
OK, no problem I said ... about a dozen of them turned up and stayed the entire afternoon
ever heard of "rolla V tooling"?
[21:16:37] <robin_sz> http://www.rolla-v.com/video/video1.avi?SessionID=8c478ea9a6443d56210baba1d3f04f7d
hmm some silly codec I don't have :P
works ok on Debian and firefox
robin_sz: failed on vnc/ubuntu and im to lazy to fix it
ok, imagine a press ... the upper tool is a normal 90 degree V
the lower tool is not a V
so it makes a \_/ form ?
its two D shaped blocks of steel, in semi-circular grooves ... the D is pointing down so the flat bits are on top
umm mor like UU
that looks like a butt
the metal sits across the top .. as the press comes down ... it goes down in the middle and the blocks rotate
ends up as a V ...
but .. there is no sliding action of the metal against the block liek normal presswork
it rotates and folows the metal , see?
think of it as a 180 degree V ending up as a 90 degree V
anyway ... I had a guessat how much a 400mm lenght of this stuff was ...
I guessed £800
I was a bit out :(
need more info on calibrating an axis?
ok -what's the problem?
i think ive got the raw cunts right. I call to move +1 inch an it does to within 2 tenths. when I MOVE BACK TO ZERO it say zero on the axis readout but my indicator shows at - 5 thou.
sounds like backlash then
is the raw_count value from the encoder at 0 (+/- 1)?
can you wiggle it back and forth and get a reading on the dial?
encoder not at zero.
wiggling against servo. there is some backlash.
can back lash be comp out.
yes, but it can't be trusted really
Guest469 is now known as skunkworks
pretty weird that someone went and made another rt linux cnc control
fenn, what's that weird in that?
oh you're still here
fenn, yep. it's only 2:49 MSK :)
erDiZz: i've thought about forking/rewriting emc before, but in the end there wasn't really any reason to do so
erDiZz: so i'm curious why you basically duplicated the same functionality
fenn, I wasn't really going to at the beginning
but it grown into something larger, so I eventually ended up developing a self-contained cnc system
later I've read that EMC code's licensing and IP is not that clear
is there any truth in this?
where did you read that?
fenn, at EMC web page, I guess
there was the reasoning that it's because a lot of people at NIST were working on that
so it is hard to trace the roots
it is probably some drama caused by a devel who got upset and left a while ago
the NIST code is public domain, so it has no restrictions
all other code is either GPL or LGPL
ok, I'll try to find that statement again to show you...
i think alex went through all the code files and verified their license status
erDiZz, thanks. I'd like to either correct the page where you found that information, or correct the file(s) in question
I think it's this: http://www.tuxcnc.org/pivot/entry.php?id=5#body
Due to the adhoc development of RCSlib and EMC over the year, some of the sources are GPL, others, a "not for commercial use", and a few, copyright of "XXXX" without any attendant license (It must be assumed "proprietory & restricted"). The remainder or the code is public domain - Anyone contemplating using the code for anything other than personal use needs to do a complete and full audit.
there was some concern about GPL "infecting" various LGPL libraries, but i'm not terribly concerned about that
fenn, and what about "non-commercial"?
that's FUD, and has no merit, otherwise he'd simply state what the files were
i dont understand why he's doing it either