jbruce12000 / kiln-controller

Turns a Raspberry Pi into an inexpensive, web-enabled kiln controller.
203 stars 114 forks source link

kiln_must_catch_up can sit for hours when cooling (versus heating) #161

Closed amahpour closed 12 months ago

amahpour commented 1 year ago

Given the nature of how well insulated Kilns are, if a schedule starts when the kiln is already partially hot (i.e. 120 F) it could take hours to cool down to a lower temperature (e.g. 80 F) to start the schedule.

I love the feature of pre-heating before running a schedule but if the kiln already slightly overheated or, in some cases, overshoots at the beginning of a schedule, it can take hours to get back on track.

Adding smarts to the "cooling" side of kiln_must_catch_up is the most optimal way of fixing this (e.g. if the delta is > 20 degrees F then cool down, otherwise, proceed) but separating the single kiln_must_catch_up flag into kiln_must_catch_up and kiln_must_cool_down individual flags would be a great start.

jbruce12000 commented 11 months ago

blinka branch... software spi is definitely NOT working. I'll try to dedicate some time to fixing the code and testing the 31855 this weekend.

chipgarner commented 11 months ago

@jbruce12000 The "autodetect" is simply to try the hardware pins first. If this fails look for software pins in config.py. This is simple and not likely to fail. It makes it a lot easier to set up a system using the hardware pins.

chipgarner commented 11 months ago

@amahpour I have experimented with several setups and see the same 55 errors. These are multiple breadboard setups using software pins, hardware pins, the old Adafruit library, and the new Adafruit library. I used TC emulator built by @rondoc for most of the bread board tests, but could see a few more error by heating a real TC with a heat gun. (Not the big change at around 1600f / 900C.)

I am running now in a two zone kiln with one zone using a '55 and the other a '56. This is using my MultiZoneKilnController software. This code graphs the errors in real time and makes the error increase with temperature very obvious.

I suspect it is a MAX31855 firmware issue.

jbruce12000 commented 11 months ago

@chipgarner For now, pin configuration is explicit and required for either HW or SW spi (from the kiln-controller standpt). The underlying libs don't need this explicit pin config if HW spi is used.

This may change to what you are describing in the future... but I tend to prefer being explicit as opposed to magical things just happening under the covers.

jbruce12000 commented 11 months ago

ok, blinka autodetection now works for 31855 hw and sw spi... and 31856 hw spi.

I need one person to test 31856 sw spi. @chipgarner has a 31856 being shipped now... but I'll take feedback from anyone willing.

At this point, I'm going to stop commenting here and move the testing conversation over to the https://github.com/jbruce12000/kiln-controller/issues/163.

So, please don't post here.