Skip to main content
Topic: My HAKKO classic and T12/T15 soldering controller (Read 282409 times) previous topic - next topic

Re: HAKKO (907ESD) and SOLOMON (SL-10/30) soldering iron dri

Reply #15
[quote author="neslekkim"]
Is it made for some specific enclosure?[/quote]

Yes. I've got a BlackJack Solderwerks BK3000LF station, and I made the PCBs to fit in it. I made a different back plate with hole for the handle sensor 6p6c jack.
Here's how it looks:


There is nothing left from original controller in it. Only the power transformer.

The sensor is made to fit in the original stand also (shown on the picture). I only had to drill 4 more holes on it (2 for PCB mount and 2 for IR transmitter and receiver).

thanks sparkybg

Reply #16
I've never heard of that calibration technique.  Thanks :-)
Now I have to get some 63/37 solder but that's cheaper than the calibration device :-)

Re: HAKKO (907ESD) and SOLOMON (SL-10/30) soldering iron dri

Reply #17
I have made some measurements. Is is some kind of non-standart thermocouple in there. It is between 18 and 19 uV per degree celsius. This is non-standart value and I don't know what type of thermocouple can this be.

...but I am using a chinese clone of T12 tips. I don't know how the original ones perform. I will buy one original and measure it also. But it's price is 6-7 times up, compared to chinese.

P.S.: Just measured my other soldering iron's thermocouple (HAKKO 907 or something like this). 52.7uV per degree celsius. This is more like an iron-constantan type J thermocouple.

Re: HAKKO (907ESD) and SOLOMON (SL-10/30) soldering iron dri

Reply #18
19 uV/ºc is a D type thermocouple, but I think it is expensive so Hakko would not use such type of thermocouple.
 From the standard types of thermocouples the N type is the closest, but even so the error is too large.

Re: HAKKO (907ESD) and SOLOMON (SL-10/30) soldering iron dri

Reply #19
[quote author="diogoc"]19 uV/ºc is a D type thermocouple, but I think it is expensive so Hakko would not use such type of thermocouple.
 From the standard types of thermocouples the N type is the closest, but even so the error is too large.[/quote]

I don't think is an expensive type of thermocouple. Most likely, it is a standart cheap thermocouple, but something in the construction of the tip changes it's output - for example the contact between heater and it's terminals which again is more or less a thermocouple.

Re: My HAKKO classic and T12/T15 soldering controller

Reply #20
I took a look at your PID code but it is a little confusing.
What is your source for that PID algorithm?

Re: My HAKKO classic and T12/T15 soldering controller

Reply #21
Another question..
I realized that the heater is on or off during the whole mains period. That is, you do not use a PWM with a fixed period and varying on and off times, right?
If I use a common PWM the interval between each PID calculation should be at least greater than one PWM period?

Re: My HAKKO classic and T12/T15 soldering controller

Reply #22
[quote author="diogoc"]I took a look at your PID code but it is a little confusing.
What is your source for that PID algorithm?[/quote]

The source is my brain. :)

It works this way:
1. At a given moment of time we have current temperature (TempAVG), current PWM percentage, and current rate of change of the temperature for this PWM (TSlope).
2. From what we have, the code tries to predict what would be the temperature after a certain amount of time (TempAVG + TSlope), and using PI algorithm on that predicted temperature changes the PWM in order to reach the desired temperature.

Both "TempAVG" and "TSlope" are averages of past data in order to eliminate the noise in temperature measurements.

By definition, the "P" part of the PID algorithm works on the current status, the "I" part works on the past, and the "D" part works on future. So, my algorithm is indeed a PID algorithm, just in a bit more strange form. Someone with a better mathematical skills can even do a formulas on this. I just found out that it works faster and with less overshoot this way.

Moreover, many algorithms doesn't show the real temperature on the display, and the user have a feeling that the temperature is stable and without over/undershoots. I personally don't like this. My code shows the real measured temperature (averaged over the last 8-16 measurements), and you can see all the overshoots, undershoots, reaction of the code and so on. This way everyone can see what actually happens at the moment, not what the code developer wants to happen.

[quote author="diogoc"]Another question..
I realized that the heater is on or off during the whole mains period. That is, you do not use a PWM with a fixed period and varying on and off times, right?
If I use a common PWM the interval between each PID calculation should be at least greater than one PWM period?[/quote]

Yes. I am using a sort of "fixed on time, variable off time" algorithm. It is simple and works great.

You have a counter (PWMCNT), and on every mains period a PWM is added to this counter. If the counter becomes more than one, you switch the heater on and subtract one from the counter.

For example, consider PWM duty of 63% (0.63). At the beginning the counter is initialized to 0. Here is what happens:
1. Counter = counter + PWM duty. (0 + 0.63 = 0.63), the heater is switched off.
2. Counter = counter + PWM duty. (0.63 + 0.63 = 1.26), the heater is switched on, and one is subtraced from counter, so the conter is 0.26
3. 0.26 + 0.63 = 0.89 -> heater off
4. 0.89 + 0.63 = 1.52 -> heater on, counter = 0.52
5. 0.52 + 0.63 = 1.15 -> heater on, counter = 0.15
6. 0.15 + 0.63 = 0.78 -> heater off
7. 0.78 + 0.63 = 1.41 -> heater on, counter = 0.41
8. 0.41 + 0.63 = 1.04 -> heater on, counter = 0.04
9. 0.04 + 0.63 = 0.67 -> heater off
10. 0.67 + 0.63 = 1.30 -> heater on, counter = 0.30
11. 0.30 + 0.63 = 0.93 -> heater off
12. 0.93 + 0.63 = 1.56 -> heater on, counter = 0.56
13. 0.56 + 0.63 = 1.19 -> heater on, counter = 0.19
14. 0.19 + 0.63 = 0.82 -> heater off
15. 0.82 + 0.63 = 1.45 -> heater on, counter = 0.45

