Skip to content

Canacompost-Systems-Inc/spectro

Repository files navigation

Spectrometry-related code

Note that Esben Rossel is not a programmer and some things may therefore not make much sense. However, don't fix what ain't broken. His stuff seems to work well enough, so let's do the least possible to get the spectro in working order.

On my MacOS (Leo), the STM32 is at /dev/cu.usbmodem14203. That may not be the same for everyone.

otterly-cli-macos

CLI tool to communicate with STM31F401

pyCCDGUI

GUI tool created by Esben Rossel. If the GUI is not working correctly on MacOS, you need to upgrade tkinter as it is hopelessly out of date on this OS.

jfsOtterVis

Upgrade on Esben Rossel's GUI software. Use this one.


Laser

We have a Coherent Obis LX 660nm. The laser head we have has about 4000h. We do not have the controller that can be seen in the product link. However, the laser can be controlled by the Coherent Connection Software on Windows (download link).

Power Supply: The laser has an on-board power supply and only requires 12V at a minimum of 2A.

Owner's Manual: can be found on the resource page of the product page.

Safety Glasses: we have OD4+ glasses from Thorlabs for 660nm.

Unix comms

It's great that we can control the laser from the Coherent Connection Software on windows, but we must control it from a linux-based machine. We could control it from an RPI running Windows, but that would be extra HW for only one component. The binary cannot be run on Unix with wine as it is 32 bit and the Jetson Nano is 64 bit. The wine emulator does not currently support 32 bit on 64 bit machines. However, there are other ways. A quick Google search points to a bunch of Github projects, most of them old and broken, that can be used to control this specific laser.

The microscope pip package

pip install microscope
>>>  from microscope.lights.obis import ObisLaser

# Find where the laser is at, do "ls /dev/* > conns.txt" with 
# and without the laser connected and run a diff on the two resulting files.
>>>  laser = ObisLaser('/dev/tty.usbmodem14101') 
>>>  laser.get_is_on()
True

# I've discovered an issue where the ObisLaser turns off direct control,
# but the laser doesn't work. By turning it back on, 
# I discovered the laser works again. So, turn it back into direct control!
>>> laser._write(b"SOURce:AM:INTernal CWP")
>>> laser.enable()
# Laser should light up!
>>> laser.disable()
# Laser should light down!

# Set the laser at a % of power
>>> laser.power = 0.5

# Set power to 20mw 
>>> laser._set_power_mw(20)

The manual can be found here on Github. The definition of the LightSource class can be found here.

Find all the commands available on this Github page or here on their official site.

WARNING: If after playing around with microscope package, you plug it in into a Windows machine and can see the laser in the Coherent Connection Software but seem unable to turn it on/off, it is likely because you did not properly put it back in direct control. Go to the Commands tab in the UI and enter the command SOURce:AM:INTernal CWP to do so now.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages