Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Posted by
Jon Elson
on 2005-07-25 09:30:49 UTC
Les Newell wrote:
oscilloscope.
At least on some machines, all disk I/O is DMA, on some others it is done
by the CPU. I don't run 3-D games while machining, so there might be some
load associated with texture buffers, etc. that could slow things down on
certain motherboard/video card combinations. But, I certainly have not seen
any sign of jitter above 1 uS in the performance of the servo update task
on recent machines of the 400-600 MHz class.
a 10% change in servo interval would definitely have a noticable effect,
as the
distance traveled during one cycle would vary by 10%, causing a velocity
compensation of 10% x the servo gain. This would likely cause the velocity
command to jump from zero to 100% every cycle. Although I do run at 1 KHz,
the software is capable of running to at least 10 KHz on modern PCs.
There is a granularity problem, that step pulses can be put on an interval,
but not between intervals. That interval is limited by CPU speed and the
technique of making the pulses.
to relieve
the CPU of that task, and it improves the timing of the step pulses by a
factor
of about 160, depending on the CPU speed. Since my board does the work of
several boards (breakout board, SSR mounting panel, emergency controls) it
really doesn't cost very much extra. In general, it roughly doubles the
usable
speed of most stepper systems, primarily by reducing the step granularity.
Jon
>Hi Jon,Well, I have the ability to measure it with a logic analyzer and
>
>
>
>>The jitter in the regularly scheduled interrupts is under 1 uS! And,
>>that is an absolute,
>>not some statistical average. It NEVER stutters by more than 1 uS,
>>EVER, no matter
>>how long you sample for.
>>
>>
>>
>>
>Even if doing DMA or heavy accelerated graphics? I find that hard to
>believe. The PC's hardware is simply not designed to achieve that sort
>of timing resolution.
>
oscilloscope.
At least on some machines, all disk I/O is DMA, on some others it is done
by the CPU. I don't run 3-D games while machining, so there might be some
load associated with texture buffers, etc. that could slow things down on
certain motherboard/video card combinations. But, I certainly have not seen
any sign of jitter above 1 uS in the performance of the servo update task
on recent machines of the 400-600 MHz class.
>But I've MEASURED it! I'm not guessing from listening to the motors. And,
>
>
>>I've been running a servo Bridgeport mill since 1998 using EMC under
>>real-time Linux,
>>and I can tell you with great authority that the timing is not corrupted
>>by "clock, comports,
>>disk, mouse, display, sound,dma, pci, usb, etc."
>>
>>
>>
>>
>That isn't a fair example. What is your servo cycle time? I would have
>thought it would be around 1ms. Even timing jitter of 100us is unlikely
>to have a noticeable effect.
>
a 10% change in servo interval would definitely have a noticable effect,
as the
distance traveled during one cycle would vary by 10%, causing a velocity
compensation of 10% x the servo gain. This would likely cause the velocity
command to jump from zero to 100% every cycle. Although I do run at 1 KHz,
the software is capable of running to at least 10 KHz on modern PCs.
> This is easily achieveable as DMA etc areWell, I don't know what level of jitter problems you are talking about.
>unlikely to continue for more then a few tens of us. I bet that EMC also
>has jitter problems when running steppers, just like Mach2.
>
>
There is a granularity problem, that step pulses can be put on an interval,
but not between intervals. That interval is limited by CPU speed and the
technique of making the pulses.
>Of course a hardware pulser is the best solution for steppers but itWell, that is my solution, using my universal stepper controller board
>adds quite a bit to the cost.
>
>
to relieve
the CPU of that task, and it improves the timing of the step pulses by a
factor
of about 160, depending on the CPU speed. Since my board does the work of
several boards (breakout board, SSR mounting panel, emergency controls) it
really doesn't cost very much extra. In general, it roughly doubles the
usable
speed of most stepper systems, primarily by reducing the step granularity.
Jon
Discussion Thread
ibewgypsie
2005-07-24 06:41:06 UTC
Windows timing subroutines, how do they work?
Jack Hudler
2005-07-24 12:59:51 UTC
RE: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Jon Elson
2005-07-24 13:00:59 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
KM6VV
2005-07-24 13:14:20 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
ibewgypsie
2005-07-24 13:30:22 UTC
Re: Windows timing subroutines, how do they work?
Jim Peck
2005-07-24 14:45:43 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Les Newell
2005-07-24 15:04:21 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
KM6VV
2005-07-24 16:46:14 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
notoneleft
2005-07-24 17:20:45 UTC
Re: Windows timing subroutines, how do they work?
Jon Elson
2005-07-24 20:00:49 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Jack Hudler
2005-07-24 21:17:33 UTC
RE: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
ibewgypsie
2005-07-24 22:04:15 UTC
Re: Windows timing subroutines, how do they work?
Mariss Freimanis
2005-07-24 23:41:25 UTC
Re: Windows timing subroutines, how do they work?
Jack Hudler
2005-07-25 00:45:30 UTC
RE: [CAD_CAM_EDM_DRO] Re: Windows timing subroutines, how do they work?
caedave
2005-07-25 02:23:24 UTC
Re: [CAD_CAM_EDM_DRO] Re: Windows timing subroutines, how do they work?
Les Newell
2005-07-25 02:23:26 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Les Newell
2005-07-25 02:34:10 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Fred Smith
2005-07-25 07:47:13 UTC
Re: Windows timing subroutines, how do they work?
Alan Marconett
2005-07-25 08:44:15 UTC
RE: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Jon Elson
2005-07-25 09:30:49 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
ibewgypsie
2005-07-25 10:01:52 UTC
Re: Windows timing subroutines, how do they work?
Les Newell
2005-07-25 11:02:16 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Alan Marconett
2005-07-25 13:22:42 UTC
RE: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
Les Newell
2005-07-25 14:58:54 UTC
Re: [CAD_CAM_EDM_DRO] Windows timing subroutines, how do they work?
caudlet
2005-07-25 19:46:24 UTC
Re: Windows timing subroutines, how do they work?
ibewgypsie
2005-07-25 21:19:36 UTC
Re: Windows timing subroutines, how do they work?
Jymmm
2005-07-25 22:29:38 UTC
Re: Windows timing subroutines, how do they work?
yahoo@h...
2005-07-26 02:10:13 UTC
RE: [CAD_CAM_EDM_DRO] Re: Windows timing subroutines, how do they work?
Mariss Freimanis
2005-07-26 08:15:13 UTC
Re: Windows timing subroutines, how do they work?
Mariss Freimanis
2005-07-26 08:19:33 UTC
Re: Windows timing subroutines, how do they work?
ibewgypsie
2005-07-26 10:36:48 UTC
Re: Windows timing subroutines, how do they work? JitteryMonkey pic
ibewgypsie
2005-07-26 10:48:27 UTC
Re: Windows timing subroutines, how do they work? JitteryMonkey pic
ibewgypsie
2005-07-26 11:08:39 UTC
Re: Windows timing subroutines, how do they work?
Andrey Lipavsky
2005-07-27 06:05:52 UTC
Converting a rotary table
victorlorenzo
2005-07-27 07:02:24 UTC
Re: Converting a rotary table
David Micklethwaite
2005-07-27 16:36:34 UTC
Re: [CAD_CAM_EDM_DRO] Converting a rotary table
cutsgems
2005-07-27 18:38:06 UTC
Re: Converting a rotary table
Andrey Lipavsky
2005-07-27 20:24:07 UTC
RE: [CAD_CAM_EDM_DRO] Re: Converting a rotary table
cutsgems
2005-07-28 08:54:39 UTC
Re: Converting a rotary table
Les Newell
2005-07-28 09:23:43 UTC
Re: [CAD_CAM_EDM_DRO] Re: Converting a rotary table
Andrey Lipavsky
2005-07-31 16:43:28 UTC
RE: [CAD_CAM_EDM_DRO] Re: Converting a rotary table