jbruce12000 / kiln-controller

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

Support for N-Zone Control #173

Open kulps opened 8 months ago

kulps commented 8 months ago

Hey everyone,

Our studio is considering replacing our V6-CF controllers with a Kiln-Controller board, but it looks like the current build only supports single-zone reading. Our Kilns are setup with 3 thermocouples each.

Is this something that's been discussed or attempted before?

Any insight would be greatly appreciated!

rondoc commented 8 months ago

Are there three element groups? What do each tc do now. The pi controller is so cheap you could easily just use three pi's. Then it would be like it is now but more precise in heating since each section would have its own pi . With some extra code and a bit of hardware I would think that one pi could sequentially manage all three. Ronald

.

On Fri, Mar 29, 2024, 12:20 PM kulps @.***> wrote:

Hey everyone,

Our studio is considering replacing our V6-CF controllers with a Kiln-Controller board, but it looks like the current build only supports single-zone reading. Our Kilns are setup with 3 thermocouples each.

Is this something that's been discussed or attempted before?

Any insight would be greatly appreciated!

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G6BPEEBD5ZX4ZV444LY2W5IFAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYTKOBZGY2DCOI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

chipgarner commented 8 months ago

I have a project based on kiln-controller that supports up to 4 zones. I have never a seen a one zone kiln, including manually controlled kilns, bigger than about one cubic foot. @rondoc 's kiln is an exception.

See https://github.com/chipgarner/MultiZoneKilnController

This project is nowhere as far along, or as user friendly, as kiln-controller. I have tested it multiple times on a two zone kiln. @kulps let me know if you are interested. The main thing missing right now is documentation.

turt2live commented 8 months ago

@chipgarner this looks interesting! Does your project support compensating for a bad element or thermocouple too, or is it more just trying to get a consistent firing?

kulps commented 8 months ago

Thanks guys, we did find your repo @chipgarner and were looking at it. There are only a few of us interested in the software/hardware side of it. So the user-friendly aspect is definitely important for us.

I don't think 3 independent controllers will replicate the features we want. The V6-CF manual gives an overview of the features, but not the raw logic of how it works. Page 22 of this PDF: https://binst.s3.amazonaws.com/uploads/manual/asset_path/67/Operation_Manual_-_V6CF.pdf

We're also considering what a custom board would look like to allow for this to not live on a breadboard or other semi-temporary setup.

chipgarner commented 8 months ago

@kulps The UI should be pretty user friendly. The setup and documentation is not. It would be a big help to work on this with other people - I need feedback on what is clear and what is not. Also, it would be motivating to have help of any sort.

I am not very happy with the reliability of the MAX 31855 and MAX 31856 TC boards. The '55 reports more errors than readings at high temperatures, and the '55 halts and recovers at some unknown time later. These don't show up on the kiln-controller UI, only in the logs. Users are not likely to notice unless a problem occurs at the wrong time.

rondoc commented 8 months ago

@garner have you actually monitored the output from the 55 tc board? Not via the pi kiln controller. I wonder if there is a timing error or noise that you see. The 55 board cannot produce errors it is a simple single chip and I don't see where you could get erratic output from except from noise via it's tc wiring . Be useful to nail this "error" anomaly down as the simple pi controller with its great use depends on it. My use through about 20 firings showed no problems but I have not searched the log to see what's going on. I fire to cone10. FYI. Electrical conductivity of the surfaces that are in contact with the tc wires and with high temps could make the tc give an error. If the tc is not in a high fire high alumina shield. Ronald.

On Fri, Mar 29, 2024, 1:26 PM Chip Garner @.***> wrote:

@kulps https://github.com/kulps The UI should be pretty user friendly. The setup and documentation is not. It would be a big help to work on this with other people - I need feedback on what is clear and what is not. Also, it would be motivating to have help of any sort.

I am not very happy with the reliability of the MAX 31855 and MAX 31856 TC boards. The '55 reports more errors than readings at high temperatures, and the '55 halts and recovers at some unknown time later. These don't show up on the kiln-controller UI, only in the logs. Users are not likely to notice unless a problem occurs at the wrong time.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2027703832, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G5G5QSTCRDI2BKK4ALY2XE55AVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRXG4YDGOBTGI . You are receiving this because you were mentioned.Message ID: @.***>

chipgarner commented 8 months ago

@rondoc The board sends errors like short to ground, short to power, over and over. Connecting the TC to a Fluke or a '56 shows no errors. The errors come more and more often as the temperature increases. The errors continue in the same manner as the kin is cooling, with the high voltage switching shut off. I have tried different software - my software graphs the errors real time. To further define "errors", the board sends out a set of bits that corresponds to a specific error as defined in the board documentation. This has been described as "noise" in other issues here. Kiln-controller gets a good temperature every several seconds or so, so it continues to work,

