DIY Soldering Station [part 5]

My soldering station is working nicely now for a while.
Below is my demo video of it. Not all functions demonstrated in this video though.

As always, all codes, schematics and PCBs is updated on my GitHub project page:
1. Heating control
In this version of code, heat is controlled using only Proportional controller (although the full PID controller is coded, but Integral and Derivative terms are commented out)
The reason for this is after tuning PID for a few set of values, I noticed Integral or Derivative only worsens system’s response, as you will see on some of the graphs below (All data and graphs is in /Data folder)

2. Calibrating heat sensor
You can calibrate this iron, using the two buttons SW2 and SW3. I don’t have a good and trusted thermometer around. So I only depend on the melting ice temp and hot boiling water to calibrate this.
First, press either Sw2 or SW3 while turning this station on. The LEDs will display “- – – -“, indicates calibrating mode.
Next put iron tip on melting ice for a few minutes, then press SW2. The LEDs will display “000°” for 0.5s and then display ADC value that it reads on the sensor for you to notice. It then saves this value to ROM.
Then you put iron tip on boiling water for a few minutes, then press SW3. The LEDs will display “100°” for 0.5s and then display ADC value that it reas on the sensor. It also saves this value to ROM.

You will have to reset the station after calibrating.

3. Auto-standby and auto-cool off
The station can detect whether the iron is resting on its holder or not. But you need to connect a wire from the holder (should be metal) to GND so the holder effectively becomes GND.
When you put the iron on this holder, the LEDs will display a RTclock and a timer will start. This RTclock can be adjusted using SW2 and SW3 if necessary. Although I have to admit this will be reset back to 00:00 when you turn the station off since it doesn’t have a back up battery.
After 20 minutes resting on its holder, the target temperature will be set to no more than 200 degC, depends on your temp setting at the moment.
After 30 minutes resting on its holder, the station will turn off heating, let the iron to cool down on itself. This is important and safe for me because I a forgetful person who usually forget to unplug soldering iron after work.
During and after this time, if iron get off its holder, the target temperature will be back to normal, which is whatever value that is set using the pot knob.

That’s all for this project. I could think of a few more functions to implement and the PIC still have some program memory space left (which is ~35% left on PIC16F873A and ~70% left on PIC16F876A). But for a smart soldering station, I think this version is good enough.
Please feedback if you think I miss something or you want to add something more.


4 thoughts on “DIY Soldering Station [part 5]”

  1. What program you use to compile this? i tryed MPLAB IDE 8.30, mikroC Pro Pic 7.1.0, CCS C compiler … none of them recompiled for PIC16F886 … they give me errors in libraries … can you compile it for pic16f886 because 876 are too expensive and i have a bunch of PIC16F886


    1. Sorry for my late reply.
      You have to use XC8 from Microchip to compile the program.
      I’ve never used PIC16F886 but I think the code will be compatible with that chip because PIC16F886 is actually the upgraded version of PIC16F876.


    1. Then really something is wrong with the simulator. Because in real life, it’s working.
      My advice: stear clear from simulator ;))


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s