The environment chamber is composed of Six modules:
- Oven - controlled via the Campbell controller.
- Camera TAU2 - connected to the PC via USB.
- Black Body - connected to the PC via Ethernet cable (The PC has two networking cards, thus allowing both the BB and the ARO network to work simultaneously)
- Focus Stage - a Nanomotion inc. stage, connected to a re-worked lens, that can change the focus of the camera.
- Scanning Mirror - Arduino connected to a mirror via a stepper motor, to allow for wider photography angles.
- PC - connected to all of the above and running on Linux, and controlling all devices via a GUI written with python 3.8.
Do not change the state of the air-conditioning in the room during the entire run. Preferably - do not use it.
The server is run using python 3.8 with requirements detailed in requirements.txt.
- Focus the Camera on the surface of the BlackBody. This is done by holding a metal slide outside the BlackBody ( to avoid scratches), on the approximate position of the hot surface. The focus can be done on the edge of the metal slide.
- Install Python with pip support, preferably using Anaconda package manager.
- Create a virtual environment and install the requirements file using
python -m pip install -r requirements.txt
- Follow the next steps:
- Open the terminal (
Ctrl+D
) - Write
sudo su
and enter the computer's root password. - Write:
echo "SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"0403\", ATTRS{idProduct}==\"6010\", MODE=\"0666\"">/etc/udev/rules.d/99-taucamera.rules
- Write:
sudo usermod -a -G dialout $USER
- Write:
echo "SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"067B\", ATTRS{idProduct}==\"2303\", MODE=\"0666\"">/etc/udev/rules.d/99-nanomotionstage.rules
- Write:
echo "SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"1772\", ATTRS{idProduct}==\"0002\", MODE=\"0666\"">/etc/udev/rules.d/99-thermapp.rules
- If 1-5 doesn't work, check which USB the device is connected to via
lsusb
and write in terminal:sudo chmod 666 #
Where # is the correct device address. - Reboot
- Open the terminal (
- Install TkInter
sudo apt-get install python3-tk
- The IP of the BlackBody can be found on the controller of the BB in "Menu"->"About". It is connected via ethernet to
the secondary network card on the PC. In order to use the BlackBody, both it and the PC should be on the same
network domain, meaning that PC address should look like
[BlackBody].[BlackBody].[BlackBody].[DIFFERENT THAN THE BLACKBODY]
The same digits for the first three blocks in the IP, and the last block different than the BlackBody. Currently, the Blackbody address is10.26.91.56
, so set the IP of the PC to10.26.91.55
. - The oven is controlled via Loggernet, a proprietary software by Campbell scientific. Install VirtualBox, ** VirtualBox Extension Pack** and load the image win10_loggernet. These are all found in the Devices->Campbell-> VirtualBoxInstallation
- Enter in the terminal
sudo usermod -a -G vboxusers $USER
- Enter in the terminal
sudo usermod -a -G dialout $USER
(if you had not done so already) - Reboot.
- Make sure the oven is connected to the electricity, the Campbell controller is ON and the USB2Serial is connected to the PC.
- Make sure the ON switch on the front of the oven is ON, and the red light shines.
- After starting the WIN10 VM, make sure there is a 'V' next to the USB2SERIAL name in the options of the VM.
- Inside the WIN10 VM, check the COM port of the USB2SERIAL.
- On the Loggernet->Setup make sure the COM port is the same as on the device manager.
- Important notice - when the USB2SERIAL 'V' in the VM options is activated, the oven CANNOT be accessed from Python.
Each device in the GUI window has a radiobox with "Real", "Dummy" and "Off" labels.
- To use a dummy move the radiobox to "Dummy".
- To prevent the use of the device, move the radiobox to "Off".
- Connect the Blackbody to the secondary network card. Make sure all IP configs are on-par with step (4) in the setup. Turn it on.
- Connect the Camera Tau2 336 to the USB socket.
- Run
main.py
. - Set which type of devices to use - either 'dummy', 'off' or 'real' if connected.
- Set the experiment save directory with "Browse".
- Parameters for un-detected of 'off' devices will be grayed-out.
- The livefeed from the camera can be seen in "Viewer".
- Previously taken images can be watched in "Upload".
- To set a temperature for the oven:
- Start the Win10 VM, and LoggerNet.
- Turn on the controller and the oven itself.
- Connect the controller to the PC via the USB2SERIAL cable.
- Make sure there is a 'V' on the VM options for the USB2SERIAL.
- In the "Connect" screen of LoggerNet, press "connect".
- Set the setPoint in the NumDisplay to the desired temperature.
- Notice that the switch on the front of the oven must be ON to enable the heating.
- Wait for the settling of the temperatures.
- Set the number of minimal minutes to wait between consecutive experiments in the top-left corner.
- Press "Start".
- A progress bar is updated throughout the experiment.
The FPA and Housing temperatures are acquired from the internal camera sensors.
YYYYMMDD_hHHmMMsSS_<device name>_<device value>_..._fpa_<FPA temperature>_housing_<Housing temperature>_<number of image>of<total number of images for this combination>.npy
mask.npy