Skip to content

This provides a small python API for single axis linear stages with limit switches controlled by the SMCI33-1 stepper driver.

License

Notifications You must be signed in to change notification settings

rk-exxec/linear_stage_control

Repository files navigation

Linear Stage Control

A python class to control a single axis translation table with two limit switches via the SMCI33-1 controller
Tested with the movetec L60 and L65 linear stages.

Documentation Status

Installation

  1. clone or download this repository
  2. install python >3.8, make sure it is added to your PATH variable
  3. install packages pip install -r requirements.txt

GUI Usage

grafik

Connect controller via USB.
Execute program via command line python __main__.py

Controls

  • Jog Up / Down moves the motor in the specified direction while the buttons are held
  • STOP will stop the motor immediately
  • Slider/TextBox: You can also specify a location to travel to via the slider or the text box. You can choose between mm and steps as as unit. To start travel, press GO.
  • Soft Ramp: checkbox causes the motor to accelerate more softly, reducing jerking movements to protect sensitive equipment
  • Reference: this button will start the referencing sequence to enable the afore mentioned location travel ability.
  • The Lamp will indicate the status:
    • Red: serial connection failed / ERROR
    • Yellow: not referenced
    • Green: all ok

Referencing

To move to absolute coordinates, the motor must be referenced.
For that, press the Reference button.

The motor will start moving immediately!

The motor moves until it hits the limit switch! Make sure nothing is in the way!

If the motor does not stop at the limit switch, press STOP!
Check your connections or make sure the voltage level of your switches is 5-24V!

Troubleshooting

The Serial Port of the controller should be detected automatically, but this will only work reliably if no other Nanotec controller is plugged in!
If it doesnt work, open ls_gui.py and alter this line:
self.ls_ctl = LinearStageControl()
to
self.ls_ctl = LinearStageControl(portname="COM4")
replace "COM4" with the portname of your device, this supports linux ports.
Then restart the program.

API Documentation

https://linear-stage-control.readthedocs.io

About

This provides a small python API for single axis linear stages with limit switches controlled by the SMCI33-1 stepper driver.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages