Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for N-Zone Control #173

Open
kulps opened this issue Mar 29, 2024 · 27 comments
Open

Support for N-Zone Control #173

kulps opened this issue Mar 29, 2024 · 27 comments
Labels

Comments

@kulps
Copy link

kulps commented Mar 29, 2024

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
Copy link

rondoc commented Mar 29, 2024 via email

@chipgarner
Copy link
Contributor

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
Copy link

@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
Copy link
Author

kulps commented Mar 29, 2024

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
Copy link
Contributor

@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
Copy link

rondoc commented Mar 29, 2024 via email

@chipgarner
Copy link
Contributor

chipgarner commented Mar 29, 2024

@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
Copy link

rondoc commented Mar 30, 2024 via email

@chipgarner
Copy link
Contributor

@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
Copy link
Contributor

@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
Copy link

rondoc commented Apr 1, 2024 via email

@turt2live
Copy link

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
Copy link
Contributor

@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
Copy link
Owner

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
Copy link
Owner

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
Copy link

rondoc commented Apr 10, 2024 via email

@rondoc
Copy link

rondoc commented Apr 10, 2024 via email

@jbruce12000
Copy link
Owner

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
Copy link

rondoc commented Apr 11, 2024 via email

@jbruce12000
Copy link
Owner

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
Copy link

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
Copy link

rondoc commented Apr 11, 2024 via email

@rondoc
Copy link

rondoc commented Apr 11, 2024 via email

@jbruce12000
Copy link
Owner

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

@chipgarner
Copy link
Contributor

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
Copy link
Owner

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

@jbruce12000 jbruce12000 changed the title No Support for Three-Zone Control Support for N-Zone Control Apr 17, 2024
@jbruce12000
Copy link
Owner

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants