This project is designed to measure and analyze the polarization state of a coherant light source entering the system (i.e a laser). Using a combination of hardware control, and data acquisition components, this system allows for calibration and real-time measurements of Polarization.
-
Automated Calibration: The system can automatically calibrate both the polarizer and quarter wave plate and save their calibration data for future use
-
Polarization Measurement: Built in algorithms extract parameters from raw data used to compute and visualize the polarization state of incoming light
-
User-Friendly Interface: This project is accompanied with a simple GUI that allows for easy control of the system include initialization, calibration, data collection, and visualization
-
Visualization: The interface provides a plotting feature to visualize the polarization state over time, allowing for multiple plots at once combined with a greyscale feature to denote newer data
This project is ideal for researchers and engineers working in optical expirementation requiring a solution for a polarimeter measurement and calibration of lasers
Thorlabs
- 1x L202 Laser 635nm
- 1x PDA36A2 PhotoDiode
- 2x Ell14K Mount Bundle
- 1x WP25M-VIS Wire Grid Polarizer 420-700nm
- 1x AQWP05M-600 Quarter-Wave Plate 400-800nm
- Mounting Components
Red Pitaya
- 125-10 FGPA
Miscallaneous
- 3x USB to MicroUSB Data Cables
- 3x Ethernet Cables
- 1x Ethernet Switch
- 1x Polarizing Beam Splitter Cube (for calibration)
- COAX BNC Cable
- BNC Adapter
One can manually install dependencies using pip or using conda. To use conda, cd into the repo directory and run "conda env create -f qt3uw-polarimeter.yml". This will create a virtual environment with the name "qt3uw-polarimeter". To work in this environment open the conda command line and run conda activate qt3uw-polarimeter.
Driver.py ---- > def main() ---- > number_of_increments
Changing this value changes the number of steps that power is measured as the quarter wave plate is rotated. There is a tradeoff between speed and accuracy. Depending on your needs, this can and should be changed. The most that I used with great accuracy was 120. Minimum for the algorithms to function, but not reccommended, is 8 steps.
For the first step of calibration, ensure that you only have the polarizer + your calibrating polarizer element, we used a beam slitter cube. The purpose of this calibration is to align the mounted optics axis horizontally. For the second step, reintroduce the quarter wave plate in between the calibration element and the mounted polarizer. After going through these steps in the GUI it your optics will be properly calibrated and the data should be saved for future use.
Ensure there is a wired ethernet connection between your computer, RP board, and an internet connection. Both rotator mounts + laser should be connected via USB to your computer as well.
The FPGA board needs to have its Scpi server activated to work with its API. Once physical connection has been established, visit rp-f071c2.local (rp-last six digits of mac address) and manually activate tbe SCPI server.
After, run the PolarimeterApp.py file from within the repo folder and use the system with the user interface that will open.