Home     Contact     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS     Terms of services     Privacy policy  
 Home      Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science   

3 December 2011
Author: Giorgos Lazaridis
Triple PID Temperature Controller

Worklog - The PCB (December 18 2011)

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.



  Email (shall not be published)


Notify me of new posts via email

Write your comments below:
BEFORE you post a comment:You are welcome to comment for corrections and suggestions on this page. But if you have questions please use the forum instead to post it. Thank you.


  • At 13 November 2015, 16:59:17 user Larry Smith wrote:   [reply @ Larry Smith]
    • 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.

  • At 2 May 2013, 5:01:35 user Giorgos Lazaridis wrote:   [reply @ Giorgos Lazaridis]
    • @francois This chip does not need compensation. It has built in compensation. If the numbers are wrong, check if the chip has a problem.

  • At 24 April 2013, 9:35:47 user francois wrote:   [reply @ francois]
    • hi. i manage to get the right temp reading from a max31855k with k type probe but not from the max31855j with j type probe.

      my code for k type:
      char pcntr;
      char bita;
      float tempIC;
      unsigned long valueIC = 0;

      TCLK = 0;
      TCS = 0;
      // TCLK = 1;
      // TCS = 1;
      // __delay_ms(10);
      for (pcntr = 0 ; pcntr <32 ; pcntr )
      TCLK = 1; // set clk pin low
      // __delay_ms(10);
      bita = TDAT;
      if(bita == 1)
      valueIC = valueIC | 1;

      // Tbits[pcntr] = TDAT;
      // __delay_ms(10);
      TCLK = 0;
      // __delay_ms(10);
      if(pcntr !=31)
      valueIC = valueIC<<1;

      TCS = 1;
      valueIC = (valueIC>>18) & 0x3fff;

      valueIC = valueIC * 0.25;
      TEMPFROMIC =valueIC * 0.25;

      /// it gives value in degrees celcius
      but when i use j type ic and probe my readings are a little off.. how do i compensate?

  • At 18 December 2011, 10:38:54 user herctrap wrote:   [reply @ herctrap]
    • you could used the female header for the lcd

      and the male header for the pcb

  • At 4 December 2011, 22:52:44 user George wrote:   [reply @ George]
    • farnell / element14 has the 44pin TQFP package in 1 of quantities their reference 1770669


  • At 4 December 2011, 15:03:39 user Bartek wrote:   [reply @ Bartek]
    • I understand. Thanks for a reply, and good luck with your project.

  • At 4 December 2011, 13:57:37 user Kammenos wrote:   [reply @ Kammenos]
    • @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.

  • At 4 December 2011, 13:02:34 user Bartek wrote:   [reply @ Bartek]
    • It's your project, so you will make it as you like of course:)
      What do you think about thyristors?

  • At 4 December 2011, 10:13:18 user Kammenos wrote:   [reply @ Kammenos]
    • @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.

  • At 4 December 2011, 9:19:34 user Bartek wrote:   [reply @ Bartek]
    • 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?

  • At 4 December 2011, 6:29:19 user Kammenos wrote:   [reply @ Kammenos]
    • @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.

  • At 4 December 2011, 4:11:02 user George wrote:   [reply @ George]
    • It also comes in a tabbed package - so you can solder it

  • At 4 December 2011, 1:30:34 user cheerio wrote:   [reply @ cheerio]
    • This package is a pain in the ass.
      I don't have a hot air station :(

    reddit this Reddit this

     HOT in heaven!

    NEW in heaven!

    New Theory: AC electric motor working principle

     Contact     Forum     Projects     Experiments     Circuits     Theory     BLOG     PIC Tutorials     Time for Science     RSS   

    Site design: Giorgos Lazaridis
    © Copyright 2008
    Please read the Terms of services and the Privacy policy