Skip to main content

Various 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.1 2021-02-01 v0.1.1.zip pypi.org published
v0.1.0 2020-03-09 v0.1.0.zip initial draft

Supported climate chambers

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] used chamber SIM, ESPEC_SH641
[--itfCfgFile=] chambers interface configuration default

Example

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.

run ./ATWG/ATWG.py --sine --chamber=SIM --minTemp=10 --maxTemp=60 --startTemp=30 --period=1h

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.57 °C/m


Press 'CTRL + C' for exit

Chamber driver only

Espec SH641

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

import ATWG.driver.espec.sh_641_drv as sh_641_drv # 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.

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.1.tar.gz (14.3 kB view hashes)

Uploaded Source

Built Distribution

ATWG-0.1.1-py3-none-any.whl (28.7 kB view hashes)

Uploaded Python 3

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