i created a stepconf file using the wizard, is it possible to edit the stepconf to assign +5V to a pin?
in your custom hal file, you can set an unused pin high
there's no guarantee your computer will give 5v in that case - not sure if you are asking for a high signal, or a power source to use for something
it is a powersource for my gecko G320
uh - the G320 can't usea 5V power source for anything
i bought a controller all wired up, and the person who built it was using pin 5 for +5V and pin 24 for -5V
is that for the enable inputs to the G320s?
(called ERR/RES, I think)
the Gecko manual says:
"The encoder must be a digital quadrature TTL output type that operates on a single +5VDC power supply. The power
supply current rating must be less than 50 mA. "
the G320 provides a 5V output for encoders, you don't have to feed it 5V for that
and there's no -5V used anywhere
(that's probably a typo for 5V return or something)
hmmm - this wire digram shows +5V and -5V: http://OpenOSX.com/GeckoG320Wiring.pdf
my controller is wired like this: http://OpenOSX.com/geckos.png
I don't see -5V anywhere on that diagram
above the parallel port
says ground from PC P.S.
ok, that's not -5V, that's the - (minus) side of the 5V supply :)
sorry - I am noob
so, in the geckos.png image, are the red lines that say "5" and "10" connected to the parallel port pins 5 and 10?
and 24 to parallel port pin 24 (ground)
does the pdf file describe anything in your system, or was that for reference info?
that was just reference
trying to figure out my controller
when I used the generic stepper conf, the Y motor would spin (in 1 direction only)
and the X and Z would barely move
and you have a physical "emergency stop" button?
yes - that much works
ok. it's a weird setup, that's for sure
i had to invert pin 10 in the step conf wizard
don't leave the e-stop on for long, or you'll probably burn out your parallel port pins
yea - I wouldn't know ;)
oh - thats lame!
it looks like they just short pins 5 and 10 to ground when you hit the switch, which prevents step pulses from getting to the geckos
i was thinking it broke the +5v circut?
it breaks it all right
unless that diagram is wrong, which is also possible
i drew it by looking at the system
it's still possible :)
it represents my best understanding of what I have ;)
do you have a spare USB port?
ok, here's my suggestion
1) sacrifice a USB cable, and use that for a 5V supply (USB is current limited to 100 mA unless a device asks for more, so you won't hurt anything)
2) disconnect pins 5 and 10 from the controller - they will now become available for something else later
stick the E-Stop button in series with the 5V from the USB cable
it doesn't need to connect to pin 24 any more
so where does the ground from USB go?
check the switch though, it may not be a real e-stop switch
ground from USB doesn't need to connect anywhere, it's the same as the parallel port
its a big red button - looks real to me :)
we have a machine whose e-stop does nothing
you could connect it to pin 24 if you like
its just a button
connected to nothing
(just make absolutely sure it's ground first ;) )
a real e-stop switch will have closed contacts when it's "out" (or safe), and will open the contacts when you hit it
it just has two connections - looks like a switch as far as I can tell
that way, if a wire breaks, the system acts as though the e-stop switch has been hit
i will test it right now
how do you reset it once it has been pressed?
(usually you have to twist it or pull it out)
when it is out it is ON - when it is pushed in it is OFF
ok, that's good
off meaning that you get no continuity?
ok, that should be good then
actually, that's all you need to do to "fix" what you've shown us
so it is pretty simple huh, just use +5v from usb, and disconnect the other pins?
you'll get a couple of extra I/Os, and you'll have a better e-stop system
and use the estop to make the USB +5V connection right?
that's probably the easiest way to do it.
you can optionally add a couple of resistors to the estop setup that can let EMC2 know when you've hit the button
thanks so much for helping someone so clueless!
no problem. everyone's got to start somewhere
where would those resitors go? like 1k?
and you're not so clueless - you can use a multimeter :)
hahah - no it is a flashlight :D
i need a new multimeter - last one got fried :)
my buddy tested his car battery with it in unfused mode - it smoked
lemme see - you'd want to choose an input pin (check the manual to see the parport pinout), connect a 4.7k (or so) resistor from that pin to ground
then conect that pin to the switched side of the e-stop switch
when e-stop is "OK", the pin will be at 5V (with a milliamp or so wasted in the resistor)
when the estop is hit (not OK), the resistor will bring the pin to ground
then select that pin as "ESTOP In" in stepconf
man I love parallel ports!
too bad they are "archaic"
there are many better ways to drive a machine, but few cheaper
and as easy
if one of you shows up with a parallel port tattoo
I wouldnt' take that bet
btw: toastdeath, did you learn anything to make your estop actually work? might be slightly more effective if it actually did something!
the machine moves so slowly it isn't necessary
ever see the movie "A fish called Wanda"?
in the end of the movie, someone is run over by a steam roller - pretty funy
and he gets pissed off about it too :)
i guess I would be pretty pissed too ;)
I would try this USB +5v out now, but I need some fuses, and I live in a one horse town :(
it's bedtime for me anyway. good luck with it
thanks a million SWPadnos!
jeshua: you should look at the geckodrive site for the proper diagram
hmm.. did anyone build a interfeometer yet ?
BigJohnT_ is now known as BigJohnT
[14:01:20] <anonimasu> http://www.io23.net/ul/files/TcPlate.png
anonimasu: you didn't put dimensions for the top M10 holes, how far from the edge they are
alex_joni: though that's not so critical, they are to be mirrored about the other holes
the others aren't either :P
* anonimasn nods
[14:39:54] <anonimasn> http://www.io23.net/ul/files/TcPlate.png
the bottom 2 should be 50 and 20 ?
19 and 49
it's for a support beam /
for the plate that connects it to the vertical axis
they only need to be relative to the top holes, so that it adds up
they will be moved later
I'm gonna calculate how much force it'll apply to the axis with 12 toold stuck in the changer
and move it so the motor weight compensates for it :)
it looked like you dimensioned from the bevelled line, not the side
alex_joni: another pic of the thing(if you want to have a look)
[14:56:17] <anonimasn> http://www.io23.net/ul/files/changerAndWheel.png
the wheel is a tad bit too large
there goes a toothed belt wheel between the wheel and the plate
and I'll probably cut a polygon shape on the shaft to make the wheel lock :)
anonimasn: you asked about interferometers. I have all of the parts sitting in my office. I'm just missing the electronics.
isnt it just a laser and a few mirrors you need?
So many projects; so little time. (Only 168 hours in a week.)
or do you need a drive for the laser?
Not just any laser (to do it right). The right way uses a laser that lases at two frequencies separated by a few megahertz and orthogonally polarized.
that ends up complex
The electronics I need inputs two signals and counts the edges of one relatively to the other. Ideally, it would measure the fractional offset of the edges of one with respect to the edges of the other. It's an FPGA job, I think.
It could be done with a mesa card, or a pluto board, or some such.
oh you are gonna use them for measuring for positioning?
or just calibrating?
For testing/calibrating. (For fun.)
Stuart showed us a gadget at fest that can measure with a precision of .003 inches inside a forty foot cube.
I see :)
That might be useful to check the calibration of my interferometer when I get it done.
though 0.003 is like a mountain with a interferometer
Yes. But if I'm within .003 over a distance of 10 feet that would indicate that my interferometer is working reasonably. If I'm not; that would indicate that I have a problem.
* anonimasu nods
does this look right for the output for the x step from a parallel port? http://imagebin.ca/view/uyaZ_1bi.html
tomp is now known as tom3p
tlab: no, but it is possible thaqt you are undersampling
what is the desired step rate? what is the desired step width? what rate is the scope sampling at?
the internet says the TDS2024B has a memory depth of 2500 samples. If you spread that over 10 divisions at 2.5mS per div (per your image), the sample rate is only 10Ks/s
or one sample every 10uS
if your step pulses are less than 10uS long, you will miss some of them completely
you should switch to faster sampling (make the seconds per div smaller)
Lerman_ what was this 'gizmo Stuart showed at the Fest that msrd to .003" in 10 foot cube' ?
at a hundred nanoseconds per div or so, you'll be able to see the actual width of a single step pulse
at a few microseconds per div, you'll be able to see the spacing between pulses
at a few milliseconds per div, your scope is lying to you
tom3p: It had a laser on a motorized mount that would follow a corner reflector as you move it. And it was a (I think) 40 foot cube. It has less accuracy at 100 feet. :-)
at 2.5us I can see a single step
but does the overal look right? the duty cycle suppose to look like that?
I guess this all depends on how I setup the step time, etc etc... and what the motor driver needs... this should be fun since I'm making my own motor driver
how do I tell linux to look in /home/jet for programs so I don't have to type in the ./myprog
add it to your config
* bjt-plasma looking
murdoc is now known as bogie
since today i'm getting a "joint 0 (1) following error"
only on files generated by dxf2gcode.
anonimasu not for EMC but for typing a command in a terminal window :)
on a simple linear movement by G1 x+() y+()
what can it be? google has only one thread about it. and help does not help :(
stepper or servo?
i switch off all steppers but it appears anyway
seem to be an internal error or something
[17:31:14] <bjt-plasma> http://www.linuxcnc.org/docview/html//common_Stepper_Diagnostics.html#r1_2_1
there's nothing special in this displacement, just another linear step
yep. but strange thing that all other gcode programs work
is the feed rate different between programs?
i tried different and same but it didn't help
i do not
i am not out of range in linear limits
can you do a rapid move without any problems
g0 you mean
what is Stepconf Wizard? i mean how can i run it?
the program does need a feed rate
g1 x2. y2.
should freak without a feed rate if it's the first feed in the program
stepconf is on the cnc menu
toastydeath, of corse
have you added backlash compensation?
i used it in the previous line
i didnt do anything just generated gcode with "dxf2gcode"
and tried to use it
what line in the code generates the error
i can't reproduce it precisely but it was like G1 X+1.456 Y+1.347
so if you type that in the MDI window you get the error?
oh, i didn't try it.
nap time here
I got the puma homing working!
now I'm going to set some comparators to check the potentiometers and link them to the limit switches :) that gives me some protection when I'm not homed
is your work useful to other people with some kind of absolute encoder setup? is it something that could be generalized enough to be put in the main emc2?
We could start a wiki page to collect ideas about this kind of homing and how it could be implemented in emc2
that sounds great
I assume the code will need some kind of "offset ready" signal, to allow manual input, or wait until a slow adc is read
is the general problem to somehow get an input that says what the next index means, and then use that as the value that you get at index time?
for instance I'm imagining an axis with barcodes along it - you move far enough to read a barcode that says which index is next, and then get an index
seems like you have the same thing, but reading from an adc instead
since i'm going to use a multiplexer, the 12 bit adc (32 clock cycles) the position will only be read every +/- 200 thread cycles
yeah a lot of setups might not be fast
I'm trying to understand what would be the most general implementation that would allow you to do all different things
In my case I find the next index, then read the potentiometer
else if i'm just behind an other index then i'm homing to, the offset is unkown
if i calculate the offset while I'm at the index, i can use a round function instead of a ceil or floor function
[19:24:36] <anonimasu> http://www.io23.net/ul/files/shaft.png
acctually im using ceil(x-0.5) wich is the same as round(x)
I wonder how well machining a polygon on a shaft like that will work ^_^
JanVanGilsen, is your ceil() call equivalent to round() for negative numbers?
skunkworks: thanks again for the tapes! I'm using one now.
yes, e.g. x=-1.2 then ceil(-1.7)=-1 if x=-1.6 ==> ceil(-2.1)=-2
it seems that it shouldn't be symmetric, but maybe it is
i tedet it and it works :)
then there you go :)
maybe this would also work: int(x + 0.5)
int(x) should always truncate toward 0
ceil always gives the greater (I think), which is why I thought it wouldn't work right for negative numbers
in one case you're goign away from 0, the other case toward 0
-2 is greater than -2.1 :)
but 3 is also greater than +2.1
depends on the number system
so maybe the subtraction (always toward -INF) is canceled out by the ceil() (always toward +INF)
can an ebay seller and buyer agree to cancel a completed auction?
wikipedia suggests using floor(x+0.5) this differs from ceil(x-0.5) wen x=n.5
SWPadnos: yes 3 is greater than, 2.1 but x would be 2.7 and ceil(2.7-0.5)=3
That would be 2.6 :p
yep. I think the subtraction and ceil() cancel each other out (in terms of which direction they go)
good night all
good evening.i see the python program for grill or engrave.This program fuction ok on axis interface, but on xemc no fuction.i load in idle python the module and run the module, the grafical interface is ok , but i don't can save the program in xemc or in exsternal file.Is possible modification this python program ?
sure go ahead and modify it
BigJohnT_ is now known as BigJohnT
wouldn't "python grill.py > myfile.ngc" do it?
(or whatever it's called)
you can copy it to the clipboard then paste in into a .ngc file
there is a button for that if you run it from a terminal
heck he left pretty fast
ok, now I have emc running on ubuntu 9.04 with realtime
how do I make it so I can run it as a normal user?
sudo make install should do it
or sudo make setuid for run-in-place
that's what I did...
hmmm, maybe I forgot the make setuid this time.
my max jitter on this machine is 6439 so far...
Athlon 64 X2 5800+
I'm thinking dual core (or more might be the way to go. The RTAI docs describe a way to tell the linux kernel not to use some of the cores at all.
right. the normal kernel has that feature, it's called cpusets
and you can also direct specific IRQs to certain sets of CPUs, I believe
I might play with that at some point and see what the results are. I noticed that rtapi already only uses the last core on an SMP machine
yes, the idea is that you can use isolcpus= on the kernel boot command line, and that core can be reserved for RTAI only
yeah, I didn't read the file thoroughly, but I think they were saying that the used cores wouldn't even get interrupts
anyone have an example of the digital signal of a directional step looks like from emc?
I think that's what they were talking about
isolcpus... that may be easy to try
there are two methods, one is isolcpus, the other (more advanced) is cpusets
has ascii art of the generated waveforms and what all the timing parameters are
it looks like it is already pretty good compared to the single core machine I have on my router table. I think it is 3 ghz. and had latencies twice or three times as high
the experimental 8.04 SMP kerrnel seemed to perform better as well
try running a CPU hog script and see what happens :)
where do I find one?
while true ; do echo "nothing" > /dev/null ; done
I don't think it will do anything on the AMD chip, but I'm curious to find out
I'll try it. I'm running firefox, eclipse, openoffice and I was running glxgears while I had the latency test going.
it helps core2 duo chips a lot
I'm running axis right now jogging around
oh. I did the cpu hog thing with the RTAI latency test, and maybe the EMC latency test
latency jumps to 8983 now
I was running the script you sent, then I started glxgears
that's when it jumped
yeah. I think it doesn't make a difference with AMD chips
the cores have separate L1/L2 caches
(I think it's a cache effect that does it)
the cpu hog *helps* core2 chips?
yep. a lot
i.e. reduces latency?
yes, a lot :)
one system I set up had ~200 ns, with spikes to ~2000 or so with the CPU hog
without, it was 6000 or more all the time
so for those systems we need a cpu hog script in emc i guess!
this system is a HAL-only, no graphics thing, so I added the hog script to my realtime app script in init.d
it jumped again to 9406 when I shut down glxgears
I see. I'm running just about everything on this machine.
yep. clicking on the window or starting to drag it should give a spike
I didn't notice that it did before, but I have more running now.
I'm sure it depends on drivers and other things, so YMMV
It's good enough for testing for me. This is my main computer, so I won't be running an actual machine with it (i don't think)
why is the stepspace so much larger than the steplen?
tlab, usually, the minimum step duration is a couple of microseconds, but you don't need to do 100000 steps/second
so you have a short step, then a long space before the next step
hmmm, I did a make setuid and the make install and I still can't run emc as a normal user...
ya I'm showing maybe 3.5us
make setuid is only used for run in place
oh. what do I do for an install then?
but the stepspace seems rather long
make install should make it usable for all users, but it's possible that make setuid before make install screws things up somehow
make install isn't very well tested
I'm testing it now I guess! found one bug already
tlab, you can set those to whatever you like, within the timing constraints of your PC
make uninstall is also a problem :)
so step_space is the down side of the duty cycle, what is step time? the whole cycle?
but the actual step time will depend on both the steplen/stepspace settings and the needed step rate
then why is step time and step space set the same length?
when you need steps slower than the max possible, the steplen will be increased
you set them, so make them whatever you want
I only set the negative duty cycle and the whole time yes?
you set the minimum step length, the minimum step space, the minumum direction hold, and the minimum direction setup times
so step length is the positive duty cycle
minimum positive step pulse length
so if I should have a 50% duty cycle square wave out then, yes?
you won't get a 50% duty cycle most of the time
do you actually need that?
no, I was just looking to see what I was getting so I had a better understand of it
but I gotta run, thanks for help
sure. see you
where do I look for the install stuff? I'm not very familiar with the auto* tools
it's in the makefile
the Makefile is generated by the ./configure script isn't it?
I think the makefile isn't, but makefile.inc is
not sure though, I'm not so familiar with that stuff either
hmm. I know many packages don't even ship with a makefile, the auto* stuff creates it.
I'll look later. I need to get some other stuff done.
yep, Makefile is included, Makefile.inc is generated
[21:28:03] <SWPadnos> http://cvs.linuxcnc.org/cvs/emc2/src/
tomp is now known as tom3p
i have to program some fairchild 27c512's.
my emp-21 programmer handles NM27C512s and i have FM27C512s.
I see the FMs go to 90nS (mine are 90 suffix)
think it'll work to program them ?
(argh too much electronic stuff becomes ancient too soon!)
the NMs dont go faster than 120nS
quick question ... image-to-gcode ... I got an array mismatch error when trying to convret a gif to gcode. ... does someone know of an known issue?