Since all the chips (and most of the other parts) are SMD, breadboard prototyping was not possible. The first PCB design had only one thermocouple interface chip, and one analog switch from analog semiconductors. But the thermocouple voltage was too small for the analog switch to work, and the first board did not work at all. Here are some photos from the first design:
The single side PCB
I drilled and soldered the through-hole parts first
My first attempt to solder the PIC was successful, but messy...
This is the bottom side of the PCB
The first design had this G611 analog switch from Analog Devices
Highlight of the board: The "Power" led beneath the glass fuse
The second design worked perfectly
I re-designed the PCB and added 3 different thermocouple interface chips, one for each channel:
The new PCB
I drilled a hole at the heatsing of the PIC for the excess solder-totally pointless drill...
The PCB with all the SMD parts soldered.
The second attempt to solder a QFN/ML chip is much better: No solder smear
The Maxim MAX31855J - One for each channel. Do not forget the decoupling capacitors
The PCB as seen from the top side with the through-hole parts soldered.
Sandwich boards -or else- Stacking the boards
The PCB has the same size as a 20 by 4 LCD board, with the same drills for fixing the boards. The idea is that the LCD board will be stacked above the controller board. This means that there must be a 16-pin connector to interface the controller with the LCD. This female connector must be fixed at the bottom side of the board. The reason is that on the top side, there are some components that are very long, such as the big capacitors and the voltage regulators. But to solder the connector on the bottom side, would require a double-sided PCB design. So i had to find a way to solder the connector:
This is how the female connector must be soldered
First, i cut s strip from a pre-drilled PCB
I placed the connector on the PCB from the bottom side
And then i put the pre-drilled PCB
One detail from which (for some reason??) i didn't make any photos, is that i sanded the pre-drilled strip to reduce it's thickness. I used the dremel with a sanding paper to make it thinner.
The pre-drilled PCB is 1.6mm thick and i had to make it thinner with the dremel (no photos available)
Then i soldered the connector pins onto the pre-drilled strip
With a wide tape i temporarily fixed the strip onto the PCB
Now i can safely remove the connector cover from the bottom side
It is time to solder the connector pins onto the PCB
Finally, i placed the cover of the connector back
To fix the boards together i payed a visit at ebay and got some cool bronze stand-offs:
I got some nice bronze stand-offs
I fixed them on 4 holes of the 20x4 LCD
I had to put some washers as well
Then, i put the LCD board above my controller board
The idea is that the board will be fixed with 4 screws under a plexiglass, like this:
In the meanwhile, i used some long 20mm stand-offs that i had as legs. When i make the controller box with the plexiglass, i will remove these stand-offs and i will use simple M3 nuts.
This project is probably a stretch. Heater control is a big deal in industry and there are already many complex solutions to heating control. Each situation is different and the designer must know the parameters and tolerances he is working with. It is not possible for the equipment operator to be expected to adjust the PID parameters on the fly because that is the engineer's job and a very complicated one at that. Plus, the indiscriminate adjustment of various parameters on the fly can easily cause system instability that is difficult to understand and correct unless all the system details are known. You will probably NOT want to use 3 discreet resistors for the heating. Typcially a pot like this is heated using banded silicone surface heaters wrapped around the pot. You must define the allowable temperature variation under operating conditions and how quickly the temperature must stabilize. From that data you can specify how much power the controller must be designed for. The smaller the allowable temperature variation, the higher the required power. Heating control is a bit simpler than, say, a robotic arm or other mechanical device and I doubt you will need derivative factors to do it. Just the capacity to change the temperature of the pot - under various states of fill - should do it. Remember that as soon as liquid is poured from the pot, the applied power will need to be reduced immediately to avoid overheating the remaining fluid. I suggest checking into alternative sensing devices such as IR optical/temperature sensing to avoid breakdown of the tiny thermocouples. You will also get more accurate readings on temperature than a t.c. placed on the outside of the pot. These solutions are difficult and expensive. Have a look at the control circuitry that exists at the industrial level and you will get an idea of how complex it can be. Programming the PID parameters is an iterative process and cannot be done from a set of tables. Good project - not many out there that can do this work. Good Luck.
@Bartek thyristors would certainly work. But as i explained, i do not want to put high currents on the board for 2 main reasons: First this will increase the size of the board. I want the board to have the same size as an LCD 20 by 4 board. And second, to drive 12 amperes a thyristor will need a large heatsink. Solid state relays are not that expensive after all, and there are nice large heatsinks for SSRs suitable for electric cabinet installation.
But most important is that this controller will be used in an industrial application (in a big factory that makes wooden furniture), which means that the most vulnerable parts must be quickly and easily accessible and replaceable.
@Bartek I have already make other PID controllers. Therefore, for me, it is not a big deal to triple the program and make a triple PID. I may not use the D term at all, the reaction time of the system is slow and kinda stable.
But After all, it is more fun to make a PID controller -even if it is actually PI. And as i always say, something that is not fun to do it, its not worth doing it.
Hello, control engineering student here.
Although PID controller is very fancy, i believe in this sort of application it\'s an overkill. As long as you don\'t have to control temperature very precisely and the reference trajectory is not going to change rapidly too often, I\'d recommend using a simple two-state regulator with hysteresis. With PID, you have to take care of noises(I believe you know what happens when you try to calculate the derivative of noisy signal), also, you should implement anti-windup mechanism. Lot of coding and lot of possibility of problems. Two-state regulator requires just a few lines of code.
And instead of using a solid state relays, maybe a thyristors would be a cheaper and more reliable solution?
@George yes indeed, but Microchip offers this package only in 1000 reel :/
@Cheerio I felt exactly the same when i received the package. With the hot-air it is very easy to solder it. And in comparison with the PDIP package, this one needs at least half of the time to solder it.