Firewire




Hi

I've been in conversation with Bert Eding about some graphical stuff that 
he is using with his EMC.  During that conversation he mentioned some 
things about firewire that I thought the hardware types would find 
fascinating.  

Just a bit of background to re-introduce Bert to the rest of the list.  
Bert is a delightful fellow and wonderful cook.  He lives in Eindhoven, 
the Netherlands.  He works for Nyquist, a specialized motion control 
company.  The first page of Nyquist's web presence (www.nyquist.nl) says, 

" Nyquist Industrial Control develops and sells Motion Control systems to 
OEM customers who create semiconductor production equipment, special 
robotics and factory automation equipment. Our systems allow these 
machines to make lightning fast movements that are accurate down to the 
nanometer."  

Bert's setup is not what a casual user might call a typical EMC.  He has 
fitted a desktop mill with servos and drives them using big dollar 
Nyquist servo drive boards.  Bert uses Firewire to communicate between 
his PC and his drive amps.  When I saw his mill do it's thing, he had 
modified the EMC to run under MS-NT.  He is now using MS-XP.

This led me immediatly to two questions.  

1 - Real-Time and XP? 
2 - Firewire hardware? 

Being an "open source" person,  I'm not really interested in bringing a 
MS version of the EMC to the marketplace but there is lots to learn from 
someone who has worked with them.  It turns out that both questions are 
answered by the use of Nyquist equipment.

> It is currently depending on the Nyquist motion controller.
> As You know windows is not real-time, or You have to buy
> the rather expensive VentureCom RTX.

> But the system what I have is different, the PID software runs at
> the other side of the cable, not in the PC. The PC sends cubic splines
> to the system.

I believe that the way that Bert gets around the latency of the MS-XP is 
by having the Nyquist system buffer the splines and do the hard real time 
servo loop off the PC in hardware.  This is very similar to the 
approaches that have been taken with USB by projects like the Gecko 2002. 
I believe that is is also very similar to the stuff that Steve Stallings 
showed at NAMES a couple years back.  Enough of that.

I found Bert's comments about firewire to be really interesting.  
Detractors can say, "yea but this guy works for a company that uses 
firewire.  They know how to do it and have the investment already made!"  
Bert says;

> Another problem, I have no hardware, I would like to have hardware
> based on FireWire. As You know, Nyquist is using the firewire for
> realtime motion control. It is perfectly realtime, the timer tick on
> firewire can be set in multiple of 0.125 us, perfect for servo systems.

Now that really got me to thinking.  Matt and several others have 
mentioned 1 ms as the native or best-you-can-expect speed of USB which 
makes for a fairly unreliable communication channel for the kinds of info 
that we need to pass.  This 0.125 us seems like it would really open up 
the connection and allow us to do some interesting things.

> In the Nyquist system, you can connect upto 63 nodes to the firewire.
> Each node has a DSP and controls 4 axes.  All nodes run up to nano
> seconds synchrounous with ussage of the 0.125 us timer tick of the
> firewire. 
<s>
> Maybe this is also interresting:
> 1) Firewire boards cost only $25 at the moment.
> 2) If the PID loop of the software also performs the velocity
>     loop, and sent torque outputs instead of velocity you can
>     save a lot on hardware too.
>     - a 12 bits DAC is more than enough to control torque.
>     - the servo amplifier can be a lot cheaper,
>       because the velocity loop is now in software.

Bert has recently subscribed to the list again.  Where my post contains 
errors, he can correct them and fill in details for you.

Ray





Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact