i've never found myself admiring clocks before, but this page from the mcmaster catalog speaks to me: http://www.mcmaster.com/#office-products/=ho061
well, really the whole catalog is amazing
fenn - yes, it is
you should keep one in the bathroom as reading material
that page fails to speak to me
very mundane clocks by your standards
and the page did not render properly
[00:52:44] <archivist> http://www.archivist.info/clock/
[00:53:24] <fenn> http://fennetic.net/pub/irc/mcmaster_clocks.png
if you increase the text size the images scale up and get pixelated
fenn: what browser did you take that shot from?
with firefox 3 that happens, with other browsers it may not
for me, the clocks (pic) appear under the gray block, and above the rest of the text
what I see http://www.collection.archivist.info/Screenshot.png
it's about the same as fenn for me, using Mozilla on Windows
and also with Firefox 3 on Windows
archivist: no clocks?
scrunched in the box at the bottom
scroll bar too short as well
it doesn't fare well when you have insufficient vertical space
same thng happens if I increase font size 5 times
right click -> open frame in new tab
or maximize your window
hmm so much for CSS
[01:00:26] <jmkasunich> http://jmkasunich.com/pics/mcmaster-clocks.png
F11: toggle full screen mode
maximise makes bugger all difference
monitor is set at 1280x768
anyway we make em
hmm this isnt quite the same.. http://thepiratebay.org/torrent/4540835/McMaster-Carr_Catalog__114_in_PDF_-_3675_Pages_Total
* archivist looks at page source and is ill
so opencascade is free software after all, this is news to me
[01:14:59] <fenn> http://lists.debian.org/debian-legal/2007/12/msg00066.html
you hear the strangest things on folk alley: http://www.artistsofnote.com/michael/lyrics/zippy.shtml
how goes the Atom?
heh, yeah. which "it" worked? :)
Now, HERE's a clock for ya!!! http://upload.wikimedia.org/wikipedia/commons/e/e1/Modern_water_clock.JPG
jmk: pretty well. I have it running, and get pretty good latency-test values (thanks swp), but still get unexpected realtime delay when emc starts.
have you read the details about that message? (it prints info into dmesg)
Just a sec
dmesg says "In recent history there were 610728, 246756, 248196, 241980 and 244908 elapsed closks between calls to the motion controller. This time there were 307752 which is so anomalously large...
ok, there are actually two anomalies
the 300,000 one is the one that tripped it, but 600,000 is even longer
is this happening immediately when you start emc?
I wonder if there is some kind of "startup transient" that is tripping it?
That is what I was wondering, since it always happens at startup.
gotta be carefull - it might be happening many many times
you can't assume that. it only reports the error once per run.
EMC only prints a message the first time it happens
what is your servo period?
Yes I see that.
325000 was what was right on the threshold on the non smp system.
ehj: how did you get a typo in that dmesg report? are you copying things manually to the IRC window?
Typo, on a different computer.
I can't imagine trying to discuss a problem on a computer other than the one that is having the problem
(or, to rephrase, why not join IRC from the EMC computer?)
Haven't set anything up on the linux machine, a fresh install right before building the new kernel, etc. Not that it is hard to set up.
(unless said problem is "can't connect to the computer to the net")
wait - isn't the Atom running a linux kernel that you built?
you could just install ssh on the EMC machine, so you could look at logs and stuff with a terminal from which you can cut and paste
Yea, I can. I have just always used the doze machine for email, chat, etc.
Silly me, it is already setup. :)
putty to the rescue :)
I just remembered that you have a bare minimum install on the Atom
I have hardy on mine, so I went ahead and installed xchat, etc
Well not now, because it was a full install of ubuntu to get the build environment. Same processor but I stuck a 500gb drive one it and created 3 bootable partitions.
ok, then the thing to do is install xchat (or your favorite IRC client)
that way you can paste things (like error messages) here
yea, usually I just install the opera browser and use chat from there.
if you can do that easily (and soon), please do
if not, lets work on your realtime issue this way
ssh to the atom box from the windows box is quite viable
Next task is to figure out how to package emc up so I can install the binaries back onto my minimum xubuntu install.
there's no difference as far as the terminal session is concerned
SWPadnos: halscope over ssh from windows?
well, it works great if you have cygwin/X installed
he has a real operating system on the Atom, why not use it?
I've run AXIS, halscope/meter, and other stuff on this aging Windows machine :)
ehj: binaries are a pita
JymmmEMC: they had a 3 story version of that in the museum in my home town
I also isntalled cygwin/X. Have only played with it a little.
up 4 days, 2:36 http://imagebin.ca/view/tnLo77.html
One can only hope for a power outage.. ;)
jmk: Yea, so I have heard.
jmk, swp: I put the latest packages on my ftp site.
smp kernel packages?
swp copied the prior set someplace on linuxcnc.org
I suppose I should install them - been running the latency test for about 4 days now, not learning anything new from that
my results aren't as good as yours - about 16000nS jitter now, and it tends to top out a bit over 20K if I run glxgears
ftp://ftp.camalytics.com/ username: linuxcnc password: emcrocks
I did mine on xubuntu. Moving windows doesn't seem to affect it much. Running other things has more affect, at least on ubuntu. Have not gone back to xubuntu to test again.
fenn: If you know... Does it need the pump after it's started?
I'm running xubuntu at the moment (I have both xubuntu and plain old hardy ubuntu installed
I also don't run anything other than emc on the atom, the UI is remote, it doesn't even have a monitor.
oh, I see
what are you building anyway? this seems a bit more than the average hobby project?
A 3D laser engraver.
JymmmEMC: the pump runs at the beginning of each hour
fenn: Oh, ok.... That there might have been a perpentual motion thing going on there =)
ehj, what filessytem are you using?
but no X installed?
Just Y & Z
shut up! :)
X is installed, I tried to get down to a minimum system.
I'm trying to make sense of the numbers in that message
I would like to get rid of it too.
are you using a non-standard servo period?
I think the last time I ran it I dropped servo period to 200000 to see if it was any different from 325000.
the Atom 330 has a 1.6 GHz clock, if you are using the standard 1mS servo period, the interval should be 1.6 million clocks, not a couple hundred thousand
SWPadnos: If you know... Can you have 2 totally different subnets running on the same vlan?
ehj: if you have timing problems, asking for more demanding timing usually isn't a good idea
I won'd know about vlans, but in general multiple subnets are acceptable on the same wire as long as they all have the same netmask
do you need an extra fast servo period for your machine?
My ultimate goal was to get the servo period to 200000 because that would match the 5khz frequency of the laser.
its a pulsed lazer?
SWPadnos: Would the gateway for both subnets have to be the same host/router?
The reference signal is pwm, the fastest it can be changed is 5khz, but will accept 5-25Khz.
they ignore each other, since the networks don't match
reference is the beam strength control?
Duty cycle => power level.
SWPadnos: Hmmm, I might be able to get my paws on a Cisco 3500 switch... I *think* OpenWRT might run on it =)
are you using software generated PWM for that, or is there a 5i20 or something in the picture?
SWPadnos: or IOS at least - turns a switch into a router =)
5i20 and 7i43.
Meaning I have used both.
crapload of I/O on the laser?
at different times, methinks
Depends on which one, but this one no.
I'm asking what he is designing into this system
anyway, back to the problem
when you run the latency test, you never get anything even remotely like 200,000nS, right?
have you tried the rtai latency test?
Worst I got was 15000 or so
Not yet, been away most of the day.
is this a work project? (I'm away most of every day, as far as CNC is concerned)
Well yes, a personal work project.
[03:43:53] <jmk-robot> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?TroubleShooting
RTAI latency test ^^^^
ehj, do you expect this unit to run headless?
Yea I see. I think swp pointed me to that in his post.
Is anyone ever gonna write a simple shell script and include that in the build???
shell script to do what?
latency-test is the HAL tester
its one line
(on some systems you might have to mkdir/mknod a couple things, I didn't have to do that here
the troubleshooting page has some other information on how to interpret the information
and also several steps to go through, but they're not A B C D, they're "if you think A sucked, you may want to try C"
so I don't know how applicable a script is
IOW, some modest thinking and reading comprehension is required
(you could write one though, patches gratefully accepted :) )
* jmk-robot grumbles
damn. forgot to buy yogurt
the nice thing about the RTAI latency test is that it prints a line of output every second
with the highest latency that second, as well as the highest since the start of the test
so you can see if something is messing it up at intervals, etc
for example, when running glxgears, my typical "1 second max" is about 9000nS (the overall max is 14,000)
when I stop glxgears, the 1-second max drops to 5000 or so
k, just got the rtai latency test running.
if you clean up your initscripts, don't use X, and switch to ext2, you may get down into the 1000 range or lower
the dual-core machine I set up around a year ago used the same chipset as these atom boards (the ICH7 part anyway)
I'm trying to figure out how to install the smp debs I just downloaded
k, that sounds promising.
dpkg -i <the.deb> I think
jmk: What am I looking for on the latency test?
don't have to stick it in any particular place?
or in the GUI, right-click and open with gdebi
ehj: anything funky
Like big differences between any of the numbers? So far very stable.
you had 600K, 200K, 200K, 200K, 300K clocks for five successive runs of the servo thread
the lat max and ovl max columns are the ones you care about
I just had a thought that might explain the 600K
you might simply be asking for too much
Too much what?
the realtime code might (on rare occaisions, like if something flushes it out of cache) take longer than the period
if you do that frequently, you lock up the machine
but if its just once in a while, it might not be very obvious
here is a test
stop the rtai latency test
open a shell
and look at the thread times
I have had no problems while EMC is running with lockups, except after realtime shuts down. Occasionally the computer will lock up hard then (kernel panic?).
sounds like the RT kernel isn't very stable
halcmd: show thread
Period FP Name ( Time, Max-Time )
988960 YES servo-thread ( 22116, 40800 )
49448 NO base-thread ( 8292, 18696 )
thats while running the stepper-inch sample config
40800 clocks to run the servo thread is a tiny tiny fraction of the 1.6 million clocks I have every millisecond
even tho you have the thread 5x faster, it should be fine
unless your servo thread is doing more than this config does
also note that I haven't brought it out of estop or jogged or anything, I bet that number will go up
Show thread numbers 250068, 588588
ok, we're getting somewhere
the ICH7 sucked for PCI access time. 200 uS is enough time for several hundred accesses, but that may not be enough
show param *tmax
first, which threads are those times for?
(see why I want you to be able to paste?)
halcmd: show param *tmax
Owner Type Dir Value Name
5 s32 RW 12300 motion-command-handler.tmax
5 s32 RW 43548 motion-controller.tmax
7 s32 RW 21132 parport.0.read.tmax
7 s32 RW 0 parport.0.reset.tmax
7 s32 RW 15708 parport.0.write.tmax
7 s32 RW 0 parport.read-all.tmax
7 s32 RW 0 parport.write-all.tmax
6 s32 RW 11076 stepgen.capture-position.tmax
6 s32 RW 11184 stepgen.make-pulses.tmax
6 s32 RW 13200 stepgen.update-freq.tmax
this tells me how much time (worst case) each function is using
you'll probably have one function that sticks out like a sore thumb
motion-command-handler.tmax 2952 motion-controller.tmax 35808
are any of them 100K or more?
Yes, the hm2_ tasks
ah - SWP called it I bet
PCI bus access time
EPP access time
there's simply NFW you are gonna get those kind of thread periods using EPP interfaces
the parport is incredibly slow - about 1 byte per microsecond
That was one thing I wanted to ask Sebastian. I looked like the 7i43 times were much slower than 5i20, but did not do a fair apples to apples test.
they will be slower
they are - at _LEAST_ 4x slower
the parport is one byte at at time, the PCI bus is 4 bytes at a time
the EPP can only do 1 byte at a time, and it's once per microsecond or so
PCI (with the ICH7) does 32 bit transfers, about 1 or so per microsecond
or 12 bytes/microsecond instead of 1-1.2
One the base system I could get down to about 240000 for servo thread on 5i20, but 325000 for 7i43.
err, about 3 or so per microsecond for PCI
when you say "could get down to", do you mean the tmax readings?
with a better chipset, the 5i20 would be a lot faster
or were you doing trial and error?
Not getting unexpected real time delay messages.
* jmk-robot cries quietly
hal was designed to let you see these things
but nobody ever looks
the ]Homer Simpson method is so much more popular
if you want fast servo periods, you want a 5i20, not a 7i43
simple as that
Yea, I have both. I was hoping to use the 7i43 mainly because it makes wiring easier.
make your servo period about twice the tmax time of the 7i43 driver function, and you can use it
That would be about 800000
do you have a base thread at all?
(not needed if you aren't doing software stepping or pwm or encoder counting)
are you running anything in that thread?
"halcmd show thread" will tell you
No, just left it around just in case.
it's period should be the same as the servo period then - no reason to add more load to the CPU
what I'd do is set the servo period to 1mS, then abuse the system to get worst case times
k, I played with it too, did not make much difference regardless of value (reasonable anyway).
define "make much difference" ? it doesn't sound like you were actually measuring anything
(presence or absence of realtime overrun messages doesn't count)
sorry, I'm being a curmugeon
basically, that message is a "check engine" light
show threads time numbers and tmax parameters are oil pressure, etc gages
No only meaning whether I got the unexpected real time delay message.
yea, I get it.
hyperthreading must be enabled - I have 4 cpus
Linux robot 2.6.24-16-rtaismp #1 SMP PREEMPT Fri Feb 6 08:51:25 EST 2009 i686 GNU/Linux
Yes, turn it off in the bios
oh, its not a kernel thing
test with both though, I'm assuming that HT isn't helpful, but you should look
jmk-robot: did you build a new smp kernel?
try isolcpus=2,3 if you use HT
no, I just installed the debs that Eric built
I'm a little surprised to see PREEMPT there
do-nothing loop helps - not as dramatic as on the core2 IIRC, but noticable
1 second averages go from about 5-6K to about 2K
1-second maxes that is
ovl max still made it up to 15K when I started glxgears
1-second averages or 1-second max?
1 sec max
this is interesting in an annoying way
the new kernel did fine with the network the first time
but when I turned off HT in the bios, it couldn't connect to the net
why (or even if) they are connected I have no clue
I had that happen once or twice too.
I sometimes do a full (real) power cycle if BIOS changes give strange behavior
the chipset never really powers down
(unless you pull the plug)
and I usually pull the plug while it's doing the memory test or something, to make sure it drains various caps
ehj666-2 is now known as ehj-2
hmm, must have been a coincidence, now it isn't working with HT on either
well, you know
I really wish they'd stop making things pretty
there is a stupid spinning logo in the taskbar that says "requesting a network address from the wired network"
IOW, its trying to do DHCP
Yea, that is what I got too.
but the icon doesn't stop if I do sudo /etc/init.d/networking stop, etc
well, it could be "connecting to wireless netowkr xxx"
I dunno if they've broken the "old ways", or if the icon is just without clue
the icon is without clue
I don't know if a DBUS signal is emitted when you use ifconfig
no, I think the icon is assoc with dhclient somehow
ifconfig does nothing
I think the icon uses DBUS
all I know it' sfscking slower than hell making a connection
JymmmEMC, it is in some way, but it's more than just DHCP
/etc/init.d/networking start says "Ignoring unknown interface eth0=eth0."
don't go looking for the empty config files, you'll blow a gasket ;)
SWPadnos: Guess I'm getting spoiled on OSX... you switch from wired to wireless it's almost instantaious
that assumes that the underlying connections are also instantaneous
SWPadnos: No, not really. I can switch from wired to wlan without issues too
err wwan I mean
no, what I mean is that if the machine is waiting for a DHCP address, it shouldn't be instantaneous on the mac either
I know that the Ubuntu notifier is a bit slow, but it's not all the fault of network-manager
SWPadnos: It shouldn't but it pretty much is. I've done it a coupel of times and not even lost connect to the server, or if I did, it reconnected without being noticed.
the mac may be maintaining multiple connections
which is something that network manager can't do in 8.04
(or 8.10 AFAIK, I think that's going into 9.04)
SWPadnos: Can't be... I physically plugin the WWAN card =)
# The primary network interface
iface eth0 inet dhcp
"something" commented out the last line, when I uncommented it it started working again
doubly strange - there's actual text in the config file :)
hmm, still four cores
I thought I turned HT back off
rebooting is very annoying
jmk: I am rebuilding the kernel. I just remembered I had made a change, compiled but never installed it. I just put it back to what I have installed.
I don't think I've rebooted this many times in the last 6 months
two cpus now
ehj: what is the thing that you changed?
Just a sec.
I uncommented CONFIG_SCHED_SMT=y, then found out I did not need it, but had already compiled. I never installed, but it was the last package built.
I've never seen "user" zero before
was that with -jn?
user==0 is strange
the total time seems a bit long too, but I don't know
I'm doing it again
(I usually compile non-RT ...)
updatedb was running before I started - I waited till it was done, but it might have filled disk caches up, etc
that might explain larger than normal sys times
but not zero user
I've also been running the RTAI latency test ever since I restarted...
there may be some accounting thing that's turned off in the kernel
I just stopped the latency test and started the make again
apparently when RTAI is loaded, everything is "system"
which kind of linear bearing track were you looking for?
I have 8 cars, no track
someone on CCED mentioned selling a lot of them, but they're HSR35, HSR45 ...
someday I'll learn that cars without track aren't that usefull
I picked up two 37" pieces of SR25 track with 4 cars at HGR last weekend
those will be X on my someday gantry mill
running stepper-inch, splash g-code, servo thread max 104K clocks, base thread max 14K
averages seem to be about 40K and 8K
its really amazing how fast PCs are
stepgen's base thread part makes the steps for three channels in an average of 500 clocks
thats 312 nanoseconds
parport reads take 5x as long, parport writes 10x
ehj: ehj-2: thanks for building that kernel!
thanks for all the help allowing me to build the kernel.
kind of makes you wonder what it's doing for the 6000 clocks of a context switch
(or whatever is happening during the latency)
hmmm. the atom systems use DDR2-533?
interesting - when I started glxgears, latency jumped up to 12uS
once or somewhat repeatably?
but if I reset the counters (using halcmd), the max remains down around 4us
seems like the real hit is at startup
what happens if you start another one going?
and/or stop it (them), then start one again
no hit right away, but a few seconds later it went to 14uS
just "later" or when the screen appeared or something?
I wasn't being very observent
the 2nd window opened directly on top of the first
I think the hit happened when I dragged it away
using the vesa driver?
who the heck knows
probalby not - I didn't mess with config
(II) Matched intel from file name intel.ids in autoconfig
(==) Matched intel for the autoconfigured driver
(==) Assigned the driver to the xf86ConfigLayout
(II) LoadModule: "intel"
(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
ok, so it's using the intel driver, which is actually a real openGL driver
getting very nice framerates - 300ish
so it's possible that transferring the display list for the gears is what caused the first bump
on both or just one?
actually, right now both are doing 500
both fully visible?
no, lemme unbury
ah, that dropped it, now 300 again
yeah, drawing is a lot faster when there's nothing to draw :)
man. it would be really nice if ATI/Nvidia would release source code
I get a latency hit when I click on the glx window
but not when I simply uncover it by moving another window
the 2 generation old cards I have can do ~12-15000 frames/sec
thats kind of silly
that's a $50 card nowadays
well, it is bedtime here
oh. good point
ati/nvidia will never release source until they are dead; obviously they both violate various patents
driver source would be unlikely to reveal that (unless you're talking about software patents)
isnt it all software in the end?
actually, ATI has released a lot of their code already, and is supposed to release enough to do a complete driver in the next couple of months
there really needs to be some law that you can't patent an interface
there should be some law that says you can't patent anything that's obvious
oh wait, there is
nurse, hand me the poo flinger
sorry, only the monkeys get poo flingers
on that note, I think I will go to bed
this was just posted on a mailing list, http://www.youtube.com/watch?v=VWn8gQ9Ykpk
not cnc but good model engineering
that is a good vid, i wonder how long that took to build
over 3000 hours!!
the only faults I spotted was the counter looked fake and the cranks were hand filed you could tell when turning
the man needs cnc to help :)
ah the ends of the cranks, yes u could see they were not flat
but still a damn nice piece of engineering
yup that crank shape would be a bugger to make even cnc
good morning i have on my machine two gear change on the spindle.i have scaled the value the pwmgen and the scale gain for first scale and the spindle fuction ok for the first scale.for the second scale i want change the scale value the pwmgen and scalegain , but in classicladder, because the command valve for change gear is in classicladder. is possible it?
motioncontrol: in the mazak, I believe that classicladder produces a "gear select" signal; one effect of this signal is to choose one of several scale values through a 'mux4' component (there is also a 'mesh-rpm-cmd' which is the speed commanded during a gearchange).
[14:07:59] <jepler> http://pastebin.ca/1329901
good evening . i have only 2 point open for finish the retrofit on my machine.The first : spindle gear , the second tool change.OK i want resolve first the spindle gear.my machine have two gear change velocity spindle, and in my hal file i have scaled pwgen and scale gain for control first gear.For the second gear i have necessyti of change the setp hm2_5i20.0.pwmgen.03.scale 3000.0 and setp scale.0.gain 0.00445 in class
ic ladder . some idea. please ?
motioncontrol, look at the mux2 component
you can use ladder logic to switch which mux output is used
i thing use ladder logic because the command idraulic valve logic i thing is possible only use one plc
Is there a signal available that indicates that an axis is being commanded to move?
I would use this as an enable signal and reduce stepper current to only what is required to hold its position.
While an axis is not moving
there are axis.#.in-position pins
I don't think that current reduction is worth the trouble.
and motion.in-position, which tells you that all the joints (axes) are in position
* archivist does not reduce current
It is already implemented on the drivers that I am using
current reduction may not be a good idea while machining
it reduces the position holding force
so when you're holding X in position while moving Y, you still want X to be held as hard as possible
I also remember issues being discussed with one of the driver boards in that respect
axis.#.in-position doesn't do what you ask for, because it is only set by the free planner; it's not set by the coordinated planner, which is what controls motor positions while running a part program. Also, in 2.2.8 it's a parameter and not a pin.
you would need to set the high current a couple milliseconds before you start to move
not at the same time as the first step pulse
Thats what i was thinking too
that's not supported atm
I mean.. you could probably hack it somehow
but it's so ugly I'm not going to say how ;D
in this weather you need to keep worm, dont reduce current
But if the machine is just sitting there and not being used it seems like it might be a good idea to reduce poer]
oh hey - shows what I get for looking at a TRUNK pin list
jensor: if machine is sitting there, hit F2
that means "machine off", which will also turn off the amp-enable outputs
if you're machining, then no joint is "just sitting there"
That requires my effort - Iwas thinking it could be automated
if you're obeying manufacturer current ratings then don't reduce current for the sake of the motors. It's not likely to make a difference in your electric bill either.
you still need to get out of bed daily, no matter how much you automate
so I don't see the benefit; and others have identified potential problems
(that's probably not true.. but I hope you get the point ;)
you could automatically cause your machine to go into machine off if idle more than 5 minutes or so
Auto machine off - that might be the way to go
jensor, there is a risk of movement during the power down and up cycle, that would mean loss of accuracy
classicladder + halui :)
yes, when you turn off the amplifiers altogether on a stepper you may lose position if the machine can pull things so far that the stepper goes into a position a full 4 steps away from where you powered off the amps
* archivist needs warm in here 55f
No not machine off just reduced power
do you have any feedback (from spindle or whatever)?
I still expect movement with power reduction in steppers
to answer the original question without all the criticism, here's a component which outputs TRUE when its input changed in the last period, and FALSE otherwise: http://emergent.unpy.net/index.cgi-files/sandbox/changing.comp
My salvaged driver boards already have the function implemented on them - just need to generate a signal for it
I'll check out that comoponent
thinking through the problem, you could use something like the component jepler just wrote, but deciding when to reduce current is another matter
I linked it to siggen.0.sine and manually toggled siggen.0.frequency between 0 and 1: http://emergent.unpy.net/index.cgi-files/sandbox/changing.png
for example, there may intentionally be no motion for several milliseconds, but you probably wouldn't want to reduce power at that point
and as archivist said, you may need to go out of reduced-power state before the first step pulse gets output
which can't be done unless you delay the position commands by a little (since motion detection happens after the fact)
it's true; there's no guarantee of how long (if at all) this signal will be TRUE before a corresponding step pin is TRUE
and it might also go FALSE before the step generator actually emits the final step
a one-shot would fix that, but it's still difficult to get around the causality problem when resuming full power
the "changing" component tells you when something has or hasn't changed since "the last time it checked"
which means that there is at least one servo period that steps are being output before the changing component will notice
since it looks at what already happened
in fact, you want to know a servo period or two before any step will be output, so you can return the drive to full power mode before any steps are output to it
unless it's smart enough to go to full power when a step arrives
But you probably should have a ms or so lead time
which you can't get, unless you mess with the internals of the motion controller
or you delay the output from the motion controller to the step generators (so you can peek at things before they get to the stepgens)
I've never noticed any machine movement on cycling the "Machine" toggle the motors are locked in place and don 't move
if you have microstepping drivers, then they are likely to lose their position, but probably only to the nearest full step
it depends on the driver as well, and whether you disable it vs. powering it down
Not using micro - I am using quadrature My drivers stay on
oh quadrature, interesting
SWPadnos: how about creating a delay component?
put it between stepgens and parport
take the data before the delay to figure out power low/full
although that might cause all kinds of different problems
like homing timings, and so on
stepgen already knows to delay step pulses for certain timing constraints. I don't see why it couldn't also do it for this. seems like a SMOP to me.
part of the acceleration curve if low power wait till power high for n millisecs
that's great for individual axes, but not for coordinated motion
slow arcs could be a problem, unless stepgen starts hitting feedhold while waiting for full power
* archivist still doesnt think power down is really worth it
(I'm thinking about this on a machine running G-code, which I think is a bad idea, but I think it's the intent)
does anyone know for a fact how much time is needed between full power resume and step?
I bet it varies
I would assume a step time
sure, but I mean does anyone have some real data from some real driver
I believe it's near zero or zero for a gecko
but I don't know for sure
gecko doesn't have power down, does it?
I survived another ski trip.. yaaaa
nice, but waaaaaaay too pricey http://www.reghardware.co.uk/2009/02/07/video_sony_xel_1_oled_tv/
argh, I was first excited when I read "# Open Source - The schematic, parts list, and software are all freely downloadable! " but then read in the source code "This software can be used and modified for personal or non-commercial use only"
On step driver power down: as long as your (global) power-up oneshot was triggered by any axis motion
there would be no problem with any axis losing torque during coordinated motion
sure, that's ok.. it has to be global or none at all
can't lower power if another axis is moving
but the whole thing very much depends on the stepper driver
Yes, in a decent driver, it should only lower the setpoint current
so recovery should be almost instantanious
if it is, then it should be pretty easy to do something in HAL
(instantaneous meaning DeltaI*L/V for close to a full steps worth of current change)
probably much less than 1 ms
probably a couple usec's
if it's a microstepping driver it might not be that important
as the next couple of steps are still reachable directly
(assuming on the first 2-3 steps the driver outputs too little current to make the motor move, the 3rd, 4th microstep at full power will still make the motor move to the proper position)
Right, plus acceleration constraints..
there was a guy from germany that asked me for a boost signal
I got it from hypot'ing the ddt's (current vel's on all axes), then a ddt on that
and if accel is > a certain value it would turn on boost
Slowly making a servo system from steppers....
yeah, encoders on them
boost at start, powerdown when not used
encoders just for fault detection?
apart from the risk of of demagnetising I see few problems abusing steppers as servos
some want to slow down when it starts failing
emc2 could theoretically do that (using adaptive feed rate override)
but you would need a very high resolution encoder on the back of the motor
right, and a fats enough servo period so you can catch is before to many electrical degrees
might probably work with an 5i20 and a really fast servo period
We've driven step motors in full servo mode with 5I20 but 30 KHz sample rate
our PID sample rate
what do you mean by full servo mode?
proper PID like a servo?
Drive as a 2 phase brushless servo
I wonder how that works.. if you push the stepper too hard, and it starts stalling..
a regular PID would push it even harder to make it catch up
well the drive is alway in phase with the rotor so it just stalls like a DC motor
No different than a AC 3 phase brushless
ah, so special drives then
gawd my typing is awful
No but high res encoders
Don't know if EMC could do it without using DMA or something to speed up I/O
I guess 20 KHz servo loop times might be possible with a low latency system
and low I/O overhead
well.. there are PCs out there that get about 5-6 usec latency
That would do it
05:22 < skunkworksemc> up 4 days, 2:36 http://imagebin.ca/view/tnLo77.html
maybe tailoring such a system to not run X, and some other services might even push things a bit further
skunkworksemc: you didn't say if it's i386 or x86_64
On the other hand all you really gain with servoed step motors
is a 50 pole motor so you have low speed/ high torque but poor efficiency
probably better off with a 4 or 8 pole 3 phase AC servo
( that goal3 motherboard is impressive latency wise)
I think AMD's usually have very good latency results
Not mine :-(
my best machine (latency-wise) is a really old AMD machine (Athlon XP 1600+)
I ran emc2 on it with 6500 BASE_PERIOD
didn't check actual parport output, but it didn't hang :D
I think latency results were a bit larger than that
at 6000 it would lockup instantly
(out of time I guess)
That reminds me, whats the highest frequency that the average EMC setup could read?
you mean from a parport?
depends what signal you're watching
Is there a frequency counter component or just the encoder counter?
you can use the encoder component in counter mode
there is a counter component
but you're still limited to BASE_PERIOD.. so you only sample once per BASE_PERIOD
at 50kHz base_period, I wouldn't trust counting for more than 30kHz or so
and 50kHz for base_period is kinda pushing it
OK so max freq would be base/2?
What I'm trying to decide is how far to scale down the output frequency
of this THC A-D I'm making so that if you dont have a FPGA card
it can still be used with software frequency counting
current options are 1MHz, 31 KHz, 15 KHz and 7.8 KHz
15kHz sounds like a good fit
31kHz for faster PC's latency wise
(I have the four option just wondered if 7.8 was to fast for a lousy MB)
here's a comment from counter.c:
The maximum count rate will depend on the speed of the PC, but is
expected to exceed 2kHz for even the slowest computers, and may
well be over 25kHz on fast ones. It is a realtime component.
I think 2kHz is too conservative
OK, maybe I should make the 7,8 be ~4 KHz
if you have 7.8kHz, and assume a base_thread of 16kHz .. that might be a bit slow for steppers
I don't think 8kHz is too fast
I mean a PC that can read 8kHz can probably step at about 8-16kHz
which is pretty slow for a stepper system
The faster the better in terms A-D bandwidth+resolution
(A-D is just a V-F converter) 7.8 KHz it is
7.8 KHz would still give ~ 7 bit resolution at 60Hz update rate
should be good enough for a THC
so - going to vegas - what are must sees?
or this: http://www.buzzle.com/articles/top-10-most-bizarre-las-vegas-attractions.html
heh - thanks alex - that is funny as you being in RO :)
how are things today?
latency of 6505 still
did you see my question earlier regarding your PC?
it is pretty warm here.
is it regular i386 or 64bit?
it is the livecd.
booted from CD?
I would have been _really_ amazed then
very nice like this too
how long do you plan on letting it run?
too bad the LiveCD doesn't boot on the server I have at work
heh - until I acutally need to move or reboot this thing.. No scheduel
at least the official Hardy doesn't
didn't try our LiveCD yet
installed 8.10 server on it though
I think the desktop doesn't have proper drivers on it
but it fails pretty hard/early
I'll try to install 8.04 server then update via apt
wonder if the latency is any good
otoh, it roughly 8x larger than my CNC machine
that isn't the point..
when it's sitting on my table
if it goes into it's rack, it's about 20x bigger :D
I'm amazed how good this machine is.. it's about 7 years old, but still really well spec'd
4 x 2.8GHz Xeon, 8G ram, 10x36G U320 HDD's
1 GigE eth (on 64bit 100MHz pci)
I have some thin 1u ibm and dell servers that I need to play with.. they are in the 1.something ghz class iirc
this is 8U
and damn long
[20:59:28] <alex_joni> http://eneas.juve.ro/~juve/servere/IMG_0186.JPG
that is big
[21:00:23] <alex_joni> http://eneas.juve.ro/~juve/servere/IMG_0192.JPG
[21:02:01] <alex_joni> http://eneas.juve.ro/~juve/servere/IMG_0202.JPG
3 x 500W continuos power PSU's
I have an old Compaq here built like a battle ship but its not as good as that
I got two racks. one empty, the other one had 3 servers in it
I think this is the first time I setup a printer on linux
* archivist wonders if printing has improved
I would have been lost without the internet.
it did bump up the latency on this thing :)
[21:25:12] <skunkworksemc> http://imagebin.ca/view/WoYdVz4.html
* archivist checks the chat window
making sure is not the same picture :)
it is actually photoshopped
the ubuntu test page is much cooler than the microsoft one..
* printer test page
* skunkworksemc is convection roasting a small turkey again.. See if it comes out as good as last time
so am I.. still going to bee a good 2 hours..
* alex_joni goes watch some telly
crispy on the outside - undone on the inside.
ok - stopping the latency test.. Yah I know.
* skunkworksemc wants to play with emc on this machine.
[22:04:46] <skunkworksemc> http://imagebin.ca/view/f0Gww77W.html
I saw a car with a noodly appendages emblem on it today
[22:18:21] <skunkworksemc> http://en.wikipedia.org/wiki/Flying_Spaghetti_Monster
like so: http://en.wikipedia.org/wiki/File:FSM_Logo_on_bumper.JPG
not seen one around here yet..
how is the maze runner coming?
I finally got done with chores and errands, gonna start coding again soon
JymmmEMC: my latency went up after ip printing.. 7833.. ;)
skunkworksemc: how bad?
I think he meant it went up to 7833
which is still pretty darned good
jmkasunich: If that's true...
skunkworksemc: lat < 10K.... A55hole!
"up after printing.. 7833.. ;-) "
That's worse that me teasing SWPadnos regardign bandwidth
My gf got me this hand-held laser lightshow thingy. It has a laser pointer directed at two mirrors that are atteched to motors that spin. The mirrors are ever so slightly angled (maybe 83 degrees) from the shaft of the motors. But the whole thing still puts out various patterns... like spiralgraph if you rememebr that and combinations of ovals and triangles.
my internet is flakey
Just this once .. here's the log: http://www.linuxcnc.org/irc/irc.freenode.net:6667/emc/2009-02-07.txt
well.. at least the latency is ok, can't have it all
I am not blaming my internet connectivity on this motherboard... ;)
I went outside and tried to hook into a few of the neighborhood
wireless networks and same thing.. wasn't just me