Jon Elson <[EMAIL PROTECTED]> wrote: 

> [EMAIL PROTECTED] wrote: 
> 
>>Jon Elson's boards use the servo scheme - his step outputs are sent to 
>>an encoder counter as well as to the drive, and the encoder counter 
>>feedback is used to close the loop. 
> 
> It seems to me you HAVE to do this. Unless the clock of the FPGA is somehow 
> linked to the clock of the CPU, or the FPGA is generating a "servo" update 
> interval for the CPU, then there is always the possibility of a step 
> pulse either being sent or not, before the next update. Eventually,
> these errors will multiply to large position errors. 

You'd either have to sync the software threads to the FPGA frames, or
do something else clever.  I have an idea forming in the back of my
mind that might work (and allow the software threads to remain 
independent), but I haven't thought it thru enough yet to even put
it into words yet, let alone analyze it to see if it would really
work.  Maybe this evening.

>> It is true that the buffered approach is theoreticaly a tiny bit more 
>> accurate. A perfect forward transfer function is more accurate (if 
>> less robust) than using feedback to compensate for imperfections. 
>> Maybe we (EMC) should investigate the possibilities. If we limit 
>> ourselves to a maximum of one "frame" in the buffer, perhaps the 
>> delay issue can be avoided. Something to think about. 
>
> 
> Well, some discussion might be warranted, but it seems that in a
> real-world machine control, where the operator may need to change
> feedrate or even abort the procedure at any time, this is just 
> unworkable. Maybe if the counters are there, and are only used to
> recover position from an abort, it would be functional. 

Everything is a matter of degree.  Nobody is proposing a FIFO with 
several seconds of motion in it.  We're talking about milliseconds.
A delay of even several milliseconds on _any_ operator induced
action (feed override, abort) is going to be completely undetectable
to the operator.  Even for E-Stop, one or two milliseconds won't
make an important difference.  Probing and homing are the cases
that matter here.  When the probe makes contact, or the home switch
trips, we need to know where the machine IS at that instant, not where
it is supposed to be, or will be a few milliseconds from now, or 
was a few milliseconds ago.  The measurement error due to the FIFO
delay will be equal to the travel velocity times the delay.
 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to