Skip to main content

Arbitrary Temperature Waveform Generator for Climate Chambers

Project description

Python 3.7 Unittest

ATWG

Arbitrary Temperature Waveform Generator

A various waveform shapes creating python script to control a climate chamber via PC.

Releases

Version Date Source Change log
latest latest.zip
v0.1.5 2021-07-05 v0.1.5.zip revised CLI interface and defaults
v0.1.4 2021-01-17 v0.1.4.zip added missing files to python package
v0.1.3 2021-01-17 v0.1.3.zip atwg-cli is registered as command
v0.1.1 2021-01-02 v0.1.1.zip pypi.org published
v0.1.0 2020-03-09 v0.1.0.zip initial draft

Supported climate chambers

Install

pip

  • Install : python3.7 -m pip install ATWG
  • Update : python3.7 -m pip install --upgrade ATWG

Github

git clone https://github.com/akaeba/ATWG.git

Command line interface

Options

Option Description Args
--sine select sine as used waveform
--trapezoid select trapezoid as used waveform
--minTemp=myVal sets minimal temperature value
--maxTemp=myVal sets maximal temperature value
[--invert] start with lower part of wave
[--period=1h] period of waveform d:hh:mm:ss, h, m, s
[--startTemp=25] waves start temperature start temperature of wave
[--riseTime=0] positive slew rate, used by '--trapezoid' degree/time, T(min->max); 5C/h, 120min
[--fallTime=0] negative slew rate, used by '--trapezoid' degree/time, T(max->min); 5C/h, 120min
[--chamber=SIM] chamber type SIM, ESPEC_SH641
[--port=] chamber interfacing port SH641 default:
WinNT: COM1
Linux: /dev/ttyUSB0

Run

Call

Platform Command
Windows python3 ./atwg-cli [ARGS]
Linux atwg-cli [ARGS]
Anaconda run ./atwg-cli [ARGS]

[ARGS]: --sine --chamber=SIM --minTemp=10 --maxTemp=60 --startTemp=30 --period=1h

This example starts the waveform generator in the simulation mode. The sine wave has a minimal value of 10°C, a maximum of 60°C and s start value of 30°C. A full period needs one hour.

Output

Following output is written to the command line interface while the script is active:

Arbitrary Temperature Waveform Generator

  Chamber
    State    : Run /
    Type     : SIM
    Tmeas    : +30.02 °C
    Tset     : +30.06 °C

  Waveform
    Shape    : sine
    Tmin     : +10.00 °C
    Tmax     : +60.00 °C
    Period   : 1h
    Gradient : +2.566 °C/m


Press 'CTRL + C' for exit

Permission denied error on Linux

In Linux has only the root and dialout group proper rights to open /dev/ttyUSB* devices. Adding the current user to the dialout group allows ATWG to run without root permissions.

sudo usermod -a -G dialout $USER    # add login user to dialout group
sudo reboot                         # apply settings

Chamber driver

How-to add

The architecture of the ATWG allows the fast integration of a new chamber driver. Therefore is only the import in the ATWG open procedure necessary. As starting point of a new driver can the class simChamber serve. There are all ATWG mandatory procedures as simulation example implemented.

Espec SH641

sh641.py realizes the interface to the climate chamber. Following instruction listing controls the chamber:

from ATWG.driver.espec.sh641 import especShSu     # import driver

myChamber = especShSu()                           # call class constructor
myChamber.open()                                  # open with interface defaults
print(myChamber.get_clima())                      # get current clima
myChamber.start()                                 # start chamber
myChamber.set_clima(clima={'temperature': 25})    # set temperature value
myChamber.stop()                                  # stop chamber
myChamber.close()                                 # close handle

The open procedure accepts as argument a .yml file with the chamber (RS232) configuration. In case of no argument defaults are used.

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ATWG-0.1.5.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

ATWG-0.1.5-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file ATWG-0.1.5.tar.gz.

File metadata

  • Download URL: ATWG-0.1.5.tar.gz
  • Upload date:
  • Size: 33.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for ATWG-0.1.5.tar.gz
Algorithm Hash digest
SHA256 a4723434746fc15be754407c80956af4978134b6dceec80a93b05a3cf1f6c131
MD5 803d6d94c76b1e73fd6b946a2648fb56
BLAKE2b-256 1d9760fc806927e507b55e510d1eb9e62dbf187ec18d9eabe9f28357f336ee90

See more details on using hashes here.

File details

Details for the file ATWG-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: ATWG-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 34.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.6

File hashes

Hashes for ATWG-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d1553246cc25ce3b37b08c0fda37d458c6eed5eeaaec8034e3006c7c10ca0b4b
MD5 2b96b2e3289b46c7963464ca201ee1b7
BLAKE2b-256 d905a1b24202c9788057d4affe4c0a6325cb2367241b3d207bc7b777f761bba9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page