Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HRPD: LinMot driver for Jaws #2098

Closed
kjwoodsISIS opened this issue Feb 20, 2017 · 10 comments
Closed

HRPD: LinMot driver for Jaws #2098

kjwoodsISIS opened this issue Feb 20, 2017 · 10 comments
Assignees

Comments

@kjwoodsISIS
Copy link
Contributor

kjwoodsISIS commented Feb 20, 2017

As a scientist, I would like the IBEX to provide a driver for LinMot motors, so that I can control the
jaws on HRPD.

Acceptance Criteria

  1. I can adjust the settings of the single jaw set on HRPD.
  2. I can view a schematic representation of the blades (N, S, E, W) of the jaw set
  3. I can adjust the settings of the jaw set by setting the N, S, E, W positions or by setting
    values for the horizontal & vertical gap and horizontal & vertical centre positions.

Notes

  1. HRPD uses LinMot P0x-23 motors/drives to move the blades in the jaw set.
  2. Can LinMot drives be controlled via the EPICS Motor record? Can we create a simple stream driver to control the LinMot drives?
  3. Is the current jaws OPI sufficient for use on HRPD?
@kjwoodsISIS
Copy link
Contributor Author

After discussion with @FreddieAkeroyd , we decided that it would be best to try to control LinMot motors via the Motor Record (that way LinMot motors appear like any other motor to IBEX). there are two options:

  1. write some C++ functions to replace virtual functions
  2. like the motor record to a stream device driver which speaks to the LinMot controller.

@John-Holt-Tessella
Copy link
Contributor

@davidkeymer to find a test one

@kjwoodsISIS kjwoodsISIS added this to the SPRINT_2017_03_09 milestone Mar 9, 2017
@davidkeymer
Copy link
Contributor

davidkeymer commented Mar 9, 2017

Set 1

Calibration: 0.01925 steps/mm

Offsets:

Jaw Offset (steps)
North 470
South 470
East 460
West 500

@davidkeymer
Copy link
Contributor

davidkeymer commented Mar 9, 2017

Set 2

Calibration: 0.01953125 steps/mm

Offsets:

Jaw Offset (steps)
North 471
South 471
East 471
West 571

@davidkeymer
Copy link
Contributor

davidkeymer commented Mar 9, 2017

Commands used in VI:

Initialization:
Reset error - !SR-1
Run internal initialization routine - !SR+1
Set axis (A,B,C,D) maximum speed to 50 steps/s - !SV50(A,B,C,D)

Get axis (A,B,C,D) actual position (steps) - !GP(A,B,C,D)

Set axis (A,B,C,D) setpoint (xxxx steps) - !SPxxxx(A,B,C,D)

@John-Holt-Tessella
Copy link
Contributor

The test one is now in the downstairs office.

@AdrianPotter
Copy link

Ideally would be tested by someone who is somewhat familiar with motors. @davidkeymer is away this week. @KathrynBaker, might you have time? If not, it will need testing by one of the other devs. @ThomasLohnert can't do it because of issues with his version of Visual Studio.

@KathrynBaker
Copy link
Member

missing entry in makefile for devLinMotMotor in the support module

@AdrianPotter
Copy link

Corrected

@KathrynBaker
Copy link
Member

Code tested and sufficient, created ticket #2219 to cover the need to actually commission the jaws themselves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants