forked from M-Labs/thermostat
Compare commits
5 Commits
ee094241bb
...
36d80ebdff
Author | SHA1 | Date | |
---|---|---|---|
36d80ebdff | |||
09300b5d44 | |||
9743dca775 | |||
11131deda2 | |||
764774fbce |
16
README.md
16
README.md
@ -239,6 +239,22 @@ of channel 0 to the PID algorithm:
|
||||
output 0 pid
|
||||
```
|
||||
|
||||
### PID output clamping
|
||||
|
||||
It is possible to clamp the PID algorithm output independently of channel output limits. This is desirable when e.g. there is a need to keep the current value above a certain threshold in closed-loop mode.
|
||||
|
||||
Note that the actual output will still ultimately be limited by the `max_i_pos` and `max_i_neg` values.
|
||||
|
||||
Set PID maximum output of channel 0 to 1.5 A.
|
||||
```
|
||||
pid 0 output_max 1.5
|
||||
```
|
||||
|
||||
Set PID minimum output of channel 0 to 0.1 A.
|
||||
```
|
||||
pid 0 output_min 0.1
|
||||
```
|
||||
|
||||
## LED indicators
|
||||
|
||||
| Name | Color | Meaning |
|
||||
|
@ -13,7 +13,7 @@ When tuning Thermostat PID parameters, it is helpful to view the temperature, PI
|
||||
To use the Python real-time plotting utility, run
|
||||
|
||||
```shell
|
||||
python pythermostat/plot.py
|
||||
python pythermostat/pythermostat/plot.py
|
||||
```
|
||||
|
||||
![default view](./assets/default%20view.png)
|
||||
@ -49,7 +49,7 @@ A PID auto tuning utility is provided in the PyThermostat library. The auto tuni
|
||||
To run the auto tuning utility, run
|
||||
|
||||
```shell
|
||||
python pythermostat/autotune.py
|
||||
python pythermostat/pythermostat/autotune.py
|
||||
```
|
||||
|
||||
After some time, the auto tuning utility will output the auto tuning results, below is a sample output
|
||||
|
@ -1,5 +1,6 @@
|
||||
import math
|
||||
import logging
|
||||
import time
|
||||
from collections import deque, namedtuple
|
||||
from enum import Enum
|
||||
|
||||
@ -236,13 +237,14 @@ def main():
|
||||
|
||||
tec = Client()
|
||||
|
||||
data = next(tec.report_mode())
|
||||
data = tec.get_report()
|
||||
ch = data[channel]
|
||||
|
||||
tuner = PIDAutotune(target_temperature, output_step,
|
||||
lookback, noiseband, ch['interval'])
|
||||
|
||||
for data in tec.report_mode():
|
||||
while True:
|
||||
data = tec.get_report()
|
||||
|
||||
ch = data[channel]
|
||||
|
||||
@ -255,6 +257,8 @@ def main():
|
||||
|
||||
tec.set_param("output", channel, "i_set", tuner_out)
|
||||
|
||||
time.sleep(0.05)
|
||||
|
||||
tec.set_param("output", channel, "i_set", 0)
|
||||
|
||||
|
@ -11,12 +11,11 @@ setup(
|
||||
packages=find_packages(),
|
||||
entry_points={
|
||||
"gui_scripts": [
|
||||
"thermostat_plot = plot:main",
|
||||
"thermostat_plot = pythermostat.plot:main",
|
||||
],
|
||||
"console_scripts": [
|
||||
"thermostat_autotune = autotune:main",
|
||||
"thermostat_test = test:main",
|
||||
"thermostat_autotune = pythermostat.autotune:main",
|
||||
"thermostat_test = pythermostat.test:main",
|
||||
]
|
||||
},
|
||||
py_modules=["autotune", "plot", "test"],
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user