jmkasunich you alive?
03eric-johnson 07TRUNK * 10emc2/src/emc/rs274ngc/rs274ngc.hh: Fixed setError prototype (Again)
[00:56:34] <alex_joni> http://www.youtube.com/watch?v=5P5Az7AKD4Y
why no stop lights?
* alex_joni wonders what broke his cover
skunkworks: the brits did it better: http://en.wikipedia.org/wiki/Image:Swindon_Magic_Roundabout_eng.png
When not in Mexico, I use the name danex
I just updated to 2.1 on the beveling machine
We got to do the round-about thing in ireland. Interesting. Never seen 'nested' round-abouts.
I have a problem with the classicladder aprt of the setup
david_: what kind of problem?
It seems that the classicladder gui must be running to work, unlike before with the --nogui
I have looked at the sample configs, but am somewhat confused
david_: I am sorry .. I am clueless about CL
but jepler around here was the one upgrading it
russian animation of square drill http://englishrussia.com/video/drill_square.avi
The halui part worked with no problems
I plan to rewrite the .clp file to see if that helps
david_: yes, I am able to reproduce the problem here.
jepler would it help to rewrite the clp file?
david_: no, I don't think so
O.K, I have to go , the shuttle for the motel is here
are you using emc 2.1 from the package or do you build it yourself?
I have a 1-line fix
I am using form the package
OK -- it will be fixed in 2.1.1, due out soon
thanks for your reprt
Got to go
good night all
03jepler 07TRUNK * 10emc2/src/hal/classicladder/classicladder.c: make the ladder run when loaded with --nogui
03jepler 07v2_1_branch * 10emc2/src/hal/classicladder/classicladder.c: merge rev 1.9: make the ladder run when loaded with --nogui
that's how it normally works when not editing?
yes -- I think the assumption is that you'll use --nogui except when initially setting up or debugging the ladder logic
but I never tested this way, because the sample configurations always invoke the gui
I'm not 100% sure this "solves" the issue because when the GUI exits it sets this flag back to STATE_STOP (I think)
I should take another look at the old CL with this in mind
good night all
see you alex_joni
I should be at work in 5 hours :D
that's not going to be very fun
but I don't see where that change to STATE_STOP is
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/shcom.cc: Common functions for emcsh, emcrsh and soon to be added emclcd
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/shcom.hh: Header file for shcom
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/emcrsh.cc: Split out functions common to emcsh and resynched emcrsh with emcsh
03jepler 07TRUNK * 10emc2/src/hal/classicladder/classicladder.c: fix bug: ladder stops when user exits GUI
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/emcsh.cc: Split out functions common to emcrsh
03jepler 07TRUNK * 10emc2/src/hal/classicladder/classicladder_gtk.c: fix bug: ladder stops when user exits GUI
03jepler 07v2_1_branch * 10emc2/src/hal/classicladder/ (classicladder.c classicladder_gtk.c): merge from HEAD: fix bug: ladder stops when user exits GUI
03compile-farm 07Ubuntu 5.10 (breezy) realtime (2.6.12-magma) * 10emc2head/: build FAILED ; see http://linuxcnc.org/compile_farm/emc2head_slot2_log.txt
03compile-farm 07Ubuntu 5.10 (breezy) non-realtime (2.6.12-10-386) * 10emc2head/: build FAILED ; see http://linuxcnc.org/compile_farm/emc2head_slot1_log.txt
yay for once the build failure isn't me!
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/emclcd.cc: Interface for 4 line by 20 charater interface. Requires LCDproc
I'd like to see his lcd thing
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/sockets.c: Common socket functions
03compile-farm 07Ubuntu 6.06 LTS (dapper) realtime (2.6.15-magma) * 10emc2head/: build FAILED ; see http://linuxcnc.org/compile_farm/emc2head_slot7_log.txt
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/sockets.h: Header file for socket.c
03compile-farm 07BDI-4.51 (126.96.36.199-rtai) * 10emc2head/: build FAILED ; see http://linuxcnc.org/compile_farm/emc2head_slot6_log.txt
03eric-johnson 07TRUNK * 10emc2/src/emc/usr_intf/Submakefile: Changes for making emcsh, emcrsh and emclcd
jepler, or anyone else with PWM knowledge, can i bother you for a few?
i was more asking if any PWM people were around
I understand - it's just that people seem to like to jump in if they know the answer and keep quiet otherwise
so ask away
anywho, i got a bunch of nice "servos" (dc motors with high torque and encoders) from my schools robotics lab today
ok ill do that in the future
sounds like a nice find
anywho, I built a little PWMer out of a 555 and mosfet, and get the theory behind why it works
the question is, how can i control those from EMC, and how does EMC control them by reading the encoders
for instance: on start, do the motors just go to 100%DC until the encoders are up to speed then lower the DC to keep that speed?
for a while I ran my lathe by generating pwm with the pwmgen hal module and running it directly out the parport. the feedback can be your encoders hooked back up to the parport
or does EMC try to figure out what the DC SHOULD be
03compile-farm 07Ubuntu 5.10 (breezy) non-realtime (2.6.12-10-386) * 10emc2head/: build PASSED
the real answer to your question is emc uses PID, but to understand that answer you'll have to read about PID
are there enough pins? 3 direction pins and 3 PWM pins == 6, only 2 pins left for encoder
03compile-farm 07Ubuntu 5.10 (breezy) realtime (2.6.12-magma) * 10emc2head/: build PASSED
it is sort of like what you say,
the port has more than 8 pins
ok, so its using it "raw" so to speek
[02:05:00] <jepler> http://en.wikipedia.org/wiki/PID_controller
03compile-farm 07Ubuntu 6.06 LTS (dapper) realtime (2.6.15-magma) * 10emc2head/: build PASSED
crepincdotcom: it works - and it is very cool.
emc changes the PWM duty cycle often (e.g., every 1ms) based on the error between the desired and actual position
emc sets the output to the "ideal" value every msec or so, so as to keep the motor on track
so it logarithmically approches the correct speed
the main question is - what kind of encoders - how many lines?
cradek: so i can tell EMC to PWM at 500Hz i imagine
skunkworks: varied for the different motors, but the ones I think I'
*I'll go with seem to be 6 wire
i still have to rev-eng the,
03compile-farm 07BDI-4.51 (188.8.131.52-rtai) * 10emc2head/: build PASSED
I mean how many pulses the encoders output per revolution.
i still have to find how to get the pulses, then i'll tell you that ;-)
so really all the circuitry neccesary between the comp and the motors is an amplifier and buffer to make sure the encoder outputs are correct voltages?
That and how fast you want to spin the servos will pretty much determine if you can get the performance you want directly read the encoders to emc.
as opposed to what, buffering them?
crepincdotcom: just like there's a maximum attainable step rate, there's a maximum rate at which encoders can be sampled. If the axis is spinning faster than a critical number, emc doesn't properly track the motor position anymore
ahhhh thats important
how can i determine the max sample rate? trial and error or is there a mathematical way
well, there's a maximum rate at which emc samples the parport -- BASE_PERIOD
so max rpm = BASE_PERIOD/(steps per rev)
at that point you need to see if you want to use a quadature divider - or somesort of hardware control - like the pluto-p or mesa or some other interface card.
if you use sophisticated external counting hardware you can get rates in the MHz instead of the kHz
yeah big expensive hardware isnt something I'm going to come upon soon
the pluto isn't big or expensive
i mean i can built a divide by 2 or something if I want to decrease accuracy and increase speed though
well, expensive is relative
microcontroller quadrature dividers: http://emergent.unpy.net/projects/01149348342 http://emergent.unpy.net/projects/01149271333
pluto servo controller: http://linuxcnc.org/docs/2.1/html/hal/pluto_servo.html
the folks who sell the pluto board: http://www.knjn.com/board_pluto-P.html
you say your encoders have 6 wires?
2 i know are power
theres an LM339 in there as well
shouldnt be hard to figure out
so these encoder circuits are just dividing the encoder outputs by some integer such that the decreased rate can be sample by the PC? Doesn't that loose a bit of accuracy in the process?
i guess its a trade off between accuracy and speed though
so lets say i now have a driver set up: direction on PPT pin 2, step on pin 3, pin++ for the other 2 motors. Assume also that I have an encoder with say 400 pulses/rev. is there an example EMC config that is setup for this sort of thing?
crepincdotcom: Probably you have a differential encoder -- there is one pair of outputs called A and A/ and the other called B and B/
whoa... my motors have two sets of tabs, A B A B
the A's are tied together, as are the Bs, and thats where i apply power to run it
on the end away from the encoder
sorry to interupt if thats unrelated. now.... differential encoder
crepincdotcom: the PC interface may be as simple as hooking the encoder A and B to parallel port input pins, and ignoring A/ and B/
crepincdotcom: this A and B are unrelated to the power connectors, even if those are called A and B
just making sure
crepincdotcom: do you know what a "quadrature" waveform looks like?
which ppt pins are Input?
no i dont
* crepincdotcom searchs google
[02:21:40] <crepincdotcom> http://home.comcast.net/~aa0zz/hfvfo/pictures/quadrature-640.jpg
output would be normally be 2 pins - pwm+dir or pwm+pwm.
to drive your servo
called up/down I think. one pin runs pwm for clockwise - and one pin runs pwm for counter clock wise
yeah i would go with dir+pwm
normally used to directly drive a simple h-bridge.
crepincdotcom: in this case quadrature is two square waves, about 90 degrees out of phase
do i only need one of them then?
crepincdotcom: no, you need both
crepincdotcom: I am looking for a good page on quadrature encoders but I haven't found one yet
[02:24:34] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/Fastermouse.png
yep there's a quadrature signal
from a mouse - but same dif
notice how you get a rising edge on green, then a rising edge on red
if you play a record backwards, you hear the sound backwards
if you turn the encoder shaft backwards, you get that signal backwards, so you get a rising edge on red then a rising edge on green
what changes as speed changes, displacement of the two waves or the period of the waves themselves?
then thats important
so 2 out pins and 2 in pins for each motor
so with quadrature you can tell speed (distance between edges) and direction (relationship between edges)
A/ is just an inverted version of A, and B/ is just an inversion of B. So for your signals you want to use A and B, not A and A/
if I accedentally use A/ and B/ its the same though yes?
i mean, appears the same
yes, any pairings but A+A/ and B+B/ will work, though some will show the reverse rotation compared to the others
so I would start by hooking the encoder up to a 5V supply, and hooking the other wires to the parallel port's inputs
then use halscope to find out which wires are which
i havent yet touched haloscope
then hook up the right parport pins to the 'encoder' component, and find out how many counts you get on each revolution
crepincdotcom: you could load up your stepper configuration and choose "halscope" from the menu (if you're using axis)
and just throw all the encoder pins to ppt 2-8, power it, and twist the motor eh?
no, 2-8 will be configured as outputs from the PC
for your stepper configuration
so halscope doesnt override that
where are the inputs, in that case?
I forget -- while you're running emc with a stepper configuration loaded, 'halcmd show pin parport*in*' will tell you, though
crepincdotcom, multimeter trick work out?
Twingy: yah that was awsome
i did a test last night:
i homed the Z axis perfectly with the multimeter method
i wrote a quick code to move the Z axis up most of the way then back down to z0 256 times
as I suspected, when I came back, z0 was no longer the surface of the board but about 0.05" into it
i guess the motor must have missed some steps sometimes going up... anyway i was wicked pissed, which is the reason I am now looking into PWM with positive feedback instead of evil open loops
so yes. thanks.
steppers can be plenty reliable if you run them within the capability of the motors and drivers
I can cut for hours on my mill and not lose position
my steppers are crap
and for the same volume of motor, the PWM I've played with are more powerful, especially at higher RPMs
ok going home to solder a PWM driver now
night guys, thanks again
crepincdotcom is a young pup. http://www.crepinc.com/images/0411-balancing-bot/ver4-me-and-lab.jpg
he has a lot of good stuff on there
a budding young engineer
time for bed. Night.
crepincdotcom posted this picture http://home.comcast.net/~aa0zz/hfvfo/pictures/quadrature-640.jpg
If that's his encoders, then they are sinusoidal not digital. Sinusoidal is used by Heidenhain and a few others, and is not at all compatible with digital circuitry. Do not hook that up to parallel ports.
tomp: we were just looking for examples of quadrature
got it figured out though, thanks
sure? i'm trying to email himm now otherwise
this is dysfunctional
yeah we were trying to figure out what kind of encoders i had, and jepler was telling me about quadrature
if they were sinus, they would be expensive waste
or was it cradek
i get you two confused, sorry
I'm trying to email cradek about tomp's encoders
where did the sinus photo come from
jmkasunich wake up!
shhhhh - people are trying to sleep
Jymmm is causing a ruckus
jmkasunich do you use mate n lock connectors yourself?
I've used them at work
jmkasunich what crimper?
the one in the fourth drawer of the toolbox in the lab
(iow, sorry, I don't know, the lab techs keep track of the tools)
the kind that I wouldn't want to buy with my own money
but the only thing I can find MAY work is $40
jmkasunich do you use amp and molex?
both I think
when I say "mate-n-lock" I'm referring to that generic family, not any particular brand
jmkasunich Ah, mate n lock is AMP, and is .198 centers, molex is .200 centers
and .084 and .094 diameters
well we _do_ make sure the two mating halves come from the same vendor
Right, but I only wan tto buy ONE crimper
I don't mind buying different shells and pins
the corporate beaurocracy decides what vendor we use, the engineers pick the appropriate part
well, see if they have a 5th drawer of give away crimpers
just pick one or the other - whoever has the cheaper crimper, or better selection, or whatever makes snese
both are $200, I aint buying either
not for just 50 pins
this is the $40 one ... http://rocky.digikey.com/WebLib/Molex/Web%20Photos/63811-1000.jpg
Jymmmm: what sizes do you need? these are 6$ http://www.northerntool.com/webapp/wcs/stores/servlet/product_6970_200309157_200309157
tomp These are special crimpers.... they curl in the tips
these ratchet for 10$ http://www.harborfreight.com/cpi/ctaf/displayitem.taf?Itemnumber=93977
look close these curl the split end too
now those HF ones, I'll buy tomorrow
if the local store has them that is. might be mail order only
maybe not, i cant zoom enuf, but 'curling'; is not uncommon, you mean 1 that pushes is like W and the othe is like U,,, very common, not worth 40$ for molex's name
problem is the sizing usually, just not common enoug to walk into most stores and pick up off the shelf.
big stuff? 000? (modifiy cable cutters)
14 to 22ga
then harbour freight ( i saw the color codes on the die set )
[04:49:13] <Jymmm> http://rocky.digikey.com/WebLib/Molex/Web%20Photos/03-09-1126.jpg
Yeah, but the connectors fit that shell I just posted
yep, local store has them... woo hoo
expensive again, and fiddly bits too... buy a shell, buy pins, buy mating shell buy mating pins buy crimper.... buy extractor (hell buy some wire nuts ;)
I have the extractors already, have the shells already, just need new pins and a crimper
and pc PS are abundant enough to harvest sheels for the next 150 years =)
i'm pretty cheap... harvest those connectors but cut 'em 6" long. solder and shrink tube onto those.... nothing to buy ;)
Well, here's the thing... I got a VERY NICE case for PS/geckos for $15 and it has a 12c molex plug on it that I wouldn't mind using in the future, then I would need the crimper and pins.
yeh, make it nice, your machine looked real nice
I've already mounted the energy chain, ran the split loom tubing, just waiting on the connectors I'm going to use, and thus the crimper and pins I need to order.
An electric nibbler.... http://www.harborfreight.com/cpi/ctaf/displayitem.taf?Itemnumber=91739
kinda ironic that after all these years, finally come across an electric nibbler AFTER I have discovered and own CNC machine
I've got my rails today
nice, everything as expected ?
anonimasu, nice, any progess on the foundation?
Dallur, have you done any tests yet?
Martin: Next weekend looks pretty good for extensive testing, had to redesign the torch height sensor, was hoping to mount a single inductive sensor but ended up rebuilding that with a floating torch head
martin: the inductive sensor was just not reliable enough, depending on material the height where it triggered varied quite a bit and to much to be reliable
martin: now the torch has a movement range of about 20mm and is spring loaded, move z down, the torch hits the material, spring compresses for about 2mm, and there is an inductive sensor on a bracket attached to the torch which is triggered, this way repeatability is much better
martin: I will have pictures this week
Dallur: sounds cool
Martin_Lundstrom: need to machine the mounting plates...
Martin_Lundstrom: going to make the program now and start making them as soon as the material arrive
Dallur, wow! alot of progress, and your emc config is working good?
can anyone else get this? http://viidoo.com/channels/channel.php?ch=10018&cat=Networks
anonimasu, bara och kavla upp armarna ;)
Dallur: interesting work
Martin: you browsing the gallery on my website
Dallur, not for some weeks, do you have the link again?
Martin: dallur.com under the gallery, and then cnc
Martin: got some new pictures, but nothing much
ok, Ill have a look anyway :)
Martin_Lundstrom: I think it'll be working within this week..
anonimasu, Ill keep my fingers crossed ;)
i hope my design will work...
has anyone here ever made a 12.5khz squarewave signal for a charge pump
jlmjvm: you can probably generate that from teh parport
would freqmod be the 1 to use
[10:44:14] <alex_joni> http://www.linuxcnc.org/docs/2.1/html/hal/rtcomps/index.html
just noticed they used this on a pmdx board on the emc mazak retrofit
Siggen is a realtime component that generates square, triangle, and sine waves. It is primarily used for testing.
jlmjvm: right, the mazak config should have it
cool,will try to find it there,and copy it over to my hal file
ask if you need help
i found what was in the mazak file
but it doesnt have anything about siggen
no, they used ladder logic for that
just my luck,lol
anyways.. there's some charge pump control by dallur in his hal file
k,let me check
but he used freqgen and siggen
not sure why.. you need to ask him that :P
should i be able to see this signal with hal scope
hey,i think i can
first time ive used an o scope
im sure this will be very handy once i know how to use it
i can see a spindle signal and a charge pump signal
the charge pump signal charge pump appears to be working
but e stop doesnt turn it off,it stays on as long as emc is open
estop turns off all outputs but charge pump stays active
what kind of outputs?
you're talking about outputs from emc? or from the pmdx board?
if i press estop button and check board all outputs are 0v except for pin 17,charge pump,it stays same
if i turn emc off,pin 17 goes high,5v,shows about 1.9v when pump is running
it may be what its supposed to do
it is definately putting out a signal,can change frequency in hal file and see voltage change on pin
no actually charge pump should go off when you press estop button
that way anything be controlled by it will shut down also
but I am not sure what you mean by " if i press estop button and check board all outputs are 0v
except for pin 17"
(I am not familiar with your setup.. or forgot it if I ever was)
my breakout board on parallel port
running 3 gecko stepper drives
cnc bridgeport mill
ok, what kind of breakout board?
its from cnc4pc,think its a c1
I'm not familiar with it, but anyways
what does it do?
simply passing wires through it? or does it interrupt things aswell?
just a generic parallel port breakout board,basically just a way to attach wires easily
mainly a pass thru
how about the chargepump?
this board doesnt have 1
but the signal should still stop when i estop
ok, then you need to latch it on the PC
the signal that goes to pin 17
im working on a file for jim cullins,he makes boards that have a charge pump
should go to an and2 component
the other pin of the and2 should gome from iocontrol.0.emc-estop-out
sorry,thought it was a typo,didnt know the and2 command
it's an and gate with 2 inputs
and2.0.in0 & and2.0.in1
can i put this on pastebin for you to see
gimme a sec
can I change?
yes plese do
[12:16:43] <alex_joni> http://www.pastebin.ca/364802
something like that
k,let me get it
jlmjvm: btw I already have a config for Jim's board, it was created before we had the charge pump feature so I used HAL to create a CP, it has the same limitation as you just described but it could be hooked up to the estop signal, if you want to check it out you can look at the dallur-thc config
Dallur: I just walked him through that
(including the dallur-thc config)
and the hooking up to estop
alex_joni ---- always one step ahead
but often I find others one step behind :D
that wont boot into emc
did i need to use the whole file you sent,i just used the charge pump stuff
jlmjvm: I might have some typos
best is if you run emc from a terminal
then you can see the exact error
then type emc
and it should start as usually
io control 0 user enable out not found is what it says
i think i left part of the new file out
let me fix
no,its in there
let me check how it's called exactly :P
iocontrol.0.user-enable-out not found was the error
is anyone there?
i need some help on installing on edgy
bigli: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#Why_aren_t_there_packages_for_Ubuntu_6_10_Edgy_Eft http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Installing_EMC2#Simulator_on_Ubuntu_6_10_Edgy_Eft
bigli: unless you are a linux expert and comfortable doing things like compiling custom kernels, the best advice I can give you is to use Ubuntu Dapper 6.06 instead of Edgy.
have you got the new cd
im a newbie and was able to load the new 6.06
jlmjvm: that is very stange .. that iocontrol.0.. was not found
sorry.. hang on
k,thought you were gone
was on the phone
jepler:where can i find some info on how to install gdepth?
jlmjvm: there's really no documentation besides what's on my web page and in the tar file
alex: k,let me check it out
i seem to get stuck in the tar
i try the "Simulator on Ubuntu 6.10 (Edgy Eft)" but it does not works
i got this error :
Linking python module emc.so
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [../lib/python/emc.so] Error 1
bigli: you haven't installed a needed package.
i search for
also try "apt-get install libgl1-mesa-dev
" but does not work
bigli: you need to figure out why that doesn't work; it did when I made those instructions.
jlmjvm: extract all the files in the tar into a directory
jlmjvm: then change to that directory and run "python gdepth.py ..." as shown in the README file
jlmjvm: if you get an error, put it on http://www.pastebin.ca/
and I'll try to help you out
libgl1-mesa-dev: Depends: mesa-common-dev (= 6.5.1~20060817-0ubuntu3) but 6.5.1-0.5 is to be installed---- what does it means?
that means you installed packages from another repository
I had that when I installed AIGLX
bigli: if you cannot install official ubuntu packages, please ask in an ubuntu-related forum, such as #ubuntu
bigli: basicly the repository you used created some custom packages, which probably work ok for the normal use.. but they broke dependencies with the regular Ubuntu packages (the ones you need now to compile emc2)
it will be a real pain to revert all those packages (you probably will need to install all official packages by providing the official package number): apt-get install mesa-common-dev=6.5.1-0.5
alex:that 1 will boot into emc,but pin 17 has no voltage now
jlmjvm: try getting out of estop?
F1 on the GUI
before it was high 5v when emc was off,and 1.9v when emc was on
now it should be 0V before emc gets out of estop
then it should go back to 1.9V
didnt go back to 1.9,let me check again
I might have a polarity inversed somewhere :)
skunwkworks is now known as skunkworks
jlmjvm: can you start a halmeter?
did you miss adding a function to a thread?
I am not following what you're doing, but that's a common problem..
its staying 0v
jlmjvm: ok, lets debug it :)
start a halmeter (the GUI's should have a menu entry called halmeter)
tell me when ready
ok, now usign halmeter we want to look at some signals
what GUI do you use?
tkemc, AXIS, mini?
on the top left you have the current MODE
either ESTOP, ESTOP RESET or MACHINE On
what does it say?
now, with the halmeter locate the signal called estopvalid
does he has hdwr permissions on edgy?
can he manipulate hardware? some systems required sudo
if you refer to bigli, then I think he was running as root
< bigli> root@amir-laptop:~/emc2.1/src# make
(which is completely not following the directions, but what the hell..)
some days I consider adding "are you root when you shouldn't be" checks to stuff like the emc run script
but that doesn't seem to be the problem today -- he did not complete the "install required packages to build" step
this sounds like "are you drunk when you should be driving"
considering that machines can kill people, it seems that a little fiesystem corruption or making X not work is minor :)
and that's an ubuntu problem, or a "I made a mistake when customizing my system" problem
SWPadnos: wait, you think that corrupting a filesystem is not worse than killing someone?
depends on the person
(note to self, reference point necessary) ppl use root cuz they find it expedient, but only sometimes they discover its dangerous (dangeroot)
and the filesystem
jepler: there are cars/tractors that require you to blow into an alcohol tester before firing up the engine
I would find that non-useful :)
estop valid signal is false
jlmjvm: push F1 for ESTOP
is it still false?
ok, check the iocontrol.0.user-enable-out 'pin'
use 'halcmd show sig' to make sure estopvalid is connected to what you think it is?
SWPadnos_ is now known as SWPadnos
if i do a hal show neither estop valid or ext estop light up,but the software will estop
i think this was present before you added the charge pump stuff
jlmjvm: hang on.. let's go only one step at a time
can you issue this command and paste the result here?
also my estop button is on pin 10
halcmd show sig estopvalid
Type Value Name
bit FALSE estopvalid
this is while the GUI is in ESTOP, right?
do the same while in MACHINE ON
Type Value Name
bit FALSE estopvalid
is the external ESTOP off?
as in not active?
the button is pulled out
in is estop
* The first is emc-enable-in. It is an input from the HAL, when FALSE,
* EMC will go into the STOPPED state (regardless of the state of
* the other two pins). When it goes TRUE, EMC will go into the
* ESTOP_RESET state (also known as READY).
can you check what your parport.0.pin-10-in is?
I mean if FALSE or TRUE ?
just a sec
halcmd show pin parport.0.pin-10-in
Owner Type Dir Value Name
07 bit OUT TRUE parport.0.pin-10-in ==> parport.0.pin-10-in
07 bit OUT FALSE parport.0.pin-10-in-not
that's a different hal file than the one at http://www.pastebin.ca/364868
should be the last 1 you did
that sounds like linkpp
alex_joni, see line 27
and 30 and 31
I only read the newsig, linksp
jlmjvm: anyways, unrelated
I am very puzzled why iocontrol.0.user-enable-out doesn't turn true
are you sure it doesn't ?
let me check again
is there any reason to not use the charge_pump component instead of freqgen + and2?
like frequency requirements
what's charge_pump ?
it's a .comp that toggles a bit every time its function is run
heh.. guess not
well, the and2 is so the chargepump only runs when out of estop
I don't think you can set the frequency though, so if there are freq requirements it isn't useful
sure - I got that
well.. one can always define a new thread
with a certain fgrequency
doesn't freqgen have enable inputs?
that can be driven with some estop signal?
SWPadnos: probably :)
didn't look though
is the chargepump used only for the motor drives, or is a signal fed back into EMC (so you can detect if the chargepump fails)?
only for IO and motor drives
i cant find a user enable out to check in my hal show
ok - I was wonsdering if there was something that might keep EMC stopped
you can press the estop button in and the software will go to estop,but the hal show light will not change
jlmjvm: I didn't say estop button
I said F1
k,did that first
hmm, that is very strange
what about line #22
I will need to try it out myself later
should it be changed
jlmjvm: you don't need that
it's duplicated on line 27
no, that's if you don't have an external estop
[14:14:56] <alex_joni> http://www.pastebin.ca/364904
that's without that nasty linkpp
are the top and bottom the same?
top and bottom?
new to pastebin
the rest of the file is the same
I only changed line 27
gonna copy this,do i get the file on top or bottom of page
the one in the edit region
it has no line numbers
k,put it in
my external estop bit is showing up now in hal show,but estop valid isnt
and the bit appears backward
when machine is on bit is lit,press estop button and bit goes out,thought it should be reverse of this
Can not find -sec HAL -var HALUI -num 1
what is the problem?
Can not find -sec HAL -var HALUI -num 1
jlmjvm: no it shouldn't
bit is lit = 1
amir_: what are you trying to do?
should i have "iocontrol.0.user-enable-out" in my hal tree view?
* alex_joni waits for his tee to cool down
i am running emc on edgy ../scripts/emc ../configs/sim/axis.ini
k,there it is
amir_: I suspect the problem is with sh pointing at dash instead of bash
although the emc runscript should be run by bash
amir_: any other problem?
I think it should get past that error
amir_: also, what version of emc2 are you running?
what do i must to do now?
build from csv
is there anything else reported?
this message is not an error, it only indicates that you did not request halui in your .ini file: Can not find -sec HAL -var HALUI -num 1
jepler: was this changed recently?
alex_joni: no, that "Can not find -sec HAL ..." has been in the debug log for a long time
I can only find "echo "Can't find variable $1 in section [$2] of file $INIFILE."
or is that debug from inivar ?
yes I think inivar is what is pringint that
it is from /home/amir/emc_debug.txt
amir_: the real error should either be before that or after
can you put that emc_debug.txt to www.pastebin.ca ?
my shell output is http://www.pastebin.ca/364941
ImportError: No module named minigl
that is the real error
I suspect you're lacking some gl-dev packages on edgy
if you did resolve the "libgl1-mesa-dev" problem, you probably need to re-run configure
amir_: either get those (no real clue how) or use a different GUI
i will try it
after running configure you need to make again
jlmjvm: so.. the bit is changing
how about the chargepump signal?
i solve the libgl problem and configure make it again
that is the result after of those changes
amir_: put the result from ./configure to www.pastebin.ca
./configure --enable-simulator --enable-run-in-place
[14:52:06] <amir_> http://www.pastebin.ca/364947
checking GL/glu.h usability... no
checking GL/glu.h presence... no
checking for GL/glu.h... no
checking whether to build axis... no
you need to resolve these errors in configure before axis will be built
clearly you are still missing some opengl development package.
how can i change to some other than exis
amir_: run another config
for example tkemc.ini (not axis.ini)
e.g., choose sim/tkemc instead of sim/axis
the messages near the end of the configure process should read like this: http://pastebin.ca/364946
thanx you all experts
amir_, are you using the nvidia drivers?
anyone remembers the problem I had with the spaceball?
xemet: yes -- have you found a solution?
the driver author, Vojtech Pavlik, replied to my email saying this:
There is probably some problem with the device
initalization either in inputattach or in the kernel module, where it
I'd suggest you add printf()s to inputattach and printk()s to the kernel module to see where it gets stuck.
...uhm...how to add that printf()s ??
xemet: you download the source for inputattach and for the kernel, add lines to the source code, and recompile
xemet: you would have to understand all these things yourself, it's not something someone can "talk you through" on IRC
well...I don't think I'm able to do that without destroying my computer...so I think I will not try at the moment
for some reason my estop button is backward from my hal bit
jlmjvm: it's supposed to be backward
while pushed it should be 1
err.. while released 1
while pushed 0
is it like that?
sorry, I will leave the spaceball argument
jlmjvm: the reason is for safety.. estop buttons work as NC contacts
released its true,pused in its false
jepler, had you received my email on sunday?
xemet: you're "Manfredi"?
xemet: yes, I did
xemet: I'm sorry I haven't replied yet
it was only to be sure that the mail was sent.
alex:but when you press estop the hal show light for exestop goes out
light goes out = 0
is that correct
xemet: I would not be able to participate actively in your research, but it sounds very interesting
simple question: is it possible to have a float value for the INPUT_SCALE parameter?
i thought it should turn the light on when you push estop
xemet: I can send you the source code patches for my work on cubic bezier and conic curves
xemet: for various reasons they are not ready for inclusion in emc yet
jlmjvm: the normal condition is light on, the emergency situation is light off
k,then that is right
jepler, don't worry if you cannot partecipate, I asked because I've seen your work in your webpage
xemet: btw, very nice car you built
that looked awfully fast
jepler: the work you've done in python is to be used with the Filter or is to be a part of the Axis interface?
xemet: Ultimately, I hope to add two new g-codes: G5 for cubic bezier and G5.1 for conic
Ah, that would be great, but how to add a G-code?
is that part of the axis or EMC2?
xemet: it's part of emc2 -- it would be usable no matter which GUI you use
ok, it is part of the interpreter, isn't it?
xemet: right. The interpreter is taught to recognize G5 with I- J- P- Q- X- Y- words
alex:its putting out a signal on pin 17 now,but stays on when estop is pushed in
but when you add a G-code, you have to modify the trajectory planner?
xemet: then it sends those values to a new function called SPLINE_FEED. In my implementation, SPLINE_FEED will actually find a number of arcs that closely approximate the spline and have a nice continuity property (as described in many papers on biarcs)
xemet: so the lower levels, such a the part of emc which determines the position every 10ms, do not need to be modified to know about splines -- that part still only receives line and arc motions
ok! so at the end the spline is approximate by arcs, it means by G02...right?
xemet: yes, you could write exactly equivalent motion with a series of G2 and/or G3 arcs
so, for the moment it could be done in python as you've done, and with the filter send the resulting g-code to axis
xemet: yes, that's what the source code on my blog does: write G2 and G3 arc moves based on splines
xemet: but the source code patch actually makes G5 and G5.1 be accepted by the interpreter
jepler: are arcs ttt to the spline?
pier: I don't know what "ttt" means
tangent tangent tangent
in three points
pier: no. The method I am using generates pairs of arcs such that the start of the first arc and the end of the second arc are tangent to the spline, and at the shared point the two arcs are tangent
but the shared point is not necessarily on the spline or tangent to it
my question is, you told that G5 will use I- J- P- Q- X- Y-
what they are ?
xemet: I-J- and P-Q- are the distances (deltas) from the initial and final points to the control points of the spline
xemet: this assumes the spline is in the XY plane
so you sepcify the start tangent, the end tangent and the end point
xemet: effectively, yes.
so you have two control points, right?
xemet: yes -- these are the control points of a cubic bezier spline
jepler: do you keep the maximum error as a parapeter to determine the number of arcs?
pier: right now the method is very stupid: it performs a fixed number of subdivisions
pier: that's one of the things I need to improve before I commit the changes to emc
or at least before it becomes a part of an official emc release, such as 2.2.
jepler: and are in turn g2 or g3 chains segments?
ok, right, cubic bezier has 2 control points, because the number of control points determines the k of the curve
I was thinking of nurbs that have k indipendent by the numeber of control points
xemet: the biarc method can be applied to any curve where you can compute the position and tangent of the curve, but specifying a curve with more control points is more difficult in g-code
So, at the moment I've a program that generates NURBS, and translate them simply in segments (linear, G01), my idea was to evolve it trying to generate arcs, G2 or G3, like you've done with the bezier
xemet: I think the biarc method will be good for this
xemet: you've looked at the python code? http://axis.unpy.net/files/01171767993/biarc.py
yes of course...I'm still not very good with python, but I think I've understood something
xemet: are your curves confined to a plane? I hope so, if not the biarc method doesn't work.
Exactly the thing I wass thinking about...my curves are confined to a plane right now...
but the desire was to do 3d surfaces...
xemet: emc does not support arcs with arbitrary orientations in space, so even if the biarc method can be modified for non-planar curves emc couldn't accept the resulting arcs
xemet: to do anoter kind of curve in the XY plane, you would write a new function similar to 'spline()'. At each point you choose for subdivision, you would find the start and end points and tangents, and call giarc().
jepler: is it possible that, if it used lines, not arcs, then non g17/18/19 curves can be >approximated<
tomp: you can approximate a spline with high accuracy with many fewer arcs than lines
tomp: you also get a path with no sharp corners, while with lines you get corners everywhere
So the arcs are better...but If I would generate a 3d curve it is not possible using arcs in EMC2
So 3d curves can be approximated only by linear segments, right?
right, arcs makes for fewer , i was asking about faked arcs that are not on xy, not on yz, not on zx planes,
xemet: arcs with arbitrary orientation would be a nice addition to emc.
xemet: it actually appears that these arcs are supported at the lowest levels (realtime trajectory planner) but the upper levels only let you specify arcs in the 3 axis-aligned planes.
I've read papers about that. the BIG problem is, I don't know how (and where) to modify EMC2 to add G-codes, modify the traj planner ecc.
and I think it is not a very simple thing...
yes, it would take some time to become familar with all the layers of emc
I've been working on it for 2 1/2 years now and there are still parts I am not familiar with
I've tried to examine some of the sources...but it is difficult for me.
tomp, it's very easy to do "tilted planes", but not easy to specify that in g-code
AH, I was forgetting a question.
I've bought one additional PCI parallel port
How do I read the address in order to load the driver in HAL?
xemet: first try "lspci -v" and look for the block of lines that is for the parport card
3 point circles ;)
xemet: then in that block, look for a line that says something like 'I/O ports at d800 [size=64]'
xemet: one of these I/O port numbers will probably be the address to give to hal_parport
now I try, I'm starting the other PC
I guess you should be able to make and ark in any direction just specifying xyz - ijk
that would be cool
SWPadnos: i've used systems that were non gcode (Heidenhain) that had a dialog which asks 3 angles, ABC (rotations resp to XYZ), that translated subsequent motion. This effectively makes new G17,18,19 planes normal to a brand new Z' axis (only 2 rotations needed in 3D polar , so only 2 of ABC used ]
in fact, with a "generic plane" arc function, all the other arcs would be automatic - you don't specify K and Z for an XY arc ...
not true - that's underspecified - think of the half-circle case
SWPadnos: it's intensive use of matrix translation
you also need plane and direction
des start, end, and another point on the arc uniquely define the arc?
I think so
cradek: didn't think of that.
jepler: that's how we do it on tech-in (robots)
either that, or 2 points (one for center, one for radius) - but that's only for circles, not arcs
hm -- not for 360 degree arcs though
jepler: for circles we specify 3 points 120 degrees apart
cradek, you're right, you do need to orient the arbitrary plane for half-circles to work
jepler: but there
but it must have an orientation for relative offsets to work anyway
jepler: but there's a different command for circle vs. arc
jepler, right. and I'd bet the precision of the resulting circle is dependent on the distance between start and end
hence the problem when they are the same point
actually, 3 points uniquely define a circle, but when start == end, you have only two points :)
ok, I've done lspci -v
and I've 6 I/O ports
in my parallel adapter...
all size=8 and one size=16
it is most likely to be one of the size=8 blocks, but I don't know how to tell which one
ok, so I will try all of these...at the end I've to find it...
maybe that's correct for you too
3rd one and 1st one
but mine is a single port...
there it says it is a two ports adapter
however...what string have I to use with loadrt hal_parport?
cfg="0x0378" is the one standard
if I would like to try the address e800 for example, what have I to type?
always with the 0x before
if you want to specify the direction, place an i or o after the port number
I'm not sure if the 0x is required
but, can I specify two address at the same time?
yes, you can specify 3 (possibly more)
and this will load two parport drivers...right?
yes. cfg="0x0378 out 0xe800 in"
you'll have parport.0 and parport.1
the numberind is dependent on the order in which you list the ports
uhm...why specify out and in?
I've at the moment only 1 port
it is not specified if it is in or out
xemet: out and in refers to the direction of the data pins
the default is out, I think
but I think it is both...
you can have loadrt hal_parport 0x378
you can have loadrt hal_parport 0x378 in
you can have loadrt hal_parport 0x378 out
it is. there are several pins that are always input, others that are always output, and 8 that can be either
even if you specify out, there will be a few input pins (5, I think)
so you specify only those that can be either, right?
xemet: no, you specify only out or in
and even if you specify in, there will be a few outputs (3, I think)
that selects those 8 as outputs or inputs
it is really well described in teh manual actually
complete with block diagrams :)
ah ok, I will read it carefully
can emc communicate with an external stepper motor with serial interface?
biglibigli, not really
SWPadnos but parallel port pins really a re limited 8 in 8 out,
I'm reading the manual, so when you specify out or in, you're specifying the direction only for the DATA pins, right?
biglibigli, look at page 90 of http://www.linuxcnc.org/docs/EMC2_User_Manual.pdf
well, people I've to go to study now...
thank you very much for your advices! :)
have fun :)
im still having a problem with my charge pump and estop setup
how can i change a bit from true to false
jlmjvm: what do you mean?
the estop valid signal
it worked once a while ago,was outputting 1.6v on pin17,when i pressed f2 it went to zero v
but the estop button would not stop the output
are you sure you are measuring it right?
what was the latest pastebin number?
let me resend
[16:47:25] <alex_joni> http://www.pastebin.ca/364904
alex_joni: you folks sure know how to perform exorcism :o)
jlmjvm: try this http://www.pastebin.ca/365042
that works perfectly
with the external button and the f2 button also
what did you do
I changed to use Xen for the enabling
Xen is a signal for enabling the motor amp on axis X
this one is only active when emc2 is in MACHINE ON
at all other times it's off
works like a charm dude
would that also work if i had to enable drives too
good night all
* alex_joni goes home
if you have a question feel free to ask it
i was actually hoping for ray henry's phone number.
I don't have that
does paul, ray, or matt ever come here anymore? (or perhaps they are here but just not in a guise i reconize?)
yes, rayh often drops by. more often in the #emc-devel channel
03jepler 07TRUNK * 10emc2/debian/changelog: add "source" command to halcmd, can replace "loadusr -w halcmd xxx.hal" hack
03jepler 07TRUNK * 10emc2/src/hal/utils/ (6 files): add "source" command to halcmd, can replace "loadusr -w halcmd xxx.hal" hack
03jepler 07TRUNK * 10emc2/tests/source.0/ (expected runstreamer sourced.hal test.hal): add "source" command to halcmd, can replace "loadusr -w halcmd xxx.hal" hack
03jepler 07TRUNK * 10emc2/debian/changelog: add -U (unload realtime system) to halrun
03jepler 07TRUNK * 10emc2/docs/man/man1/halcmd.1: add -U (unload realtime system) to halrun
03jepler 07TRUNK * 10emc2/scripts/halrun.in: add -U (unload realtime system) to halrun
03jepler 07TRUNK * 10emc2/docs/man/man1/halcmd.1: document new hal command
03jepler 07TRUNK * 10emc2/scripts/halrun.in: halrun -U is supposed to forcibly unlock the HAL mutex
03jepler 07TRUNK * 10emc2/src/ (config.h.in configure.in): fix readline support
03jepler 07TRUNK * 10emc2/tcl/bin/halshow.tcl: use 'hal.so' interface to hal, instead of invoking halcmd
yesterday I talked with several of you about PWM, and said I would probably build a driver such that each motor gets a pwm and a direction pin
i'v been working on it, and it seems easy from a driver standpoint to have two pwm pins: 1 held low and the other pwm for one direction, and the pins swapped for the other direction
is this still a easy setup in EMC?
also, is the enable pin on the H bridge is kept enabled, then bringing both PWM pins to the same potential would brake (not break) the motor. is this what is wanted?
[23:06:16] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/almost.JPG
[23:06:30] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/schem/
that is how I am doing it. Simple h-bridge - 2 pwm imputs.
ok: i was just going to use an L298: same thing really, just in a single package
so youre just using the big mosfets as H-driges, thats a good setup
yes - that is what cradek used on his lathe. and I think jepler on his etch-o-sketch
any chance i could see your EMC config as an example for pwm+pwm?
huh - I have not done much other than play with pid. I used the etch-o-sketch hal and hacked it to work with my setup.
crepincdotcom, you're talking about steppers though, right?
[23:09:48] <skunkworks> http://www.electronicsam.com/images/KandT/servostart/mess.JPG
ok. good :)
lol SWPadnos i got some from the school.
i was wicked pissed at my steppers
right - you mentioned that yesterday
oh sorry, didnt know if you were around
I usually read back in the logs or silently lurk if I have other stuff going on :)
crepincdotcom: these are the servos I am playing with :) http://www.electronicsam.com/images/KandT/DSC_0242.JPG
heh little bit bigger than mine
well i'm almost done my 1-channel driver
then ill start spinning things around and see what happens
if i like it, ill build a 3 channel tomorrow
I think there is some skematics on jeplers site I think..
ehn im designing a quick one, i work better that way
if I use someone elses schematic i have a harder time debugging
[23:13:36] <skunkworks> http://emergent.unpy.net/projects/01148303608
I am the same way.
sometimes it is bad ;)
lol yes, but we learn quick
[23:14:29] <skunkworks> http://emergent.unpy.net/projects/01142347802
I got confused how he was doing the control - but it works :)
crepincdotcom, look at freqgen step type 1 for up/down PWM
there's also a pwmgen component, but the code comments aren't as good, so I'm not sure if it's identical :)
ah - now use pwmgen...
I think john did document it nwo
ok. I'm not sure which mode (if there are different modes) to use
I was looking on the CVBS server, but not in the docs, only in the code
crepincdotcom: you should make a nice multi stage rail gun with your capasitor bank..
lol i've been working on it, only so many projects i can do at a time ;-)
last I used a function generator to PWM my motors. tonight I'm going to try to make EMC do it
is there a hal command like, "hal pwm 40% 500hz"?
I made a single stage one that shot b-b's when I was in highschool.
it is a bit more complicated than that - but no too much.
take a look at the etch-o-sketch hal files - I think he converted it to pwmgen
did they come stanrd on the distrobution?
wow spelling sucks today
I didn't notice ;)
crepincdotcom s/spelling/typing/ =)
and well, we really don't care =) We can figure it out =)
skunkworks: where can i nab the Etch-o-sketch config, is it on his site?
Jymmmm: as long as someone understands :-)
crepincdotcom I think almost everyone in here has half-a-clue (tm) =)
(except SWPadnos of course)
yeah - I have (half-a-clue)^2
[23:23:23] <skunkworks> http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/configs/etch-servo/
SWPadnos don't you mean SQRT((half-a-clue)^2)
(the funny thing is that some people would actually bleieve that I believe that to be a larger number than 1/2 :) )
* crepincdotcom has d(half-a-clue)/dt
* SWPadnos has e^-3/half-a-clue*k*T
SWPadnos: Hey, as long as your remember the way to House of Prime Rib, you're alright in my book =)
this is getting excesive
902 Van Ness, I think
or was that 1902??
LOL, and the phone number?
damn. well, it;s near California or Washington on Van Ness
SWPadnos and I have a GPD in the car woth a trackback already in memory
ah-ha - 1906 Van Ness, 415-885-4605
I should program that into my new phone
there ya go.... this time I'm bringing you a 10' rope for yout phone.
heh - I just need to not receive a call while I'm in the cab headed for the airport
cool. Steve Hardy has a new set of software for the G-Rex that may actually make it usable with EMC
in some form, at lease
heres an example of not trusting peoples schematics on google
i built my driver by looking at pinouts on this guys schematic
and he has 2 pins reversed that would cause the driver to catch fire when i plugged at in
at least i thought to check it first...
you hsould use the sample circuits in the databook, and possibly modify them when you see things you like on the web
i have to go do an EE lab (oh no op-amps, what do i do with them?!)
yeah, thats a lesson i just learned SWPadnos
hopefully will have time to build another tonight
Anyone want to see something I drew? http://184.108.40.206/Drawing-Free-flow.png
pencil sketch, inked, scanned, photoshopped, vectorized, colorized.
* skunkworks is no artist