The '56 error is completely different. The Pi sends a message to the board for a temperature. The board never answers, or may answer several minutes later. In kiln-controller this hangs the thread that reads the temperature. I have tried software the avoids the hang, but it also does not get a response, neither an error or a temperature.

Both boards mostly work but it does not give me a warm feeling about reliability.

rondoc commented 8 months ago

@Chip Garner @.***> this does not make electronic sense to me. The fact that errors increase with temperature is a clue that it's a tc mounting problem. I suggest connecting a tc to the 55 board with short leads then heating the tc with a flame / torch and monitoring the output of the board. No other electronics needed or wanted. You might have to make a small insulated box to achieve high temps. Also try same with the 56 board. Ronald.

On Fri, Mar 29, 2024, 4:31 PM Chip Garner @.***> wrote:

@rondoc https://github.com/rondoc The board sends errors like short to ground, short to power, over and over. Connecting the TC to a Fluke or a '56 shows no errors. The errors come more and more often as the temperature increases. The errors continue in the same manner as the kin is cooling, with the high voltage switching shut off. I have tried different software - my software graphs the errors real time. To further define "errors", the board sends out a set of bits that corresponds to a specific error as defined in the board documentation. This has been described as "noise" in other issues here. Kiln-controller gets a good temperature every several seconds or so, so it continues to work,

The '56 error is completely different. The Pi sends a message to the board for a temperature. The board never answers, or may answer several minutes later. In kiln-controller this hangs the thread that reads the temperature. I have tried software the avoids the hang, but it also does not get a response, neither an error or a temperature.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2027820465, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GYFMGR6OBKWZIU3UADY2X2URAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRXHAZDANBWGU . You are receiving this because you were mentioned.Message ID: @.***>

chipgarner commented 7 months ago

@turt2live I have not looked at compensating for TC or element problems yet. I don't think this would be difficult to add. I have made it so you can switch to manual mode at any time. This allows you to set the heating values for each set of elements with sliders. I have used this a couple of times to save a firing, once when a '56 quit and another time when my experiment with a model based controller (replacing the PID controller) went awry.

chipgarner commented 7 months ago

@rondoc This is the wrong place for the TC board issues. It has been discussed before under several issues here. I have tested everything I can think. I would like to consolidate what I have done and some of the previous discussion all in one place. Once I have done this, I would really like your input on other things that could be tried. I am leaving this week for Texas for the eclipse, so I may not get this done for a couple of weeks. I will post a link when it is up.

rondoc commented 7 months ago

@Chip Garner @.***> if this is not the place then why do I see so many questions, here, coming up about tc errors? I have no problem discussing electronic and electrical questions elsewhere, but where? Ronald.

On Sun, Mar 31, 2024, 9:50 PM Chip Garner @.***> wrote:

@rondoc https://github.com/rondoc This is the wrong place for the TC board issues. It has been discussed before under several issues here. I have tested everything I can think. I would like to consolidate what I have done and some of the previous discussion all in one place. Once I have done this, I would really like your input on other things that could be tried. I am leaving this week for Texas for the eclipse, so I may not get this done for a couple of weeks. I will post a link when it is up.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2029154041, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GZFHAXXBJPJ5KEWBIDY3DRSVAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRZGE2TIMBUGE . You are receiving this because you were mentioned.Message ID: @.***>

turt2live commented 7 months ago

I appreciate the MAX31855/56 discussion on the repo, for what it's worth. It's not a limitation I was expecting, and it's very important for reliability/compensation in a multi-zone environment. Though, it may be best to talk about in a new canonical issue? Not sure I've seen the discussion in the repo before, sorry.

In the meantime, I'm looking at getting a small test environment set up to isolate the MAX38155 chip's behaviour specifically. I'll report my results here as that progresses, though may be a bit slow due to other commitments.

chipgarner commented 7 months ago

@rondoc I just meant that this issue is No Support for Three-Zone Control, not TC reliability. Also, the discussion has become fractured over several issues. I am largely responsible for this, and plan to set up a better place to continue and preserve the discussion. I will let you no where as soon as I get this going.

jbruce12000 commented 7 months ago

I can confirm the issues with the 31855. The number of errors increase with temperature. I believe this is a problem with the 31855 interpretation of the signals coming from the tc. I don't believe this is a tc problem.

jbruce12000 commented 7 months ago

