Here are links to some presentations on the model 3 motor driver API with examples:
Talk by Joe Sullivan:
http://www.aps.anl.gov/epics/docs/APS2015/16-Motor-Support.pdf
Talk at MOCRAF from someone at Australian Synchrotron:
fhttp://www.synchrotron-soleil.fr/images/File/Informatique/Workshop-Motion/MOCRAF-2015/MOCRAF2015-AfternoonSession2-06-AnEpicsSolution.pdf
Talk I gave at SLAC:
fhttps://portal.slac.stanford.edu/sites/conf_public/epics_2012_04/presentations/Rivers_Thursday_EPICS_Motor_Device.pdf
Video on how to write a Model 3 driver by Kevin Peterson:
https://www.youtube.com/watch?v=WEnwoNpTTpI&index=15&list=PL0hRJO_fHhJeYK7VC2dh-8bGvkSMwE_x5
Mark
________________________________
From: [email protected] [[email protected]] on behalf of Ernest L Williams [[email protected]]
Sent: Tuesday, February 07, 2017 8:20 AM
To: [email protected]
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? Kevin Peterson
- Next:
RE: How to support a new stepper motor controller? Mark Rivers
- 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>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: How to support a new stepper motor controller? Ernest L Williams
- Next:
RE: How to support a new stepper motor controller? Mark Rivers
- 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>
2018
2019
2020
2021
2022
2023
2024
|