Skip to content

aandreev0/ardUmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Authorship: Andrey Andreev, Thai V.Truong, Scott E. Fraser aandreev@usc.edu

Translational Imagign Center @ Univeristy of Southern California

ardUmanager

custom code for arduino-uManager integration

Scope: 2P laser intensity control via Pockels cell voltage signal

#Documentation (taken from SEF basecamp project)

Test conditions:

  • uManager versions: 1.14
  • Arduino Uno (US version)
  • Hamamatsu camera Orca

##Intro Arduino+uManager provides robust and cheap way to control analog outputs of the Arduino card. We use this capability to control Pockels cell that modulates 2P laser beam intensity at the sample (Pockels cell rotates polarization, we put polarizer at Pockels cell output)

Latest release-quality code can be pulled from public GitHub repo branch called "release" at https://github.com/aandreev0/ardUmanager/tree/release Development branch is "master" which contains either untested or otherwise under-supported version of code.

##How to request help Figures and most recent docs can be found on GitHub in documentation/ folder You can create Issue request on Github if something doesn't work, or checkout code, make change and file merge request

##How to prepare Arduino We use Arduino Uno with custom-build shield, which hosts Digital-to-Analog Converter (DAC) chip. Parts:

See Figure 1 for schematics/soldering.

Code for Arduino is based on code from uManager page https://micro-manager.org/wiki/Arduino#Arduino_Software https://valelab.ucsf.edu/svn/micromanager2/trunk/DeviceAdapters/Arduino/AOTFcontroller/AOTFcontroller.ino

Download code from this repo, using branch "release". You can download all repo as ZIP file using link: https://github.com/aandreev0/ardUmanager/archive/release.zip

To burn firmware to Arduino, one should install Arduino software/IDE (https://www.arduino.cc/en/Main/Software), open file from repo called umanager-firmwave.ino This file has to sit in synonymous folder (umanager-firmwave/umanager-firmwave.ino) Connect board, select proper board from menus Tools->Board and Tool->Port, and upload software to the board

How to install Arduino board to work with uManager

Figure 2

  1. Connect card via build-in or through USB hub
  2. Add card using Hardware Configuration Wizard
  3. Find Arduino Hub, add device
  4. Click on "Scan" Let uManager find proper COM port (/dev/ttyxxx on *nix) to connect to Arduino
  5. Add all peripherals for Arduino-Hub
  6. Proceed with other devices, save config

How to prepare and connect Hamamatsu camera

Pick Trigger output from camera In uManager device properties you should have following setting: (Figure 4) * HamamatsuHam_DCAM-OUTPUT TRIGGER KIND [0] ==> EXPOSURE * HamamatsuHam_DCAM-OUTPUT TRIGGER POLARITY [0] ==> POSITIVE

Number [0] is id of the trigger channel. Our camera has 3 trigger outputs, numbered 0...2 You only will use one of those for this Arduino.

How to connect Camera, Pockels cell, and Arduino using BNC cables

See Figure 5 for schematics

  1. Camera Trigger connects to Input marked "D2"
  2. Pockels cell Input connects to Arduino's output marked "DAC"

How to setup proper Groups/Presets to control Arduino from uManager

See Figures 3

  1. Click on "+" button near "group" in Configuration setting sub-window
  2. Check box that contains "Arduino-DAC1-voltage", add name to group (like "Pockels level")
  3. Set desirable level of 2P intensity from 0..5V range Be careful that 100% of 2P power will be produced by just 1V setting.

One can also (additional to continuous settings) add several discreet levels for Pockels cell voltage using uManager "Presents"

About

custom code for arduino-uManager integration

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Other 100.0%