Hello everyone!
I need your help again.
I'm working on a pottery kiln for my girl and I messed up on the temperature control part. I can't figure out the PID component... Basically, I know how a PID works, but I can't put it into practice in FC.
The kiln configuration is as follows:
- The user interface is made by a GLCD ILI9341_SPI together with an XPT2046 touch screen,
- Setting the temperature (setpoint) is done digitally,
- temperature monitoring (feedback) is done with a K-type probe, for entering the probe data into the PIC, I use a MAX31855,
- the control of the heating elements is done with 2 solid state relays, actuated by PWM from the PIC,
- the maximum temperature used will be 1320 degrees Celsius
- The PIC used is 18F26K20, which runs at 64 MHz, with the internal clock enabled.
I am attaching the FC10 file. and please help me with the PID configuration.
Thank you!
Pottery KILN
-
- Posts: 7
- http://meble-kuchenne.info.pl
- Joined: Thu Dec 03, 2020 9:21 pm
- Location: Romania
- Has thanked: 6 times
-
- Matrix Staff
- Posts: 1924
- Joined: Mon Dec 07, 2020 10:06 am
- Has thanked: 501 times
- Been thanked: 684 times
Re: Pottery KILN
Hello
There is a simulation example here that might help.
https://www.flowcode.co.uk/wiki/index.p ... rol_-_Fine
If you need help tuning the pid coefficients then the ziegler nichols approach seems to work well. We have a excel file as part of our process control software that helps to calculate the values.
There is a simulation example here that might help.
https://www.flowcode.co.uk/wiki/index.p ... rol_-_Fine
If you need help tuning the pid coefficients then the ziegler nichols approach seems to work well. We have a excel file as part of our process control software that helps to calculate the values.
Regards Ben Rowland - MatrixTSL
Flowcode Online Code Viewer (Beta) - Flowcode Product Page - Flowcode Help Wiki - My YouTube Channel
Flowcode Online Code Viewer (Beta) - Flowcode Product Page - Flowcode Help Wiki - My YouTube Channel
Re: Pottery KILN
Thank you for your answer! I had already studied the suggested example, but that one is for a much lower temperature than I need and I don't know how to modify it.
I upgraded to Flowcode 10 in the hope that my life will be easier, but it seems that without having solid knowledge in the field of programming, it seems that as much programming I know, I will be stuck with turning on and off some leds
I still hope that someone will help me with the modification of my FC file, and I will do the rest around him. If not, I will make the program with a simple on/off thermostat.
Thank you for reading and trying to help me!
Puiu Bercioiu,
I upgraded to Flowcode 10 in the hope that my life will be easier, but it seems that without having solid knowledge in the field of programming, it seems that as much programming I know, I will be stuck with turning on and off some leds

I still hope that someone will help me with the modification of my FC file, and I will do the rest around him. If not, I will make the program with a simple on/off thermostat.
Thank you for reading and trying to help me!
Puiu Bercioiu,
-
- Valued Contributor
- Posts: 1528
- Joined: Thu Dec 03, 2020 10:57 am
- Has thanked: 353 times
- Been thanked: 549 times
Re: Pottery KILN
Hi
I've not used DSP very much so I'm maybe not the best source of info.
Flowcode is very powerful software but like all software you need to get to know it. You need to not only understand how it functions but also the features of each component and how they may relate to your goal. The WiKi is a great place to learn and the Forums provide many answers too when stuck. I'm sure you will do more than playing with LEDs.
From your post you say that
When I looked at your initial post and ran it in simulation, slowly increasing the Max31855 slider I could see the PWM duty increase then instantly drop to zero before climbing again (repeatedly). Just a guess but would this suggest a byte where an integer should be?
Regards
I've not used DSP very much so I'm maybe not the best source of info.
Flowcode is very powerful software but like all software you need to get to know it. You need to not only understand how it functions but also the features of each component and how they may relate to your goal. The WiKi is a great place to learn and the Forums provide many answers too when stuck. I'm sure you will do more than playing with LEDs.
From your post you say that
Many components allow you to remap pins / outputs etc to suit and there is also a Map component too (Math>Map). However looking at the example Benj linked to, I see the DspAdcIn can map it's outputs and assigns an integer value to such, but will only accept a byte value. I'm not sure if this is a bug. Maybe if it's outputs could be mapped that would assist you? Perhaps try the Map component?is for a much lower temperature than I need and I don't know how to modify it.
When I looked at your initial post and ran it in simulation, slowly increasing the Max31855 slider I could see the PWM duty increase then instantly drop to zero before climbing again (repeatedly). Just a guess but would this suggest a byte where an integer should be?
Regards