To answer the question about multi-zone control... it has come up before. I've never been a believer in it. PID control is based on a single reading... this reading does not strictly have to come from a single device [ie thermocouple], but it must be a single reading. If it's coming from multiple thermocouples, the readings must be combined in some way - like averaging them.

It is impossible to have multiple PID controllers all managing different zones of the same kiln. They would constantly fight each other for control of the space. You could fake it by having one dominant controller, but that's basically the same as having a single PID controller.

I don't have plans to add multi-zone control.

It would certainly be possible to connect three 31855 controllers to read from 3 TCs while connected to a single rpi. The 3 readings would be averaged for use by the PID software. A single multi-phase SSR could be used to control heat application to the entire kiln [no individual zone control which is again, a farse].

rondoc commented 7 months ago

@jason. The signal from the tc is very low Voltage in the millivolt region.its just DC . The chip takes this and also measures ambient temperature. It takes the difference via analog circuitry does an A to D and then this is read by wharever is attached to the board. This process doesn't change with the tc temperature. Based on the above it really seems unlikely that the resultant interpretation of temperature will be anything except a digital stream. The fact that some users have problem with errors that look like tc reading is still IMNSHO due to the way the tc is connected. Until a test of just the 55 board and a digital readout is done of the boards output code at all temperatures I will stay with my opinion. I have not any problem using the 55 board with the kiln controller and am very happy using it. Ronald.

On Tue, Apr 9, 2024, 4:40 PM Jason Bruce @.***> wrote:

I can confirm the issues with the 31855. The number of errors increase with temperature. I believe this is a problem with the 31855 interpretation of the signals coming from the tc. I don't believe this is a tc problem.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2046204137, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G2PC3MXWHS67G267A3Y4R37ZAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGIYDIMJTG4 . You are receiving this because you were mentioned.Message ID: @.***>

rondoc commented 7 months ago

Re 3 element control. What is wrong with one pi three TCS and sequentially switching both the TCS and the SSRs? Could the same pid settings work for this? It seems doable but messy I have only one element but I achieve very even heating by rotating the ware during firing. Ronald.

On Tue, Apr 9, 2024, 4:52 PM Jason Bruce @.***> wrote:

To answer the question about multi-zone control... it has come up before. I've never been a believer in it. PID control is based on a single reading... this reading does not strictly have to come from a single device [ie thermocouple], but it must be a single reading. If it's coming from multiple thermocouples, the readings must be combined in some way - like averaging them.

It is impossible to have multiple PID controllers all managing different zones of the same kiln. They would constantly fight each other for control of the space. You could fake it by having one dominant controller, but that's basically the same as having a single PID controller.

I don't have plans to add multi-zone control.

It would certainly be possible to connect three 31855 controllers to read from 3 TCs while connected to a single rpi. The 3 readings would be averaged for use by the PID software. A single multi-phase SSR could be used to control heat application to the entire kiln [no individual zone control which is again, a farse].

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2046212715, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G3UPMPEBJ5UF6CT7XDY4R5KJAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBWGIYTENZRGU . You are receiving this because you were mentioned.Message ID: @.***>

jbruce12000 commented 7 months ago

One space [like a kiln] cannot have multiple PID controllers effectively controlling the temperature. The controllers will compete with each other. Without a kiln vent, this would likely mean the bottom controller is the most active. With a kiln vent, it would be a crap shoot.

As stated previously, you could have multiple TCs connected to a single controller and average the TC inputs. That single controller would control all elements.

rondoc commented 7 months ago

Hi I have reviewed the 55 data sheet again. It states that capacitors should be put across the tc input at the 55 board and also across the 5volt input. It seems clear that unless this is done noise will cause errors. The voltage levels from the tc are very tiny so electrical noise is a potential problem. What is the kiln controller's process for having the data from the 55 board? Since there is no need for fast processing I wonder how this is handled. Perhaps knowing ahead what the data will be within a known spread errors could be ignored? The method of ensuring even heating with multiple elements seems like an interesting discussion. Has anyone attempted any of the solutions offered? Ronald.

On Wed, Apr 10, 2024, 5:06 PM Jason Bruce @.***> wrote:

One space [like a kiln] cannot have multiple PID controllers effectively controlling the temperature. The controllers will compete with each other. Without a kiln vent, this would likely mean the bottom controller is the most active. With a kiln vent, it would be a crap shoot.

As stated previously, you could have multiple TCs connected to a single controller and average the TC inputs. That single controller would control all elements.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2048625799, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65G72QF2CDUQC54AKXWDY4XHZ3AVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBYGYZDKNZZHE . You are receiving this because you were mentioned.Message ID: @.***>

