From 9ebc17cc06e3becf9947bb12cc8614c316e01649 Mon Sep 17 00:00:00 2001 From: jbruce12000 Date: Tue, 8 Jun 2021 22:28:32 -0400 Subject: [PATCH] updating example config file --- config.py.EXAMPLE | 101 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 71 insertions(+), 30 deletions(-) diff --git a/config.py.EXAMPLE b/config.py.EXAMPLE index c21bf3a..36c706e 100644 --- a/config.py.EXAMPLE +++ b/config.py.EXAMPLE @@ -1,4 +1,5 @@ import logging +from lib.max31856 import MAX31856 ######################################################################## # @@ -13,7 +14,7 @@ listening_ip = "0.0.0.0" listening_port = 8081 ### Cost Estimate -kwh_rate = 0.18 # Rate in currency_type to calculate cost to run job +kwh_rate = 0.1319 # Rate in currency_type to calculate cost to run job currency_type = "$" # Currency Symbol to show when calculating cost to run job ######################################################################## @@ -27,45 +28,66 @@ currency_type = "$" # Currency Symbol to show when calculating cost to run j ### Outputs gpio_heat = 23 # Switches zero-cross solid-state-relay -heater_invert = 0 # switches the polarity of the heater control ### Thermocouple Adapter selection: # max31855 - bitbang SPI interface -# max31855spi - kernel SPI interface -# max6675 - bitbang SPI interface +# max31856 - bitbang SPI interface. must specify thermocouple_type. max31855 = 1 -max6675 = 0 -max31855spi = 0 # if you use this one, you MUST reassign the default GPIO pins +max31856 = 0 +# see lib/max31856.py for other thermocouple_type, only applies to max31856 +thermocouple_type = MAX31856.MAX31856_S_TYPE ### Thermocouple Connection (using bitbang interfaces) gpio_sensor_cs = 27 gpio_sensor_clock = 22 gpio_sensor_data = 17 +gpio_sensor_di = 10 # only used with max31856 -### Thermocouple SPI Connection (using adafrut drivers + kernel SPI interface) -spi_sensor_chip_id = 0 - -### duty cycle of the entire system in seconds. Every N seconds a decision -### is made about switching the relay[s] on & off and for how long. -### The thermocouple is read five times during this period and the highest -### value is used. +######################################################################## +# +# duty cycle of the entire system in seconds +# +# Every N seconds a decision is made about switching the relay[s] +# on & off and for how long. The thermocouple is read +# temperature_average_samples times during and the average value is used. sensor_time_wait = 2 ######################################################################## # # PID parameters +# +# These parameters control kiln temperature change. These settings work +# well with the simulated oven. You must tune them to work well with +# your specific kiln. Note that the integral pid_ki is +# inverted so that a smaller number means more integral action. -pid_kp = 25 # Proportional -pid_ki = 1088 # Integration -pid_kd = 217 # Derivative was 217 +# from experimentation +#pid_kp = 10 # Proportional +#pid_ki = 50 # Integral +#pid_kd = 100 # Derivative +# from ZN tuning +pid_kp = 3.0662264423638184 +pid_ki = 61.295706065671204 +pid_kd = 144.07164331295013 + +######################################################################## +# +# Initial heating and Integral Windup +# +# During initial heating, if the temperature is constantly under the +# setpoint,large amounts of Integral can accumulate. This accumulation +# causes the kiln to run above the setpoint for potentially a long +# period of time. These settings allow integral accumulation only when +# the temperature is close to the setpoint. This applies only to the integral. +stop_integral_windup = True ######################################################################## # # Simulation parameters - -sim_t_env = 25.0 # deg C +simulate = False +sim_t_env = 60.0 # deg C sim_c_heat = 100.0 # J/K heat capacity of heat element sim_c_oven = 5000.0 # J/K heat capacity of oven sim_p_heat = 5450.0 # W heating power of oven @@ -78,27 +100,46 @@ sim_R_ho_air = 0.05 # K/W " with internal air circulation ######################################################################## # # Time and Temperature parameters +# +# If you change the temp_scale, all settings in this file are assumed to +# be in that scale. -temp_scale = "f" # c = Celsius | f = Fahrenheit - Unit to display +temp_scale = "f" # c = Celsius | f = Fahrenheit - Unit to display time_scale_slope = "h" # s = Seconds | m = Minutes | h = Hours - Slope displayed in temp_scale per time_scale_slope time_scale_profile = "m" # s = Seconds | m = Minutes | h = Hours - Enter and view target time in time_scale_profile -# emergency shutoff the kiln if this temp is reached. -# when solid state relays fail, they usually fail closed. this means your -# kiln receives full power until your house burns down. +# emergency shutoff the profile if this temp is reached or exceeded. +# This just shuts off the profile. If your SSR is working, your kiln will +# naturally cool off. If your SSR has failed/shorted/closed circuit, this +# means your kiln receives full power until your house burns down. # this should not replace you watching your kiln or use of a kiln-sitter -emergency_shutoff_temp = 2250 +emergency_shutoff_temp = 2264 #cone 7 -# not used yet -# if measured value is N degrees below set point -warning_temp_low = 5 - -# not used yet -# if measured value is N degrees above set point -warning_temp_high = 5 +# If the kiln cannot heat or cool fast enough and is off by more than +# kiln_must_catch_up_max_error the entire schedule is shifted until +# the desired temperature is reached. If your kiln cannot attain the +# wanted temperature, the schedule will run forever. This is often used +# for heating as fast as possible in a section of a kiln schedule/profile. +kiln_must_catch_up = True +kiln_must_catch_up_max_error = 10 #degrees # thermocouple offset # If you put your thermocouple in ice water and it reads 36F, you can # set set this offset to -4 to compensate. This probably means you have a # cheap thermocouple. Invest in a better thermocouple. thermocouple_offset=0 + +# some kilns/thermocouples start erroneously reporting "short" +# errors at higher temperatures due to plasma forming in the kiln. +# Set this to False to ignore these errors and assume the temperature +# reading was correct anyway +honour_theromocouple_short_errors = False + +# number of samples of temperature to average. +# If you suffer from the high temperature kiln issue and have set +# honour_theromocouple_short_errors to False, +# you will likely need to increase this (eg I use 40) +temperature_average_samples = 40 + +# Thermocouple AC frequency filtering - set to True if in a 50Hz locale, else leave at False for 60Hz locale +ac_freq_50hz = False