Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - sparkybg

1186
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
This for sure is chinese copy, because:
1. This is a chinese seller.
2. The price is for chinese copy. The original costs several timer more.

One equivalent is JBC C245. In fact, I think it is better. It is even more compact than T12, and it has 130W peak power. It heats up 2 times faster.

Both Metcal and Weller have comparable irons. But, the tip price is x10, compared to chinese T12 clone.
1187
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
[quote author="diogoc"]Hum I will try run the PID every 20ms or at least 40ms, I have to see if the PID calculations and other functions can complete in this period. Do you think it is preferable to run the pwn in 19 or 39 ms + 1 ms to read the temperature? In that way I read the temperatue always in multiples of 50Hz so the noise is reduced.
[/quote]
The noise from mains is only reduced if you make measurements synchronously to the mains voltage. It does not matter otherwise.
If you are using floating point calculations - this will be slow. If you are using a microcontroller without hardware multiplication it will also be slow, but I think it will be achievable on 8Mhz device. Put only your ADC measurements and filtering in an interrupt routine. Put all other things in a loop. This way you will not have to worry about the speed of other routines. Than you will be able to run your PID and other functions on a 200ms period, but make measurements and filtering at 20ms intervals. The critical part here are measurements and filtering. The PID itself does not need to run so frequently.

[quote author="diogoc"]
I turn off the heater, wait 1.8ms, make the ADC measurement 4 times (pre-average), turn on the heater, and then I make the 16 last values average and run PID. I confirmed with the oscilloscope that after 1.8ms the voltage in the amplifier output has stabilized.
[/quote]
Measuring the voltage 4 times just gives you oversampling, and does not give you a real 4 measurements. With 10 bit ADC you don't really need overasmpling. Yes, this will help to suppress noise form the ADC, but nothing more. You must make more real measurements and then filter the data you've collected.

[quote author="diogoc"]
Your formula for the digital filter may have other advantages over the simple average but for the mathematical simulation that I did (a variation of temperature from 0 to 300) your formula takes much longer than 16 cycles for the value of the temperature reaches 300 ÂșC.[/quote]
This filter behaves exactly like your amplifier when you put capacitances on it. It behaves like an RC filter. If this is slow to you, you can try ADCAvg=ADCAvg-(ADCAvg>>2) +ADCVal. The frequency response of this filter depends of the shifting. This filter has infinite impulse response. The averaging has finite impulse response. It is up to you to decide what works best in your case. From the simulations you can see how the filter works, but you will not be able to "feel" how it works in real life, with real data. Look at the last movie I've uploaded in YouTube. This is done filtering data this way. I am not using averaging because it works better this way, although not drastically better.
1188
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
You may completely remove the capacitors as in my schematic. Averaging last 16 temperatures is enough for filtering out the noise, but considering 200ms period of the PWM, this may be too slow. You are averaging the temperatures from last 3 seconds, and this time is huge if you use T12 tips.

My PID runs at 50hz. And I am averaging last 8 or 16ADC results, but this results in averaging last 1/6 or last 1/3 second, compared to yous 3 seconds. Find a way to make measurements at least 20 times a second. Than you will have enough data to do filtering in a decent period of time.

Most soldering controllers run at 5-10 Hz, and this is more than enough when you have separate thermocouple, because you can read it's value at any given time and you can do all the filtering in the analog hardware. But when you have a series thermocouple, or a thermocouple that shares a connection with the heater, you have to do measurements as fast as possible, this excludes almost all possibilities for any analog filtering, and obligates you to make more measurements in order to be able to make filtering in software. Also this obligates you to use amplifiers fast enough in order be able to do the measurements faster. Consider making your period 20ms, and make the measurements in 1-2 milliseconds. This will give you 50 ADC values per second, and you can than average last 16 results. Also, before you say to the ADC to start measurement, you must give enough time for the amplifier to stabilise. For example, if you have 20ms period, and you are measuring in the last 2ms of it, turn the heater off at 18-th millicecond, than give the amplifier 1.5 milliseconds to stabilise, than make the ADC measurement, and than you can turn the heater on immediately. This will give you 90% maximum duty which you can easily compensate with slightly higher voltage, say 25 or 26 volts.

That's why you are reading different temperatures whan the heater is on and off - you are not giving it enough time, so the power to the heater devastates yous ADC results.

Also consider that when you are using a series thermocouple, there can be a local temperature gradients in the heater leads and thermocouple itself, because the power to the heater flows through the thermocouple itself. From my experience I can say that 1 of around 10 T12 tips behaves this way. So you must make your PID stable enough in order to be able to stabilise, despite the tip differences.

Also, instead of averaging you can use another type of digital filtering  that behaves much like an RC filter. For example, if you have a variable for averaging, called ADCAvg, and you read the ADC into variable called ADCVal, than for every new ADC value you can do ADCAvg=ADCAvg-(ADCAvg>>3)+ADCVal. This will result in averaged ADC value in the ADCAvg, multiplied by 8 in our case. It behaves differently than averaging, and it uses only one variable for averaging instead of a buffer with last 8-16 results.