jbruce12000 commented 7 months ago

I have multiple elements...three to be specific. They are ALL either on or off at the same time for a specific period during each duty cycle. They are not individually controlled.

I'll have to check if I have caps at power and tc input. not sure.

turt2live commented 7 months ago

Out of interest, how big is your kiln? Our BX2827D comes standard with three zone control, but it's also 10 cubic feet. We've found the consistency and reliability of 3 zone control to be valuable, particularly when trying to heat such a large volume of air.

We also upgraded our Skutt 1027-3 to have 3 zones (previously it just had a single middle zone), and we've had more consistent firings since.

Granted, these results are with the factory controllers. We'd like to get some monitoring on the kilns to review the firing and see when it's cool remotely, which is why we're interested in the raspberry pi solution.

rondoc commented 7 months ago

The pi controller is a gear monitoring system. I use it even when I use my manual controller.

On Thu, Apr 11, 2024, 9:37 AM Travis Ralston @.***> wrote:

Out of interest, how big is your kiln? Our BX2827D comes standard with three zone control, but it's also 10 cubic feet. We've found the consistency and reliability of 3 zone control to be valuable, particularly when trying to heat such a large volume of air.

We also upgraded our Skutt 1027-3 to have 3 zones (previously it just had a single middle zone), and we've had more consistent firings since.

Granted, these results are with the factory controllers. We'd like to get some monitoring on the kilns to review the firing and see when it's cool remotely, which is why we're interested in the raspberry pi solution.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2050088925, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GYLEBC37QYYIRSZTRDY4233VAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGA4DQOJSGU . You are receiving this because you were mentioned.Message ID: @.***>

rondoc commented 7 months ago

Sorry "great monitoring ...." My rotary kiln is 8 cuft. It is extremy well insulated so low cost in electricity. Insulation means slow cooldown 16hrs from cone10. Ronald.

On Thu, Apr 11, 2024, 9:50 AM ron doctors @.***> wrote:

The pi controller is a gear monitoring system. I use it even when I use my manual controller.

On Thu, Apr 11, 2024, 9:37 AM Travis Ralston @.***> wrote:

Out of interest, how big is your kiln? Our BX2827D comes standard with three zone control, but it's also 10 cubic feet. We've found the consistency and reliability of 3 zone control to be valuable, particularly when trying to heat such a large volume of air.

We also upgraded our Skutt 1027-3 to have 3 zones (previously it just had a single middle zone), and we've had more consistent firings since.

Granted, these results are with the factory controllers. We'd like to get some monitoring on the kilns to review the firing and see when it's cool remotely, which is why we're interested in the raspberry pi solution.

— Reply to this email directly, view it on GitHub https://github.com/jbruce12000/kiln-controller/issues/173#issuecomment-2050088925, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXA65GYLEBC37QYYIRSZTRDY4233VAVCNFSM6AAAAABFO2JPFOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJQGA4DQOJSGU . You are receiving this because you were mentioned.Message ID: @.***>

jbruce12000 commented 7 months ago

Skutt KS-1018... so much smaller than yours I expect.

chipgarner commented 7 months ago

Multiple zone control has been available for many years and is not difficult. A separate TC and power switch is needed for each zone. For example, my 2 zone Paragon A-88 B has four elements and two thermocouples. The top two elements are connected to one SSR, and the bottom two elements are connected to a second SSR. The controller uses the reading from the top TC to control the top SSR, and from the bottom TC to control the bottom SSR. The controller treats the two zones independently. This is essentially the same for all the commercially available controllers.

I have not seen any issues with interactions between the kiln zones. Radiative heat transfer increases with the 4th power of temperature. This means that radiation dominates the heating in the kiln at higher temperatures, and is why the kiln temperatures tend to even out at high temperature. If the zones are kept at the same temperature there is no interaction. If one zone gets hotter, it tends to help the other zones catch up by transferring heat to them.

You do have to deal with lagging at full power. If the desired temperature profile is faster than the kiln can keep up with one of the zones will lag. All the zones will go to full power but will not (in most cases) stay at the same temperatures because the power and heat loss is not the same for each zone. I have used the same method as the Bartlett controllers, slow down the profile slope until the coolest zone can keep up.

I do not know if modern commercial controllers are using PIDs, but is very likely that hey are using PIDs or a simpler method, such as proportional control only. If a present day control engineer were to design a new system it would probably use model based control.

jbruce12000 commented 7 months ago

thanks chip. great info. sounds like this should be added as a feature.

jbruce12000 commented 7 months ago

I'll think about implementation. It's complex because it impacts config, execution, logging, ui... basically every aspect.