I'm a hobby potter and general tinker. I have built a digital kiln controller using a raspberry pi zero and a max31856 module. The build worked great for a year and then I started getting interference at top temps. Since it's an all day thing to fire that high (1200C) and I it takes me a while to make a kiln load of pots, trouble shooting has been a pain. I have swapped out the pi, the thermocouple, the thermocouple extension wires, the max31856, and the ULN2803A. Basically, all the components except the 12v power supply, the wires/plugs, the relays, and the kiln elements. I even used different kilns (although they all have old elements).
If I disconnect the kiln from the controller and plug it directly into the wall, the interference stops. The pi is powered from a separate 120v outlet from the 240v kiln supply trying to run the pi from a battery does NOT eliminate the interference. Turning off power to the elements for 200ms prior to reading the temperature does eliminate the interference. I have tried changing the relays from normally open to normally closed with no effect (I wanted to eliminate the relay coils). Towards the end of the firing were the interference is occurring, the relays are no longer triggering (unless I manually program a stop to read temps) and are always on.
I have ordered an opto-isolator and will be adding it to the circuit but I'd really like to figure out why this is happening before I modify things.
I've included an wiring diagram and two firing graphs. The bottom graph shows the erroneous drop in temps I'm consistently getting (with 3 different kilns). The sharp drop and then spike, was when I unplugged the kiln from the controller and plugged it directly into the wall. The spike was close to the correct temp. The drop after that was when the kiln sitter triggered which ended the firing.
The top graph shows a hold with spikes in temps depending on wether the relay and elements were on or off when the temperature reading was taken. Towards the end of this firing, I unplugged the pi from the wall and plugged it into a battery backup. The kiln daemon automatically resumes in case of a power flicker but as soon as the power was restored, I got one good reading and then the temps started dropping again. I then added code to turn off the power 200ms before a temp reading and that worked although my elements are weak enough that that pause every 10 seconds makes it hard to reach temps.
Thoughts on where this interference is being generated? Thanks for the help.
EDIT: I forgot to add that the thermocouple extension wire is shielded.
If I disconnect the kiln from the controller and plug it directly into the wall, the interference stops. The pi is powered from a separate 120v outlet from the 240v kiln supply trying to run the pi from a battery does NOT eliminate the interference. Turning off power to the elements for 200ms prior to reading the temperature does eliminate the interference. I have tried changing the relays from normally open to normally closed with no effect (I wanted to eliminate the relay coils). Towards the end of the firing were the interference is occurring, the relays are no longer triggering (unless I manually program a stop to read temps) and are always on.
I have ordered an opto-isolator and will be adding it to the circuit but I'd really like to figure out why this is happening before I modify things.
I've included an wiring diagram and two firing graphs. The bottom graph shows the erroneous drop in temps I'm consistently getting (with 3 different kilns). The sharp drop and then spike, was when I unplugged the kiln from the controller and plugged it directly into the wall. The spike was close to the correct temp. The drop after that was when the kiln sitter triggered which ended the firing.
The top graph shows a hold with spikes in temps depending on wether the relay and elements were on or off when the temperature reading was taken. Towards the end of this firing, I unplugged the pi from the wall and plugged it into a battery backup. The kiln daemon automatically resumes in case of a power flicker but as soon as the power was restored, I got one good reading and then the temps started dropping again. I then added code to turn off the power 200ms before a temp reading and that worked although my elements are weak enough that that pause every 10 seconds makes it hard to reach temps.
Thoughts on where this interference is being generated? Thanks for the help.
EDIT: I forgot to add that the thermocouple extension wire is shielded.
Attachments
-
172.6 KB Views: 36
-
36.5 KB Views: 31
-
39.2 KB Views: 23