Closed JoeyG1973 closed 2 years ago
So a follow up... I think I know what the issue is and it has nothing to do with PID.
The catchup, builds too much momentum and when the pid kicks in at 190 in this case it shuts the heat off completely but it is too late because the buildup blasts straight past 210 well into 230.... just going from 200 to 250 it does the same thing.
I tried to change the pid_control_window to 20 but even then it blasted right past that. I think what I need here in the code is a way to, based on current temp and error, dynamically change how "hard" the catchup is hitting. So that at lower temps with a smaller error it doesn't push as "hard" but at higher temps based on error, it pushes "harder".
I know how to code, I write stuff in python all day. It's the math that I am terrible at.
You need to change the startup system. Until the PID makes sense it would be best if the power level was low enough so the rate of heating matched your required rate. Once the kiln temp reached about 500 degrees the PID will keep a very close match to your setting curve. In my kiln I have two control systems. One is the pi , the other a manual setting of power level. From prior use I know that 8% duty cycle will give me the rate of rise I need. When the kiln reaches 500 I switch over and tracking it within a degree using the PID and pi. If I use just the pi I get a big overshoot at the start regardless of the PID because the pi program ignores the error and puts the kiln on full power until the temp difference is under 10 degrees. This is I believe a settable number in the config file. Ronald.
On Wed, Jun 15, 2022, 9:12 PM JoeyG1973 @.***> wrote:
So a follow up... I think I know what the issue is and it has nothing to do with PID.
The catchup, builds too much momentum and when the pid kicks in at 190 in this case it shuts the heat off completely but it is too late because the buildup blasts straight past 210 well into 230.... just going from 200 to 250 it does the same thing.
I tried to change the pid_control_window to 20 but even then it blasted right past that. I think what I need here in the code is a way to, based on current temp and error, dynamically change how "hard" the catchup is hitting. So that at lower temps with a smaller error it doesn't push as "hard" but at higher temps based on error, it pushes "harder".
I know how to code, I write stuff in python all day. It's the math that I am terrible at.
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1157211203, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G2I76H4BMGLOKAUC6TVPKSURANCNFSM5Y5HZOYQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>
This is I believe a settable number in the config file.
I am not finding anything in the config.py that says something like "below this temp use this duty cycle" in the comments.
I also thing 500 may be too low... I remember watching kiln-tuner.py rip right up to 400 and then overshoot by almost 40 degrees.
Here is my current config.py
import logging
# uncomment this if using MAX-31856
#from lib.max31856 import MAX31856
########################################################################
#
# General options
### Logging
log_level = logging.INFO
log_format = '%(asctime)s %(levelname)s %(name)s: %(message)s'
### Server
listening_ip = "0.0.0.0"
listening_port = 8081
### Cost Estimate
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
########################################################################
#
# GPIO Setup (BCM SoC Numbering Schema)
#
# Check the RasPi docs to see where these GPIOs are
# connected on the P1 header for your board type/rev.
# These were tested on a Pi B Rev2 but of course you
# can use whichever GPIO you prefer/have available.
### Outputs
gpio_heat = 23 # Switches zero-cross solid-state-relay
### Thermocouple Adapter selection:
# max31855 - bitbang SPI interface
# max31856 - bitbang SPI interface. must specify thermocouple_type.
max31855 = 1
max31856 = 0
# see lib/max31856.py for other thermocouple_type, only applies to max31856
# uncomment this if using MAX-31856
#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
########################################################################
#
# 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 25,200,200
#pid_ki = 20 # Integral
#pid_kd = 200 # Derivative
pid_kp = 3.536848634417805
pid_ki = 52.76122878534157
#pid_ki = 104
pid_kd = 165.00148689669365
#pid_kd = 330
########################################################################
#
# Initial heating and Integral Windup
#
# this setting is deprecated and is no longer used. this happens by
# default and is the expected behavior.
stop_integral_windup = True
########################################################################
#
# Simulation parameters
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
sim_R_o_nocool = 0.1 # K/W thermal resistance oven -> environment
sim_R_o_cool = 0.05 # K/W " with cooling
sim_R_ho_noair = 0.1 # K/W thermal resistance heat element -> oven
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
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 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 = 2264 #cone 7
# If the current temperature is outside the pid control window,
# delay the schedule until it does back inside. This allows for heating
# and cooling as fast as possible and not continuing until temp is reached.
kiln_must_catch_up = True
# This setting is required.
# This setting defines the window within which PID control occurs.
# Outside this window (N degrees below or above the current target)
# the elements are either 100% on because the kiln is too cold
# or 100% off because the kiln is too hot. No integral builds up
# outside the window. The bigger you make the window, the more
# integral you will accumulate.
pid_control_window = 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
# There are all kinds of emergencies that can happen including:
# - temperature is too high (emergency_shutoff_temp exceeded)
# - lost connection to thermocouple
# - unknown error with thermocouple
# - too many errors in a short period from thermocouple
# and some people just want to ignore all of that and just log the emergencies but do not quit
ignore_emergencies = False
Sorry you're having so much trouble getting things tuned. The above attachment is a graph of your test. The question I want to ask is...
are you gonna be running this oven/kiln at a temp range of 200 to 250F?
my point is that you need to optimize the PID tuning for what matters. My kiln has a 25F overshoot at low temps like this... and that is fine with me. my kiln PID tuning is optimized for much higher temperatures. my guess is, based on the duty cycle shown in the graphs that this is intended to run at much higher temps. Note that NO tuning will be perfect across a wide temperature range.
You are asking your kiln [via this schedule] to heat as fast as possible to 200F. The pid kicks in at 190F and goes to zero output on the heating elements immediately. Your kiln retains heat well, so it shoots past 200 to 235. If you want to reduce this overshoot, the only option you have is to create a schedule with a more mellow heat-up. I do this on my schedules in some cases... like creating a ramp from 90F to 200F over 5 mins. This allows the PID to kick in much earlier and have an impact.
Please note that at low temps, there will be some overshoot, and that's ok.... again optimize for what matters.
Try a new schedule with the mellow start-up ramp and post the logs here again so I can check it out. Keep the same settings and I'll make suggestions on the tuning.
Things I can tell from the graph[s] above. Proportional is high, cut it in half. Derivative is low and needs to be higher, double it. Integral seems ok. If you make changes, reduce by half our double one setting, repeat.
Note this will NOT solve the overshoot problem. It will help with the oscillation though.
Are you using a S type TC? Also the catch up is true but I set mine to false. I think that this is a problem at the beginning of a run. In one of issues your issue is discussed . Sorry don't know which one but it is within last month. Ronald.
On Thu, Jun 16, 2022, 8:30 AM Jason Bruce @.***> wrote:
Things I can tell from the graph[s] above. Proportional is high, cut it in half. Derivative is low and needs to be higher, double it. Integral seems ok. If you make changes, reduce by half our double one setting, repeat.
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1157798563, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G4BTKZZZX46FEAO4B3VPNCCRANCNFSM5Y5HZOYQ . You are receiving this because you commented.Message ID: @.***>
setting kiln_must_catch_up=False would still allow the kiln to overshoot, it would just NOT hold the schedule until it's back in the window. So, what you'd see at the beginning is the same overshoot of 35F to 235F. The kiln would slowly cool down to 200F (and may not even finish cooling before the quick ramp to 250). Then you'd see the same overshoot at 250 to 275F, followed by a slow cooling until the end of the schedule.
Thanks. So what is best solution for this initial large overshoot. Mine is manual override. Why can't the pi program be modified to handle it by limiting the initial power input to maintain a given slope? Something like this..?
It works well under my manual control just need that in the app. Everything else in the app is great. Ronald.
On Thu, Jun 16, 2022, 10:12 AM Jason Bruce @.***> wrote:
setting kiln_must_catch_up=False would still allow the kiln to overshoot, it would just NOT hold the schedule until it's back in the window. So, what you'd see at the beginning is the same overshoot of 35F to 235F. The kiln would slowly cool down to 200F (and may not even finish cooling before the quick ramp to 250). Then you'd see the same overshoot at 250 to 275F, followed by a slow cooling until the end of the schedule.
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1157928958, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G7MLDZ4RK2Q3D2PLADVPNN7ZANCNFSM5Y5HZOYQ . You are receiving this because you commented.Message ID: @.***>
@jbruce12000 I was following the instructions for PID tuning from the doc in the project :)
It says to tune from 200-250.
I was concerned about candling at low temps.
This kiln is going to be used for multiple purposes. Stained glass for my wife, and metal casting up to Aluminum and annealing and hardening metal for me.
I think @rondoc has a great idea about how to fix the low end ramp up and avoid overshoot.
Ok I modified the test 200-250 that comes with kiln-controller so that it has a gradual ramp up. I also doubled my D
I still think I need to take down the P. Then I will see if I need to adjust the D again, but this looks much better. I think you may want to clarify the tuning instructions as well as probably modify the test 200-250 so that it has gradual ramp up over 10 minutes.
I made some assumptions based on the tuning instructions.
Yeah, this looks fine to me. The ramps are both a little more mellow, so the overshoot is reduced. You can see the PID kick in right at the beginning so it moderates the power to the elements. You have 20F of overshoot which is acceptable. You can sure try to double derivative again. My guess is that you're pretty close now... just a little more. Proportional looks good, but experiment. There is a balance with proportional though... where you want it to be responsive at higher temps, so make sure to test at higher temps as well. What you want to avoid is a critically damped system that works perfectly at this temperature... because this is not the temp the kiln will usually run at. It is OK and expected to have overshoot at low temps so you get the correct responsiveness at higher temps.
I candle at low temps too... with ceramics, you want to be careful not to go over 250 which can cause pieces to explode due to steam buildup.
I like the idea of changing the ramp for the test. If the instructions are misleading, pt out where so I can fix... or submit a pull request.
@rondoc I understand your idea. I think the real mental hurdle I have is that it is essentially the same as a mellow ramp controlled by a PID... which you can do now without code modification. Heat more slowly [with a mellow ramp], let the PID do it's job.
Let me get this settled and I will do a pull and update the tuning mark down
Thank you for the help.
I changed the 200-250 test schedule to be more mellow on both ramps. that change is committed.
We'll close this once your PR is merged is everything is cool.
BTW I found this. I may go through and add some of these profiles to the pull request too
https://hotkilns.com/support/pottery-kiln-knowledgebase/standard-easy-fire-program-profiles-dynatrol
Just a thought is there anyway we can come up with a website for kiln profiles? Something with an api that let's you pull down community profiles. Because you can use these kilns for SO much more than pottery. My wife wants me to put in charts for glass fusing. I am going to be putting a bunch of stuff on metal melting and metal annealing, hardening, and tempering. I get some of them are simple like aluminum melt is just fire that thing up but we could get fancy and estimate time to melt by asking what the weight of the aluminum pre melt.
I don't know.
Just thoughts
Here's an example of all the processes you can do to O1 tool steel. Time depends on thickness. Hmm now I am wondering if I can write a profile generator.
The profiles are json and super-simple to generate. I don't use the web interface to create mine, I just create them in vi. There is no reason why you couldn't create profiles automatically from a given data source using a script and populate a whole bunch of 'em in a repo.
I think it would be pretty trivial to store profiles in a github repo, make the directory in the repo configurable at start-up and have it grab all profiles from there instead of [or in addition to] the local file system. This would allow you to use any github repo created or forked from others and any directory in that repo. Having it in a github repo means anyone can contribute. Using folders in the repo means you can organize profiles by kiln type or purpose or whatever. This could also be used to control the profiles that the client loads... for instance, I'm a potter, I only want to see pottery profiles. Your wife might want to see just glass profiles. You metal.
That means your kiln has to be connected to the internet to load profiles. not a problem for me, but might be a problem for others. Hence the reason to make it configurable.
I've never considered this, so I need to look at the code to see what is impacted.
How do you have a slow ramp at startup? I have made a slow ramp up profile but I still get a large, over 100F surge. After 500F tracking is within a degree all the way to 1380F.
On Thu, Jun 16, 2022, 4:52 PM Jason Bruce @.***> wrote:
We'll close this once your PR is merged is everything is cool.
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1158289641, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G63RHNL3A6SF6USC3LVPO43NANCNFSM5Y5HZOYQ . You are receiving this because you were mentioned.Message ID: @.***>
That's really a big overshoot. It's a combination of a slow ramp and setting the Proportional low enough that it does not blast way pay the set point. @rondoc I'd be interested to see the logs from a slow ramp up profile with your current PID settings... on a run where it does this.
@JoeyG1973 After thinking about a website to store profiles... The easiest thing to do would be:
This allows for a website with collaboration, the flexibility to load only those profiles that matter to you [via configurable directory], local storage [so the code doesn't have to deal with connectivity].
I think it also might be nice to have an alternate menu for dynamically creating profiles. For example select O1 steel, select the process, and if that process for that steel requires additional input, typically the thickness of the material, the user would input that data point and it would dynamically adjust that time and heat.
ex: Austenizing for O1 tool steel needs to have the soak time adjusted based on the thickness of the material.
Austenitizing (High Heat): Heat slowly from the preheat to 1475-1500°F (802-816C)
Soak for 30 minutes for the first inch (25.4 mm) of thickness, plus 15 minutes for each additional inch (25.4 mm).
This would role nicely with your watcher... it could alert the user at points and time in the profile. I have looked at the json for the profiles btw, you could put a key value pairs called alert and hold which are bool that are part of that particular segment and if alert is set to true, notify, and if hold is set to true, don't change the temp until the user has authorized to continue.
I will save run from next firing and send log file. My kiln is fairly large 8 cuft. My heating is by a single globar that is near to the TC. This means in a cold kiln when the pi app starts it puts the globar on 100%. The TC then heats up very quickly showing a large overshoot but I am sure the average kiln temp is not that temp. So in real world I don't have a problem . Doing the manual low power until over about 400F is fine with me. I sometimes do this overnight and I trust my manual setup more than the pi to do this. (I've been doing it for over 30 years.) I still have the pi running so I can monitor the temp which is really nice. Thanks Jason for all of this. Ronald.
On Fri, Jun 17, 2022, 4:59 AM Jason Bruce @.***> wrote:
That's really a big overshoot. It's a combination of a slow ramp and setting the Proportional low enough that it does not blast way pay the set point. @rondoc https://github.com/rondoc I'd be interested to see the logs from a slow ramp up profile with your current PID settings... on a run where it does this.
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1158800346, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G3DRCPABGBCIJX2D7TVPRSBVANCNFSM5Y5HZOYQ . You are receiving this because you were mentioned.Message ID: @.***>
So a different issue now... and I am almost positive it is because i have a cheap thermo sensor that won't go above this temp because if you look at the graph it had zero issue keeping up until that point. Folks, am I right in this assessment of the issue?
Jun 17 18:08:36 raspberrypi python[637]: 2022-06-17 18:08:36,911 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:36 raspberrypi python[637]: 2022-06-17 18:08:36,912 INFO oven: kiln outside pid control window, max heating
Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,915 INFO oven: temp=1733.88, target=2007.76, error=273.88, pid=0.00, p=968.67, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105
Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,916 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,916 INFO oven: kiln outside pid control window, max heating
Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,919 INFO oven: temp=1733.81, target=2007.76, error=273.95, pid=0.00, p=968.91, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105
Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,920 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,921 INFO oven: kiln outside pid control window, max heating
Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,924 INFO oven: temp=1733.91, target=2007.76, error=273.85, pid=0.00, p=968.58, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105
Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,924 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,925 INFO oven: kiln outside pid control window, max heating
Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,928 INFO oven: temp=1734.14, target=2007.76, error=273.62, pid=0.00, p=967.75, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105
Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,929 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,930 INFO oven: kiln outside pid control window, max heating
Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,932 INFO oven: temp=1734.47, target=2007.76, error=273.29, pid=0.00, p=966.59, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105
Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,933 INFO oven: kiln must catch up, too cold, shifting schedule
Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,934 INFO oven: kiln outside pid control window, max heating
Use a K type TC and get a Fluke temp reader. Plenty on ebay. You can connect the Tc to both the Fluke and the pi via the max card. Make sure no part of the TC is grounded or max chip won't work. The Fluke will read out temp accurately as a check point for you . Ronald.
On Fri, Jun 17, 2022, 10:20 AM JoeyG1973 @.***> wrote:
So a different issue now... and I am almost positive it is because i have a cheap thermo sensor that won't go above this temp because if you look at the graph it had zero issue keeping up until that point. Folks, am I right in this assessment of the issue?
[image: Screenshot 2022-06-15 205253] https://user-images.githubusercontent.com/10002637/174347523-3f07f82d-dc66-495e-8e40-9b9c3bf6db16.png
Jun 17 18:08:36 raspberrypi python[637]: 2022-06-17 18:08:36,911 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:36 raspberrypi python[637]: 2022-06-17 18:08:36,912 INFO oven: kiln outside pid control window, max heating Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,915 INFO oven: temp=1733.88, target=2007.76, error=273.88, pid=0.00, p=968.67, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105 Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,916 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:38 raspberrypi python[637]: 2022-06-17 18:08:38,916 INFO oven: kiln outside pid control window, max heating Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,919 INFO oven: temp=1733.81, target=2007.76, error=273.95, pid=0.00, p=968.91, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105 Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,920 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:40 raspberrypi python[637]: 2022-06-17 18:08:40,921 INFO oven: kiln outside pid control window, max heating Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,924 INFO oven: temp=1733.91, target=2007.76, error=273.85, pid=0.00, p=968.58, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105 Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,924 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:42 raspberrypi python[637]: 2022-06-17 18:08:42,925 INFO oven: kiln outside pid control window, max heating Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,928 INFO oven: temp=1734.14, target=2007.76, error=273.62, pid=0.00, p=967.75, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105 Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,929 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:44 raspberrypi python[637]: 2022-06-17 18:08:44,930 INFO oven: kiln outside pid control window, max heating Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,932 INFO oven: temp=1734.47, target=2007.76, error=273.29, pid=0.00, p=966.59, i=209.96, d=0.00, heat_on=2.00, heat_off=0.00, run_time=45394, total_time=52500, time_left=7105 Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,933 INFO oven: kiln must catch up, too cold, shifting schedule Jun 17 18:08:46 raspberrypi python[637]: 2022-06-17 18:08:46,934 INFO oven: kiln outside pid control window, max heating
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1159088518, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GZTZVQPUVEZOBCCKT3VPSXVPANCNFSM5Y5HZOYQ . You are receiving this because you were mentioned.Message ID: @.***>
Yeah I got a k type from ebay but you know how things on ebay go.
I added the -4 to the config.py and I am very sure it is the thermo coupler as it stopped going above they exact same temp as last time only this time it was 100 degrees lower.
I have an extension cable and socket for the tc (yes the socket and wire is for tc) and I am noticing that the wire and wire length have an effect on the reading. Which is wierd to me as I wouldn't have thought that would be an issue.
I cut out the extension and socket I have and hooked the tc with the wire that came with it right to the 31855 and it would bounce between 1520 and 1510 but go no higher with catchup running (full heat 2.00) the whole time. I should easily be able to reach 2k with this kiln and more.
Suggestions on a quality k-type TC?
Thoughts on this from McMaster Carr?
https://www.mcmaster.com/thermocouples/thermocouple-type~k/maximum-temperature~2300-f/
This is the log file and you can see it almost gets to 2000f but the TC died at that temp.
Well I am pretty sure I killed the kiln.
Off topic... you can buy Kanthal wire , wind coils and replace. Not difficult, or costly, but a bit time consuming. Kanthal wire is good to cone10. 2400F. The gage of wire to buy and length or weight can be calculated or you might find a chart. You just need to know the total power, watts , total length of winding and diameter of the coils. It can get a bit more complex if you have several.pathways and/or power level switching. If you need more help email me directly at @.*** I am an EE but not a coder.
On Fri, Jun 17, 2022, 1:57 PM JoeyG1973 @.***> wrote:
Well I am pretty sure I killed the kiln.
[image: PXL_20220617_205109733] https://user-images.githubusercontent.com/10002637/174400110-31561f05-fd79-43dd-895d-3c7298f698d3.jpg
— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/96#issuecomment-1159221937, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GZXCY52Q2AMAPBGOTTVPTREDANCNFSM5Y5HZOYQ . You are receiving this because you were mentioned.Message ID: @.***>
I got the wire brand new a about 3 months ago from duralite which I just gave them the measurements and they make the wire custom. They were the original providers for Norman Kilns when they were in business. I have a Norman kiln.
I also looked at the TC as well... It's galled on one side.
I think what happened is the TC failed and then the kiln went into full bore catchup and blasted right past 2400 and that's when the bricks failed and eventually the wire.
Now it looks like I need to replace some the bricks in the kiln because if you look carefully in the pictures, the brick has melted.
Everything is consistent with element failure. The kiln reaches a certain temp, and then starts to fall behind...even with the PID pushing 100% power to the elements.
I think this thread should be closed. Your initial tuning problem is solved.
Agreed
So I have been trying to get this to work for months. I eventually figured out that my coils on my kiln were basically useless so I went to My Kiln is a Norman 3L... it's a 13" cube internal cube door access, door and 3 sides have heating elements. Top and bottom have no elements. It's 220 volt.
Here is what kiln-tuner gives me for an initial PID.
pid_kp = 3.536848634417805 pid_ki = 52.76122878534157 pid_kd = 165.00148689669365
This was the result of the test 200-250 run.
And here is the log.
test 200-250.log
Cutting down the P or increasing the D ( even into the thousands ) has little to no effect on the overshoot.
I am completely lost here.
Please help