ok, got it, thanks
tee hee .. now, this is funny
[00:13:28] <robin_sz> http://video.google.co.uk/videoplay?docid=-7087616443084426841
I bet he didnt expect THAT!
this fpga stuff ain't so hard
nope - and it's really cool!
jmkasunich: sometime in the future I'll have to have you walk me through the "freqgen" logic so I can write a verilog version
is that really 45 ns to read/write all registers?
jepler: ok, be happy to
hmmm - guess I'll be back after doing some stuff with the wife
see you tomorrow probably :)
jepler: wow, you did all that already?
jmkasunich: yeah -- yesterday and today
you been busy
I was a bit single-minded while working on it
can I suggest adding "encoder" to the encoder related hal pins (currently called -1.whatever)
its not really 45nS to update the registers is it?
what pin should I add?
hmm. i can make the x and y axis move, but not z
weird. sometimes it runs and then sometimes it doesn't, or it starts and stops
Im looking for some info on getting HAL to genereate the pulses for a 2-phase stepper. Am I at the right place?
[01:54:53] <jmkasunich> http://linuxcnc.org/docs/HAL_Documentation.pdf
Ive read through it a bit
great thank you
has pictures of each of the 14 stepping types that are available
hopefully one of them is what you want
Yes I think it is
When are the busy times for this chan?
where are you?
anyone else here have a xylotex driver board?
weekend evening (US) is pretty busy
ChrisSmo: pretty sure Jymmm uses one
Im in the US... Illinois to be exact
we have people from Europe, so we start getting activity mid-day US time, and it runs into late evening
IL - you should come to the CNC workshop!
Where is it at?
Im in Rock Island
8-9 hour drive for me :-(
Galesburg is very close
bout 45 minutes
How often is it?
once a year
cnc workshop will be next spring or early summer .. you'll be able to meet some of us there if you go
my z axis seemsto be possessed
I think it's very early june this year
[02:03:39] <jmkasunich> http://www.cnc-workshop.com/
Well, I am a bit of an EMC newb... so I hope to lerk around and learn a bit from you guys.
ChrisSmo: swap some wires around and find out if it's the motor or something else.
yep, already swapped the motors, not them
need tocheck the parallel port outputs with a scope next i guess
did you move your wires on the port or did you move a motor?
i moved the wired to the motor
moving the wires to the port would be more difficult as i am using a ribbon cable
well, so you have no way to determinate if the drive works as supposed?
at this point it could be channel z on the drive or it could be the pc/emc
sometimes the z motor will jerk on it's own, when not being told to move
ChrisSmo: well, you need to verify that the drive works first..
i guess i can connect a function gen to the driver inputs
software or the peecee then
i'll double check the printer port cable just in case, but i doubt it
find a problem?
that's good news
cables are not expensive to replace
easy to clean also
03jmkasunich 07HEAD * 10emc2/src/hal/utils/scope_trig.c: fix a bug that affects non-zero trigger levels on float signals
03compile-farm 07Ubuntu 5.10 (breezy) non-realtime (2.6.12-10-386) * 10emc2head/: build PASSED
no, its not _that_ fast... that was a test message
ldconfig did the trick, thanks cradek
03jmkasunich 07HEAD * 10infrastructure/farm-scripts/ (emc2_build_sim README index.shtml): updated index.shtml, added a build script for non-realtime sim, updated README
03compile-farm 07Ubunu 5.10 (breezy) realtime (2.6.12-magma) * 10emc2head/: build PASSED
is that a real one?
its working on the 2.0 branch now
took 9 minutes
I dunno if thats because the RT guest is slow running in a VM or if the other VM started doing a build at the same time
03cradek 07HEAD * 10emc2/VERSION: we now have a 2.1 branch; this is pre-2.2
doubt rt would make any difference since it's not loaded
03cradek 07v2_1_branch * 10emc2/VERSION: before 2.1.0, let's call it this
I'll add that to the two slots
I'll email -devel
03compile-farm 07Ubunu 5.10 (breezy) realtime (2.6.12-magma) * 10emc2.0branch/: build PASSED
jmkasunich: I tested FF2 - it seems to work great
I had to use tiny tiny numbers, is that right?
hard to say, it depends on how things are scaled
isn't that usually used for torque-mode servos?
but these are "straight to PWM" mode servos
all I know is it flattened out my FE during accel/decel
oh, well in that case, cool! ;)
no velocity loop in the amps, and no torque/current loop either
straight-to-PWM would be torque mode, less back EMF
I have < .003mm FE at full vel/accel
so non-linear torque mode :)
it could be velocity mode, less IR drop ;-)
I have no idea what these modes are
.003 mm sounds reasonably good
for big motors with low R (industrial scale) EMF dominates
for hobby size motors, IR drop is probably significant
sure, but that's still torque, since it's directly proportional to I
SWPadnos: the scale is 1/375mm so it can't get much better
ah - the resolution can't tell you anything less, either :)
so it must be perfect :-)
so it's staying within 2 counts then (not quite hitting the second count)
or is it never showing more than 0?
no, it shows ~ +- .003
SWPadnos: with a big motor and very little R, if you put 100V on the armature, and the CEMF is not _very_ close to 100V, you are gonna get a shitload of amps, and either something will break, or it will accel until the CEMC approximately matched the applied voltage
ok, so it's +/- (2-delta) counts off ;)
back emf, counter emf, same thing
ok - I was just about to make something up for that :)
has ziegler-nichols really worked for anyone?
Siegler and Nichols, I imagine ;)
Worked for anyone?
sorry - must have the wrong Ziegler :)
color me confused
Ziegler, it's a mathematical method of tuning PID loops
[04:02:55] <cradek> http://en.wikipedia.org/wiki/PID_tuning
[04:03:01] <SWPadnos> http://www.chem.mtu.edu/~tbco/cm416/zn.html
interesting - the Tyreus-Luyben chart may be better for machine applications
"These values tend to reduce oscillatory effects and improves robustness."
the Z-N formulae are different between those two URLs
(not just in the constants)
I wonder who's right - the .edu page or the wikipedia page ;)
they're probably both right for a particular pid system
I don't know enough about this to even guess
heh - I should have learned something while watching them tune the megawatt power supplies
(or in some control theory class way back when)
error inserting '/home/tomp/emc2-head/rtlib/threads.ko' unknown symbol in module ( after bin/halcmd loadrt threads name1=test-thread period=1000000)... what did i do wrong?
I think the problem with Z-N on my lathe is that the oscillation doesn't move the table - it's all within the backlash
so the period is way off
ah - you should be looking at the output with a scope
tomp: check dmesg
possibly halscope will work (since the output period is intrinsic in HAL)
I can measure the period exactly with halscope
but I meant most of the mass isn't oscillating, which seems like it will grossly screw up the period
yep, and the loop
start with much slower oscillation but stil max amplitude of amp, stay outta backlash area
cradek: i get 'unknown parameter 'period' ' (cvs head checked out on 10-23 (ish) )
period1, period2, period2 ...
err - period3
right - periods and names go to gether
name1 and period1, etc
so that should have been 'bin/halcmd loadrt threads name1=test-thread period1=1000000'
oh, sorry, my bad.
yep... works fine
03compile-farm 07Ubunu 5.10 (breezy) realtime (2.6.12-magma) * 10emc2.1branch/: build PASSED
on wikipedia the I term comes from dividing by period (which made I huge for me); on mtu.edu it doesn't
there must be something I don't get
they are probably making assumptions about the implementation
how can we tell which is right for hal's pid?
wait - is period the sampling period of the loop, or the period of some oscillation?
period of the sustained oscillation
the oscillation period at "critical gain"
then never mind what I said
the method is dependent on the type of system, not really on the PID implementation in HAL
damned if I know which is more appropriate for machines though :)
03jmkasunich 07HEAD * 10infrastructure/farm-scripts/ (README index.shtml): added version 2.1 to the farm
03compile-farm 07Ubuntu 5.10 (breezy) non-realtime (2.6.12-10-386) * 10emc2.1branch/: build PASSED
done - all new and shiny: http://linuxcnc.org/compile_farm/
lookie at all them green marks
you know, I could add version 2.1 to the BDI-4.20 slot very easily
sort of a bridge until I have a VM running BDI-4.50
typo: Ubunu 5.10 (breezy) realtime
fixed (on the slot)
the page will update after it builds again
those server side includes make managing this thing a lot easier
maybe of interest to the tuning discussion http://www.danahermotion.com/education/learn_about_mc/servohandbook/resources/1999_03_bode_plots.pdf
( we used bode plots and oscillation excitation)
oooohhh - frequency domain analysis
much more scientific :)
SWPadnos: would we be allowed to run a VM on dreamhost?
there was an interesting article some years back about using frequency analysis to detect worn bearings and such
jmkasunich, nope, I don't think so
(or is linuxcnc.org already a VM)
not quite a VM
I'm thinking about cvs2, our backup CVS server
just a virtual host, using some apache trickery
its running in the same rack as the old compile farm slots, but when I finally get all the new VM slots running, I'd like to power down that rack
yeah - I was thinking that DH would be a good place for that, but I think we decided that there are problems with the idea (like no anonymous access, for one)
a VM would let us duplicate the setup we have now
we only need to do two things: put the machine's backups on dreamhost and mirror the cvs changes regularly
well it depends what our goals are I guess
that lets you guys recover from a disaster that takes out me and my cvs server both
one goal of cvs2 was that if a meteor hit lincoln we could recover
actually, a small VM disk with the base OS would be a good thing to create - that way any one of us with VMWare could put up a new CVS server any time
the base OC/cvs server install, of course
at present, cvs2 is not meeting that goal, because I doubt anybody else knows how to make it become the primary
garrrhhh - OS, not OC
in the unlikely event of a meteor hit, anyone with a copy of the cvs tree could figure something out, even if it's to send it to sourceforge
there's a sourceforge VM available from VMWare ;)
yeah - complete loss of data is pretty low risk, since we have distributed developers and everyone has a checkout
that would still lose history
I mean the cvs tree itself, not a checkout
and the nice cvsweb setup
night all... see you again!
see you later
(hehe I will be back with more hal questions)
and who all has a complete cvs tree?
yes cvsweb/lxr/accounts/ssh keys/email setup is all time consuming
* jmkasunich looks around
probably you and me
which will be going offline soon
its a shame we didn't think of VMs before - all that setup could be done once, then saved on the VM and moved where needed
fwiw jepler and I talked about that
(not sure there was gratis vmware yet)
not so easy on a laptop, when VMWare allocates all memory for a VM at "power-on"
and qemu is way too slow
I'm not second guessing what we did - it was the right decision at the time
there's nothing stopping us (me?) from restoring a backup of cvs.l.o into a vmware
'scuse me, i searched wiki for 'weave' looking for how siggen was cnxd to a joint position ( some welding application),, cant find, any clues where to look?
how big do you suppose it would be?
that works even if the vmware "hardware" is different than the existing hw?
jmkasunich: more or less I bet
tomp: I thought it was there too
hmmm - it was there
cradek: how do you back up cvs1 now?
amanda over ssh to a local tape drive
is cvs2 keeping current?
I think it does not have lxr, but it does get the cvs tree, ssh keys, and accounts nightly
I have a 10Mbs ethernet link between CVS2 and my current box, could easily grab a copy, then create a VM
no, I should do it, it would even be a bit of a challenge for me
its probably a medium probability
I'm gonna try to have the new farm finished in a few more days, but if I need to keep the rack running until after the first of the year thats OK
I wonder if there's a market for used Cubix racks/cards/parts ;-)
it may have appreciated in value, but I wouldn't bank on that ;)
searching ebay completed auctions - 17 items, only 2 sold
both much newer generation stuff
well, you'll profit by not having as much noise or power usage
and 50 lbs of steel for the scrap metal dealer
and several 2G hard drives
oh - nevermind ;)
well, maybe 25 lbs steel, 10 lbs of aluminum (HD cases), and 15 lbs of misc (PC boards and wires and ....)
copper would be agreat thing to be able to extract, actually
wire harnesses do have some value
err - it would be grat to be able to economically extract the copper :)
PC boards have negative value because of the lead solder
when I strip stuff down I save the boards
take em into work and throw them in the "pcb recycle" bin
considering that most of my stuff came from that bin in the first place...
ashes to ashes
and trash to trash
at least when I throw it in its just the board - work throws in the entire system
I dunno if anybody ever separates out the ingredients or not
we (our department) used to strip down scrap drives, save the aluminum
it probably goes to a technical reclamation center, and gets at least somewhat sorted
we'd recycle 1000 lbs or more every year or two
when we moved into the new facility they said we couldn't do that anymore - pitch it all in the bin and ship it out
hi guys, i've got a cnc machine i built a few years ago using the plans from machinetoolcamp.com, and never really got it going right. Their plans used a deskwinnc board and software to drive 3 stepper drivers (dir/step). I've got emc2 installed, wired up to the encoders and working for the most part. I'm trying to get things moving faster (a), and I'm occasionally missing steps on the x axis.
"wired up to the encoders" ? did you mean wired up to the steppers, or do you really have encoders?
they are wired to the stepper drivers, looks like gecko stepper drivers but have machine tool camp stickers on them.
I adjusted the scale numbers and have things moving the right distances on the right axis, and I made a cut a few angels out for my wife on it today, so i've got things close to right.
is it running as fast as it ran with the original control?
Each cutting pass was about 1/8" off on the x-axis.
somewhat, but it doesn't seem like things are moving very fast anyway.
how fast is it going? (inches per minute, or mm/minute if you prefer)
I'm using the base stepper_inch config and adjusted mainly the scale values. This is running on a P3-933. The screen says 40, but I'd say maybe a thenth of that, i guess i need to try to measure that.
maybe the speed error is more important than the missed steps...
I assume that you have the DeskCNC board revision 1, since you bought it a few years ago?
i think so, i wasn't able to get it to go with their current software.
how can the speed be off by a factor of 10?
one nice thing though, that old board had a db-25 connected to a db-25 breakout that i was able to quickly rewire for the parallel port.
the drives are Geckos
yeah, but he said he had the scaling working correctly
does emc need to be adjusted for the processor speed?
and following errors would happen in input_scale != output_scale
your computer should be fine
P3-933 is a good one for EMC2
(unless you have latency issues or something)
i didn't think output_scale came into play with steppers?
note that the original system had a serially-connected external step generator board
(in case anyone doesn't know about DeskCNC :) )
but since the original system never worked right anyway, its not very relevant
heh - just defining the baseline
the drives are geckos, or clones
those should be able to move the motor pretty darned well
please confirm 1" cmd moves 1" in X at slowish rate
the "system box" photo actually shows geckodrives
what slowish rate should i try?
1 inch per minute
G0 X0 Y0 Z0
one more thing, i don't have internet at the shop, so i can't try anything realtime.
the third line should make it move 1 inch
and it should take one minute to do so
enter the lines one at a time in MDI mode
one more thing to add, the diagnal cuts today seemed more on-track than verticle.
you made parts? are they the right size?
well, for the angels i was cutting out the size didn't matter, so i didn't measure. They looked about right other than the x being off on each pass.
sounds like staggering between angels?
well, at one point in this conversation you said it looked like it was going at one tenth of the proper speed
sorry ... farging cat
when trying to increase the speed, i've received axis following errors.
I can't imagine any way it could do that unless its making angels that are one tenth of the proper size- and I think you would notice that
yes, look atthe simplest problem/symptom first, the other problems will resolve
ok, so at this point, my todo list is to run the above code and time it, if that turns out right, what next?
dunno till you tell us the result
sorry, else we guess
it would be best if you could copy your entire config (the directory) somewhere we can see it
ok, I'll grab that directory too.
wow, is he running emc2 on a mac?
no - he has no internet access in the shop
thanks guys, i don't know if your still getting this my irc client is acting funny.
granville: its ok, we see your dropping out a bit
at least - that came through. nothing else did except for a connect/disconnect or two
what limits my top speed?
where/how does he show us the cfg files?
granville: parms in config, and the physics of your machine
for a software generated step system, there are several limits
the main one will be BASE_PERIOD in the ini file
apple completely closed the source for the mach kernel, didn't they?
that determines the maximum step rate you can generate from software (and it's likely that you can reduce that number from the default, to get a faster step rate)
ejholmgren, the NeXT Mach kernel was never open source, I believe
if you adjust that number does emc adjust everyting else, or do you have to make other adjustments as well?
there are multiple things you can (and probably should) adjust to match the capabilities of your machine
granville: going faster right now isnt a good thing to try... ;-)
as tomp said, the machine determines the limits (usually ;) )
ok, i'll try to sneak out there in a few minutes and grab the config files and run the test.
it's getting to be bedtime for use East Coast people. see you tomorrow
err - later today ;)
bedtime for me too
bye john... hope he rtns soons w data
granville: i may doze off here... your tests will show if your scaling is correct.. try to measure well ( as well as you'd like your machine to be precise)
granville: if the scaling is off, the motion will be off. of the motion(distance traversed) is off, the speed will be off
granville: i know that you see other things, but you need the simple things to be correct for the more complex things to be correct
granville: tell us if you heard anything odd ( you should hear steps distinctly at 1ipm ), or feel anything odd
OK, I'm back, the time is off by 5 seconds, but the distance is right. So it took 55 seconds to move 1 inch at f1 or 1min 50 sec for 2 inches at f1.
ok, how big is angel ( i want to know how it relates to the 1" , how 1/8" relates to 1" being ok)
oh, i really want to know about how much travel is in angel for the x axis ( your best guess )
looks like 35" is the maxx and about 15" on y.
so in 35" of x you got near .125" error? could the 1" test be off by .125"/35??
maybe, that would be hard to see1
yes, but easy to see when multiplied by 35... i think you have a small scaling problem, and it's hard to measure with a short motion
now, that small error may even account for the 5/60 time error
what about the time issue, is that the same issue?
i think so
the 2 are interelated
how to fix?? math rather than 'adjusting' or... more trial and error
i have the input_scale set at -2378.324, now how i came up with that is going to be hard for me to remember.
i'm not good at that.. i cant suss how it could be negativem tho it seems to work pretty well :-o
why are you guessing at the scaling value? ...
I started with the machine tool camp provided config file, and calculated the above number.
it should be related to motor step angle, transmission gearing, and screw pitch
leadscrew tpi, steps per rev, etc not known?
their number was mm/step and i think emc is steps/in, i've go to go to another computer to grab that data, but the math came out to 2378.324, i plugged that into emc and it moved what i measured to be an inch, so i figured my calculations were right. I put the negative in because it was moving in the wrong directions on every axis. deep digging, actually reading emc 1 manual i read to change that to negative, this wasn't in the emc2 manual thoug
Ziegler: you need a thread
and to add the parport.0.write and .read functions to it
ok so like: loadrt threads name1=Test1 period1=1000000
yep, that gets the thread created ( i do bin/halcmd loadrt threads... )
but, did you already 'start', i think you want to spec all threads before 'start'ing
addf parport.0.write Test1
something like that
I trust you figure it out :)
gotta run now
thank you for the help
no problem, others still around if you need further assistance ;)
Alright.... Have a thread with parport read and write addf'ed to it
got emc running too? maybe tkemc?
how do I load the specific hal file that I just created?
hmm, you edited a file, not issued cmds?
no I issued commands from a terminal
then did a halcmd save > step5.hal
oh,,, i had no luck with resinstating a hal file.. the docs say the format is bin/halcmd -f yourhalfilename.hal
i just finsihed making a list of all the neccesary instructions to get my environment back:-(
but for now, your file is agood set of notes, and you can continue
well that broght it back
so what do I do to start emc now?
you need to get some data spit out the parport, and emc likelly is a way to do that... but i'm not sure it wont collide with what you're trying... guru around?
you can try 'scripts/emc' keeping fingers clear of machine tool/motor
err - what are you trying to do? integrate the step type 9 HAL connections into an emc config?
step 5 but yes
actually I havent even edited a config yet
ok. there's a wiki page on copying configs and modifying them on Ubuntu
let me go look
you should follow those instructions, then copy in the part of your hal save file that deals with signals going to your parallel port (from stepgen)
I think the file to change is core_stepper.hal, but I'm not positive (that also assumes that you copy one of the stepper-based configs, which would probably make sense)
you'll want to copy the stepper config
here is the link if others were interested: http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?CustomizingConfigsOnUbuntu
Ziegler: in "core_stepper.hal", where you find a comment line that says:
# connect signals to step pulse generator outputs
thats where you would replace Xstep, etc, with XbitA, or whatever you called them
the newsig and linkps lines that immediately follow that comment
then in standard_pinout.hal, after the comment that saysL
# finally connect physical pins to the signals
you'd put your new signals instead of Xstep
ok let me dig into it a bit.. I know im going to have questions
so by using emc, stepgen gets wired into the chain, downstream of stepgen are signals and pins, upstream is tp and mdi/auto
how do I get it to apear in the menu when I startup emc?
where did you copy your config files? they should be in /home/<your name>/emc2/configs
for them to show up in the pick list
ahh forgot the configs layer
halshow wont come up
ok halshow work now
when I look at parport.0.pin-03-out
and move the x axis manually in Tkemc it changes from true to false
did this mean singal is going to my parallel port?
true false true false, etc
as it moves
and parport pinms 1234 all do that
so.. guess its a problem with my circuit!
oh, nothing is happening outside the computer?
can you put a meter on the parport pins and see if they are changing?
yeah let me try that
stuck an led in it
then the question is - what is your circuit?
heh... an optocouple and some darlington pairs
oh no enable
I threw it together quick... I have no suprise that its not working
I need to check my transitors to see if I get them connected right
well, with 4 leds, you do have a working opto-stepper :-)
maybe thats what I will do
strip off the darlingtons and fire though the opto
or... is that newbish
hey guys be back in a little while
03jmkasunich 07HEAD * 10infrastructure/farm-scripts/ (README run_farm): added support for ntpdate to the farm scripts
hey people. what're your strategies for converting splines into g-codes?
CAM software ;)
*ponders the "what're your" sentance construction*
yeah. I wrote a converter for dxf->gcode
*braces for "you should write in python comments*