Skip to main content

This package provides everything to run a PID Controller with.

Reason this release was yanked:

updating settings is broken

Project description

NOMAD-CAMELS Driver for PID

This package provides everything to run a PID Controller written for the measurement software NOMAD-CAMELS.
This PID is implemented as a pure software PID and can take any channel as input and any channel as output.

How to use

Use the input channel to control the PID values. After calculating the output, it will be written to the output channel.

The bias channel is for example useful in systems that consist of heating and cooling for temperature control. This channel is set to certain fixed values depending on the setpoint (see below).

The conversion functions for reading / setting work as follows:
The value from the input channel is the input for the conversion function for reading. Two default functions come with this package: Pt1000 and Pt100, referring to the temperature sensitive resistors with the same name. These functions calculate the temperature from a measured resistance, i.e. when your input channel is a resistance, you may use one of these functions to make your PID control a temperature.

The time delta is the time between to PID steps (i.e. reading, calculating, setting the new output value).

The PID values are set with the table:\

  • setpoint: When your desired setpoint is above this value, that line of the table will be used for the PID values.
  • kp, ki, kd: These are the typical three values for the proportional, integral and derivative part of the PID.
  • max_value, min_value: These values limit the output range.
  • bias: This value is put to the bias channel if that channel is provided.
  • stability-delta, stability-time: When the value is in the range of stability-delta around the setpoint for stability-time seconds, the PID will set its channel pid_stable to True. This is also used in the PID wait for stable step.

When interpolate PID values is used, all values inside the table are interpolated column-wise between two setpoints.
Example: When you provide kp=1 for the setpoint 0.0 and kp=2 for the setpoint 10.0, using a setpoint of 5.0 in the PID will set kp to 1.5.

The instruments comes with a custom step used in protocols: "PID wait for stable". This step provides a convenience function to wait until the stability criteria of the PID are fulfilled.

Ramping

When turning on the ramping function, the PID will use the values ramp_to and ramp_speed to change the setpoint with each PID step according to the ramp_speed until the setpoint reaches the value of ramp_to.

The ramp will start at the setpoint that is set when the ramping starts. When stopped before reaching the desired value, it will stay at the current setpoint.

Documentation

For more information and documentation visit this page.

Changelog

0.3.0

Added functionality to ramp the PID setpoint.

0.2.3

Improvements:

  • Made description in Readme clearer
  • UI for custom conversion functions cleaner

0.2.2

Improvements:

  • Now allowing for custom conversion functions and from user-defined python files
  • Added descriptions for PID-channels and configs

Fixes:

  • When startup of manual control breaks, no additional error is raised on closing anymore

0.2.1

Fixes:

  • settings got broken in last update, now fixed
  • progress bar of waiting step now works

0.2.0

Changes:

  • many previous settings are now configs, allowing for better access to the PID while running

Fixes:

  • NaN values are now handled by turning off the PID for the moment, instead of crashing

0.1.10

Fixes:

  • Output and single pid values should now be correctly recorded as float

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

nomad_camels_driver_pid-0.3.0.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nomad_camels_driver_pid-0.3.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file nomad_camels_driver_pid-0.3.0.tar.gz.

File metadata

  • Download URL: nomad_camels_driver_pid-0.3.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for nomad_camels_driver_pid-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e116180df1cf9fef1ed6785db9fa3baaeea128b27c8f7b0d52d3ff4123a58589
MD5 bc2282d28a1edc159f3696003e480c96
BLAKE2b-256 1a4d17d5bd032a038838c9e02d2b1c208b9c21298f4632549070a7731fd3001f

See more details on using hashes here.

File details

Details for the file nomad_camels_driver_pid-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nomad_camels_driver_pid-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6741f6d425d06bb12c970fb96506cc3090ef135313091057e8382d36933849d0
MD5 8adb8877ecec5a0cbc66182c7a00d06e
BLAKE2b-256 51b749c6b4f3cc42ee384fe4aeb6f5ad99104cf71d0b0442526b3a4330716c71

See more details on using hashes here.

Supported by

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