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: http://www.github.com/wonbinbk/SSS
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.