and so on.

Why I am doing it on mains period?  Because the temperature measurements are made on exact mains voltage every time, this way you eliminate the noise from the mains voltage in the measurements. And, you don't have to filter the transformer voltage with large capacitance - the electronics becomes much more compact this way, and cheaper too. The filter capacitors for 70W iron would be pretty big if you want to use real DC. And, the transformer is not loaded with high frequency, so it is happier (colder, quieter) this way. :)

Of course, you can use classic PWM, but if you continue to use rectified and unfiltered voltage and don't do the switching on  the zero cross of every mains period (note - full period, not half period), the load on the transformer would not be symmetric for positive and negative part of the period, and the transformers don't like this - they will be more noisy (some transformers can be heard even with ideal symmetric loads) and will become hotter.

I hope these answers clears the things a bit. If you have more questions, I will be glad to answer them also.


Re: My HAKKO classic and T12/T15 soldering controller

Reply #24
This circuit works with Hakko FM-2027 / 2028 iron?

Re: My HAKKO classic and T12/T15 soldering controller

Reply #25
I finally received my T12 tip. Now I can start to build the controller.
I'm trying to read the temperature of the tip (ambient temperature, without turn on the heating) but I get a lot of noise and the temperature value is not stable.
I'm acquire 10 samples each time to calculate the average but did not help much.
If I increase the capacitors in the input and output of the amplifier it stabilize, but in that way it is necessary a lot of time for the capacitors discharge between turning off the heater and start reading the temperature

Re: My HAKKO classic and T12/T15 soldering controller

Reply #26
[quote author="diogoc"]I finally received my T12 tip. Now I can start to build the controller.
I'm trying to read the temperature of the tip (ambient temperature, without turn on the heating) but I get a lot of noise and the temperature value is not stable.
I'm acquire 10 samples each time to calculate the average but did not help much.
If I increase the capacitors in the input and output of the amplifier it stabilize, but in that way it is necessary a lot of time for the capacitors discharge between turning off the heater and start reading the temperature[/quote]

Well, you have schematics, you have working firmware, you have PCBs ready - you just have to build it. I have done it for you a long time ago. :) And it works for sure. I am averaging last 8 or 16 samples form the ADC.

..and, as i said before, this is one of the reasons my station uses unfiltered rectified voltage from mains transformer - this way you eliminate the noise from 50 or 60Hz mains voltage, which injects itself everywhere, because it measures temperature on the mains zero cross point. You have HUGE amplification for this thermocouple amplifier, and you cannot make it slow, because you have to get the temperature fast in order not to spare too much time with power shut off.

However, one of the alternatives is to use higher voltage and maximum PWM duty less than 100%. For example, if you use 28.7 volts and maximum duty 70%, you will have the same 70W out of the iron, but you will be able to use 30% of the time for measurements.

Re: My HAKKO classic and T12/T15 soldering controller

Reply #27
[quote author="Tioleco"]This circuit works with Hakko FM-2027 / 2028 iron?[/quote]

Yes, it works. FM-2027 and FM-2028 are using T12/T15 tips, and this controller is made exactly for these tips. The only thing you should consider is how to connect the iron cable leads to the station. I am using cheap chinese plugs for this purpose. I had nowhere to find fair priced original hakko plug/socket.

Re: My HAKKO classic and T12/T15 soldering controller

Reply #28
[quote author="diogoc"]
I'm trying to read the temperature of the tip (ambient temperature, without turn on the heating) but I get a lot of noise and the temperature value is not stable.
[/quote]

Every thermocoule in the world will give you 0(zero!) voltage at ambient temperature. It will start building voltage on it after you heat it above the ambient temperature or cool it down below ambient temperature. Thermocouple measures the temperature difference, not the temperature itself.

Re: My HAKKO classic and T12/T15 soldering controller

Reply #29
[quote author="sparkybg"]
Every thermocoule in the world will give you 0(zero!) voltage at ambient temperature. It will start building voltage on it after you heat it above the ambient temperature or cool it down below ambient temperature. Thermocouple measures the temperature difference, not the temperature itself.[/quote]

OMG it is true. I do not know what I was thinking...

I'm trying to do my own soldering controller before give up and build your controller :)
my idea would be:
- use a laptop ac adapter for the power supply to reduce the the weight and dimension
- use a AD8495 for the thermocouple amplifier. It is for K thermocouples but if I linearize it in software it could work (maybe a stupid ideia)
- use a pic18f2550
- use a 3310 lcd
- use a rotary encoder to change the temperature

this probably is not the best topic to expose my questions but you are the only one here who has worked with T12 tips