Skip to content
This repository was archived by the owner on Aug 12, 2023. It is now read-only.

ussaka/New-DMPS-software

Repository files navigation

New DMPS software

Image of old dmps system
Old DMPS system. New DMPS systems that I worked with are far more compact, all components are in one chassis. Check DMPS Photos folder for more pictures.
Source: https://wiki.helsinki.fi/display/SMEAR/DMPS-system+Instructions

GUI to control DMPS measurement device. The device has a simple operating principle. It decides what size of particles to let through. Then it uses a separate CPC device to count the particles. This is repeated to all particle sizes to get size distribution.

Summer intern project for the University of Helsinki. Copy of a GitLab repository. Note that this repository is out of date and will not include updates made others than myself.

Features

General

  • Program for DMPS, HalfMini and UFDMPS.
  • Basic working principle for all setups is similar. Parameters are different and for example HalfMini uses probably different kind of blower. UFDMPS has two DMAs and two CPCs.

  • ✔️ = Feature is done
  • ❌ = Feature is not yet implemented
  • ❔ = Not sure if the feature is needed or is implemented

Detectors

  • ✔️ TSI CPCs old legacy serial and pulse connection
  • ❌ TSI CPCs, new serial, pulse and TCP connections
  • ❌ TSI electrometer
  • ❌ Airmodus A20
  • ❌ Airmodus PSM+A20 (for HalfMini)
  • ❌ Airmodus new model (A30?)
  • ❌ Airmodus UFCPC model coming?
  • ❌ Analog electrometers
  • ❌ Also detector status should be saved (concentration and all other data)

DMA's

  • ❔ Vienna different lengths
  • ❔ HalfMini
  • ❔ TSI nano and long

Blowers

  • ✔️ Both analog control and pwm using TSI flow meter
  • ❌ HalfMini could use 2 x blower (same type as for DMPS) in future

TSI flow meter

  • ✔️ Flow, T and P
  • ✔️ 4000 series
  • ❌ 5000 series

Analog signals

  • ✔️ dP (flow), T, P, RH, HV monitor
  • ❔ Possibility to add more analog input channels

High Voltage

  • ✔️ Stepping voltage (DMPS)
  • ❌ Stepping voltage (SMPS)
  • ❌ Continous voltage scan (DMPS and SMPS)

PID control

  • ✔️ Sheath flow
  • ❌ Blower pid using microcontroller?
  • ❌ HV control
  • ✔️ Blower pid control is executed in separate thread, could be improved

Inversion

  • ❌ Python inversion by Anton as module or stand alone old Fortran code from PasiA
  • ❌ SMPS inversion? In a separate script but the actual measurement program could give a possibility to determine the delay time.

Parameters

  • ✔️ *.INI-file
  • ✔️ Program should give a possibility to create the *INI-file (graphical user interface). -> The ini file can be edited in the gui and ini file template is part of this repository. New ini file can not be created with the gui.
  • ✔️ Should have also a 'service mode' which allows to change the parameters from GUI. Service mode should show the scaled values.
  • ❌ Service mode should also show the raw values

Graphical user interface

  • ✔️ Tkinter
  • ✔️ Draw graphs of the data

DAQ by NI

  • ✔️ NI6211 & 6215

Instructions

Requirements

  • Python 3.x.x
  • Tested to work with Python version 3.9.7
  • NI-DAQmx (NI-DAQmx Runtime might be enough?)

Installation

  • Open any terminal program(cmd) and download the repository with git clone https://version.helsinki.fi/atm-tech/new-dmps-software.git you need credentials for that
    • Or just download the zip file from the main page
    • Install the repository to any safe location

  • Create virtual environment with python -m venv env inside new-dmps-software folder
    • Virtual environment enables you to have multiple different python and python module versions installed on the same PC. The Environment to run this program is now isolated virtual environment.
    • Usage of virtual environment is optional
  • Activate the env with env\Scripts\activate
    • Make sure you are in correct location so the given file path will work(Root folder which contains env folder)
    • PowerShell might give you trouble
    • If your terminal displays (env) [PATH] everything is working correctly

  • Navigate with cd inside new-dmps-software(root folder of the program)
  • Install required depencies with python -m pip install -r requirements.txt
    • Pip probably gives warning to upgrade to a new version. You can do that if you want
    • Installation is now complete

How to start the program

  • Navigate inside new-dmps-software folder with any terminal program(cmd)
  • Activate the virtual environment env\Scripts\activate
    • PowerShell might give you trouble
    • If you encounter problems ensure that your PATH is correct
  • Run the main file with python main.py

Bugs/Issues

  • Known small priority bugs are documented in Gitlab's Issues section
  • If you encounter a bug you can document it in the Issues section. It would be helpful if you attach debug.log from debug folder (and screenshot of terminal output) to the report

About

GUI to control DMPS measurement device

Topics

Resources

Stars

Watchers

Forks

Languages