GUPPy

Graphical User interface for Picomotors by Python
ver 0.1

Author: Satoru Takano
Last Update: 2019.07.14

GUPPy is a GUI to control Picomotors, with one or 2 drivers, via a serial port using a Ethernet Controller 8752. Only an open-loop driver 8753 is garanteed.

The original GUI is made by tritemio. I modified his code to make more suitable and convenient for us. The original sources are here.

If you find any problems, please let me know:
takano@granite.phys.s.u-tokyo.ac.jp

Overview

Requirements

  • Python 3.X
  • Jupyter notebook / Jupyter Lab
  • pySerial
  • ipywidgets

Installation

If your PC satisfy the requierements, nothing is needed to be installed. Just open GUPPy.ipynb with Jupyter notebook or Juoyter Lab.
Otherwise you have to install the package(s) your environment lacks. Here I don't want to describe the detail how to install the packages, I tell you just one way:

pip install [package name]

How to use

First of all, run all the cells. Then you can see the main GUI like this:

1. Connect the ethernet controller to your PC

Type a port name the controller is connected to in the 'Port' textbox and push 'Connect' button.
If the connection succeeds color of a box next to the textbox turns green. If not, color is red and the box reads 'Connection Failed'.
If you want to know status of the controller, push 'Check Status' button. Results are showed in 'Received' box.

2. Set Picomotor type

If you use standard picomotors, there is nothing you have to. If your picomotor are tiny type, push correponding button(s) and change the driver type.

3. Move Motors

Let's move picomotors. Click 'Move' tab.

Basics

  1. Select the driver and the channel connected to the picomotor you want to move. At first Driver1 is set. If you want to move Driver2 channels, click "Driver" button then selected driver is set to Driver2.

  2. Set the value how far you want to move the motor to fill in the "Delta" box. You can also set the value by clicking buttons at the right end.

  3. Push "Move!" button. Your motor is moving!

Advanced

You will notice that after moving the position of a silder changes. These sliders show how you have moved each motors.
Sometimes you may exchange motors and get back again. You may want to save the current positions before exchanging and restore them after getting back. In such a case 3 buttons below "Move!" buttons are useful.

  • "Clear" button: set the current positions to 0
  • "Save" button: record the current position on a buffer
  • "Load" button: restore the value in the buffer

Values for Driver1 and Driver2 are recorded respectively.

4. Send Command

In "Command" tab, you can send any command as you like. Just typing the 'Command' box and push 'Send!' button.