Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: RE: How to support a new stepper motor controller?
From: Mark Rivers <rivers@cars.uchicago.edu>
To: Ernest L Williams <ernesto@slac.stanford.edu>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Tue, 7 Feb 2017 17:53:38 +0000
I have advocated splitting the motor module into a motorCore and individual repositories for each driver in the past, and I still think it is a good idea.  With so many controllers in the current repository it is hard to make new releases.  The last release of motor is 6-9, and it is now over 2 years old.  There have been many bug fixes that are not in any official release.

On another topics, there are a number of example model 3 drivers that are ~500 lines of code or fewer that can be used as examples of how to write a driver:

  336  1284 11797 ./motorApp/AcsSrc/MCB4BDriver.cpp
  502  1818 17422 ./motorApp/NewportSrc/AG_CONEX.cpp
  507  2041 18494 ./motorApp/ACRSrc/ACRMotorDriver.cpp

Mark


________________________________
From: tech-talk-bounces@aps.anl.gov [tech-talk-bounces@aps.anl.gov] on behalf of Ernest L Williams [ernesto@slac.stanford.edu]
Sent: Tuesday, February 07, 2017 8:20 AM
To: tech-talk@aps.anl.gov
Subject: Re: How to support a new stepper motor controller?


On 02/07/2017 01:53 AM, Ralph Lange wrote:
Dear motion specialists,

I am writing on behalf of Paramveer Jain (in CC) who has contacted me with this issue, but as I have never done motion control integration with EPICS, I'd rather throw this ball up than send him into the wrong direction.

He is being tasked with developing EPICS support for a locally developed motor controller.

The hardware setup can be summarized as:

  *   Moxa embedded TCP-to-serial converter (NE4110S)
  *   Serial connection (RS-232)
  *   Homemade motor controller (based on an AT89C52)
  *   Ark Motion AMS 3630 stepper motor driver.

The controller software talks ASCII in command/response fashion, e.g.:

  *   Read position (rotary encoder)
Command: STX U <CR>
Response: STX U pppppp <CR>
pppppp = six digit hex (divide by 640 to get millimeter)
  *   Go to position (rotary encoder)
Command: STX P1 sss pppppp <CR>
Response: \06 (ACK)
sss = three digit hex (speed in mm/s multiplied by 240)
pppppp = six digit hex (millimeter multiplied by 640)
  *   ...

What's the best/easiest way to do this?
Here I recommend that the driver be written as a Model 3 Driver


What are the caveats?
Is there a tutorial he could follow?
http://www.aps.anl.gov/bcda/synApps/motor/R6-9/motor_release.html
Mark may have some updates on this as he has given classes at SLAC in the past.
There may even be a Youtube video :)


Is there existing support for another motor that he could start from?
I would recommend to follow:
<MOTOR>/motorApp/SmarActMCSSrc


By the way, a very timely tech-talk question. :)

This leads me to a related question.

SLAC has contributed a few more motor drivers as well.
Should the motor module be unbundled as was done for ADCore?
If the answer is yes, we would like to begin unbundling the motor drivers.
The number of motion controllers continue to grow.  :(


Cheers,
Ernest


Thanks a lot for your help!
~Ralph





References:
How to support a new stepper motor controller? Ralph Lange
Re: How to support a new stepper motor controller? Ernest L Williams

Navigate by Date:
Prev: RE: How to support a new stepper motor controller? Mark Rivers
Next: Re: How to support a new stepper motor controller? Rod Nussbaumer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: RE: How to support a new stepper motor controller? Mark Rivers
Next: Re: How to support a new stepper motor controller? Maren Purves
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 14 Feb 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·