Also, I can say that in my last software version, the temperature prediction algorithm works extremely well. When tuned properly, it completely removes any overshoot from the temperature, and still one can use a PI values that gives faster response. Currently, from the above averaged temperatures, I make a buffer with last 8 results, and I am calculating current temperature slope as the difference between the current temperature result, and the result that happened 8 measurements ago. Than I am filtering this calculated slope a second time, and then I multiply it with a gain constant that is more or less equivalent to the D coefficient in a PID, than I am adding it to the current temperature, and I am running a PI algorithm on this predicted temperature. Also, after this, I restrict the maximum possible duty at the moment if the temperature is above the desired temperature, in my case 5 percent for any degree. For example if the heater is at 301 degrees and the desired temperature is 300 degrees, I restrict duty to maximum of 95%, if the heater is at 310 degrees, the duty is restricted to 50%, and if 320 degrees, the heater is definitely off. But because I am looking at the predicted temperature, this happens not after, but before the iron overheats. Then the temperature slope gain is set correctly, the software knows exactly when to turn the power off and there is not any overshoots in the temperature.

Look at the last video I gave link to. On the left is the latest software on JBC C245 tip, and on the right it is the previous version of the software on a T12 tip. Look how the software shuts down the power (dot on the display) to the heater before it is overheated, and there isn't any overshoot - it just stops at 350 degrees and stays there. T12 behaves the same way with new software.
1190
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
And, here's a video of JBC C245 (left) compared to chinese HAKKO T12.

I had to change the DAC reference voltage from 4.096 to 2.048 volts and to optimize the PID alorithm a bit. No hardware changes at all, except removing the two filter capacitors on thermocouple amplifier. Because the heater and the TC in C245 tips share a common wire, the TC measurement shoud be done when the power to the tip is off to avoid erratic readings because of the voltage drops on cable an connections when heater current flows. The amplifier had to be fast enough, just like the amplifier for T12 tips.

Because of the PID optimisation, now even T12 tips are performing better, with less overshoot and faster reaction on big soldering joints.

http://www.youtube.com/watch?v=s8EptN6d ... e=youtu.be
1191
Project logs / Re: HAKKO (907ESD) and SOLOMON (SL-10/30) soldering iron dri
Some info about JBC C245 tips you may find helpfull:

Connections:
[attachment=0]

It behaves like it has a type C thermocouple. It sends more or less half the voltage of the K type thermocouple.

Because the (-) connection of the thermocouple is shared with the heater and the T245 handpiece is using 3 wires to connect to the soldering station, the measurements should be made with no power to the iron, because when there is a power to the iron, the small voltage drops on the cable and cable connections from controller to the tip are making the measurement erratic.

Be aware that if you are using 24V power, the maximum power delivered to the C245 tip should be limited in some way, because these tips have extremely  low resistance - around 3 ohms. This was made for fast heat up, and the heat up is really fast - aronud 2 seconds from room temperature to 350 degrees celsius, but the nominal power of the tips is stated as 50W (peak power 130W), so I doubt these tips will live long if they are constantly abused this way. I suspect the original JBC controller uses 130W only when fast heat-up is needed - when powering the controller for the first time or when the controller wakes up from sleep/standby.

IMHO, the hand piece and the tips are very well made, and very compact (C210 tips are even smaller), with good quality.
1193
Project development, ideas, and suggestions / Re: Chinese Soldering Iron Driver (Warning/Info Search)
I suspect it is made for a thermocouple, not thermistor. And thermocouple "simulates" a changing thermistor pretty good when you measure the resistance with a multimeter. Since the thermistors used by Hakko/Weller/etc are more expensive than a thermocouple, it is possible that this is the case.

Try using an iron with thermocouple and you will find out if I am right.

...also, I suggest you to try these T12 irons. The tips are very compact and well made. And 70W. I am using these (I am not from China :) ), and I don't want to hear about anything else. They heat up VERY fast and you can use them for anything from a TO247 to TQFP with 0.4mm spacing.
1194
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
[quote author="diogoc"][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[/quote]

You can do this of course. But:
- Most laptop supplies are around 19 volts. You will have 35-40 watts instead of 70
- I am not sure that AD8495 has enough speed for this exact purpose unless you use more voltage, and less maximum PWM duty. As I see it - you will have to give the amplifier enough time to stabilise, before you make ADC conversion. I think you will need around 3-4 milliseconds for this. So in order to get maximum power from the iron you will have to use bigger voltage than 24 volts.
- For the K thermocouple - you will have to compensate/calibrate in software. Most PIC18-s have a DAC reference for the ADC, so that won't be a problem. You can adjust the ADC reference so that the ADC reads 1000 for 500 degrees celsius on the iron. Then it is very easy for the software to do what it have to do without performing additional multiplication and divison. As far as I remember, you have 1.024V internal reference, which can be boosted to 2.048 and 4.096 volts. Than, you can put this as a reference to internal DAC, and put the DAC output as a reference to the ADC. It is pretty straightforward and flexible approach. It needed very little calibration on my controller - the trimmers for the gain is nearly at 50%.
- From my work on this, I can tell that it is better to have more data, than average it, and than use this averaged temperature as the input to your PID implementation. It works more stable this way. An alternative approach is to put a filter on the amplifier and use it for averaging, but this way you have all the noise from the amplifier and tha ADC in the data. When you average in software - it is pure mathematics - you average signal + noise, and this brings the noise to the lower level and makes the input data to the PID quieter so it works more stable.

Keep us in touch with your design. I will be glad to help with whatever i can. There is nothing too hard to do in this design. In fact, the hardest thing for me was optimizing the PID algorithm to work fast, stable, and without excessive over/undershoot. Anyway, you will see it yourself. It is time consuming, but it is fun to do. :)
1195
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
[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.
1196
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
[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.
1197
Project logs / Re: My HAKKO classic and T12/T15 soldering controller
[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.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01692457248session_write_close ( )...(null):0
20.01722588872ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01722589648Database_MySQL->query( ).../DatabaseHandler.php:119
40.06262728416Database_MySQL->error( ).../Db-mysql.class.php:273