On Thu, 15 Feb 2007, Jon Elson wrote:

> Date: Thu, 15 Feb 2007 15:53:16 -0600
> From: Jon Elson <[EMAIL PROTECTED]>
> Reply-To: "Enhanced Machine Controller (EMC)"
>     <emc-users@lists.sourceforge.net>
> To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net>
> Subject: Re: [Emc-users] Hardware step generator for  5I20
> 
> [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.


Actually works fine for me...


In other words the host filling the FIFOs knows exactly how many 
(whole+fractional) steps are output each frame.

This was mainly done for people using Windows so that real time reponse was 
not required to get a perfectly timed output stream.

I'm working on an alternate step gen for EMC that will be free running and 
unbuffered. Its a little more involved because you cant avoid the direction 
setup time problem as easily as the buffered approach and therefore requires a 
dir change deadtime step accumulater-deccumulator. I should have something 
tommorow or Monday.



>
>> 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.
>
>>
>>
>>
> Jon
>
> -------------------------------------------------------------------------
> 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
>

Peter Wallace
Mesa Electronics

(\__/)
(='.'=) This is Bunny. Copy and paste bunny into your
(")_(") signature to help him gain world domination.


-------------------------------------------------------------------------
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