UnifiedEngineering / T-962-improvements

Improvements made to the cheap T-962 reflow oven utilizing the _existing_ controller HW
GNU General Public License v3.0
786 stars 193 forks source link

Change on board thermocouple amplifier to get more reliable results #140

Open STB3 opened 6 years ago

STB3 commented 6 years ago

The TLC27L2CD has an iput offset of max. 10mV. For example the voltage at the thermocouple pins at 245°C is approx. 10mV! This could be somehow compensated by the calibration potentiometers but it is not very reliable. The offset drift of approx 1µV/K is fairly o.k. but we can do better.

Desolder the IC and solder a pin compatible LTC2051CS8 and you'll get max. 3µV(!!) offset and a drift over IC temperature of 3nV/K(!!). This means the LT2051 is a decade better than the old TI OpAmp.

taliesin commented 6 years ago

I'm using a OPA2333, see https://github.com/taliesin/T-962-improvements/wiki/Fixing-the--internal-Thermocouples

Maurizio66blu commented 2 years ago

I'm using a OPA2333, see https://github.com/taliesin/T-962-improvements/wiki/Fixing-the--internal-Thermocouples

I bought a OPA2333 but it is not clear what to do. Please, can someone who did this explain it better? Thanks

taliesin commented 2 years ago

In the text under https://github.com/taliesin/T-962-improvements/wiki/Fixing-the--internal-Thermocouples#replace-the-amplifier-set-correct-gain there should be enough information about what to do. You need to de-solder the original amplifiers, remove the trim resistors and replace them by fixed value resistors with the given values.

Maurizio66blu commented 2 years ago

In the text under https://github.com/taliesin/T-962-improvements/wiki/Fixing-the--internal-Thermocouples#replace-the-amplifier-set-correct-gain there should be enough information about what to do. You need to de-solder the original amplifiers, remove the trim resistors and replace them by fixed value resistors with the given values.

Sorry but after making the hardware changes do I need to make changes to the software too or is it enough to change the software settings?

Both the gain and the offset have to be changed, right? Is that enough or is it also necessary to recompile the software?

taliesin commented 2 years ago

You need to use my software tree as the new op-amp uses a different gain setting and therefore the temperature calculation in adc.c must be adjusted. Take care to use the correct settings in config.h, they must correspond to the hardware patches you made.

With this op-amp there is typically no need to adjust gain and offset settings.

Maurizio66blu commented 2 years ago

You need to use my software tree as the new op-amp uses a different gain setting and therefore the temperature calculation in adc.c must be adjusted. Take care to use the correct settings in config.h, they must correspond to the hardware patches you made.

With this op-amp there is typically no need to adjust gain and offset settings.

Please, I would like to know if you have a way to publish the already modified sources? I think they can also be useful to others who want to make the same change.

taliesin commented 2 years ago

There is not much to do. Simply enable the USE_PRECISION_OPAMP in config.h for the other options read the documentation above and adapt as necessary, I can only guess what your hardware setup is. The source is in https://github.com/taliesin/T-962-improvements, if you need further insight please read the documentation there, it should be quite complete. If you have detailed questions, I'll do my best to answer them ... it's been a while since I wrote the code.

Maurizio66blu commented 2 years ago

There is not much to do. Simply enable the USE_PRECISION_OPAMP in config.h for the other options read the documentation above and adapt as necessary, I can only guess what your hardware setup is. The source is in https://github.com/taliesin/T-962-improvements, if you need further insight please read the documentation there, it should be quite complete. If you have detailed questions, I'll do my best to answer them ... it's been a while since I wrote the code.

I have seen that you have made a series of changes to the code which, however, do not interest me. I would prefer to just take the change to the adc.c file so that everything else remains unchanged as in the latest version (0.52). Can I do this or do I have to modify some other files after modifying adc.c?

taliesin commented 2 years ago

I'm sorry, but you will on your own, when pulling in only parts of my code. Taking only adc.c will most probably not work, but give it a try.

Maurizio66blu commented 2 years ago

I'm sorry, but you will on your own, when pulling in only parts of my code. Taking only adc.c will most probably not work, but give it a try.

I would like to know if your code is based on version 0.52 or if it is older.

Also how can I then configure the config.h file to implement only the change to the op amp and have everything else working as the standard version 0.52.

However, thank you for your support.

taliesin commented 2 years ago

I would like to know if your code is based on version 0.52 or if it is older.

It's based on 0.52 (simple check of the git log would have shown that).

Also how can I then configure the config.h file to implement only the change to the op amp and have everything else working as the standard version 0.52.

You can't. My fork deviates quite a lot from the original version. So either take it or leave it. However, if you are using the oven stand-alone (i.e. not connected to a computer), the oven will perform almost the same as the original version 0.52, if configured to do so. You leave away USE_SECONDARY_HEATER, USE_FET_DRIVER and define CONTROL_TEMPERATURE to LR_AVERAGE and should be done. No other HW-patches are necessary.

Maurizio66blu commented 2 years ago

I would like to know if your code is based on version 0.52 or if it is older.

It's based on 0.52 (simple check of the git log would have shown that).

Also how can I then configure the config.h file to implement only the change to the op amp and have everything else working as the standard version 0.52.

You can't. My fork deviates quite a lot from the original version. So either take it or leave it. However, if you are using the oven stand-alone (i.e. not connected to a computer), the oven will perform almost the same as the original version 0.52, if configured to do so. You leave away USE_SECONDARY_HEATER, USE_FET_DRIVER and define CONTROL_TEMPERATURE to LR_AVERAGE and should be done. No other HW-patches are necessary.

I forgot to mention that I also have the DS18B20. So I think I have to put "#define COLD_JUNCTION_IF TC_ONE_WIRE" or am I wrong?

A curiosity: what is the serial port used for?

taliesin commented 2 years ago

From config.h:

// the CJ compensation sensor, internal means the DS18B20 (or alike), no channel!
#define COLD_JUNCTION_IF        TC_INTERNAL

... so leave it that way.

A curiosity: what is the serial port used for?

It's the interface for SimpleCli, a minimalistic shell (commands and logging), however currently there is no tool for the PC to deal with the logging feature.

Maurizio66blu commented 1 month ago

Sorry if I return to write about this argument. I have changed the amplifier, I am using now an OPA2333A from TI. I also replaced the resistors, the 1K (R33, R37) with 1K 0,1% and 47K (R34, R38) with 2 resistor in parallel (158K 0,1%) that are equal to one from 79K. The trimmers RW3 and RW4 was removed and now is present a short. In this way the gain of every amplifier is equal to 80 because is 79/1+1. The software is version 0.5.2 but it show about 850°C for channel! The junction temperature is about 32,5°C.

I would like to avoid to change the software. I don't understand why I don't see a normal temperature because the gain is about as the original. During the pcb board rework, I don't have disconnected any connectors.

Can you help me telling where investigate? Thanks in advance.

Maurizio66blu commented 1 month ago

IMG_2356

The OpAmp was reworked with hotair while the resistors with a solder.

taliesin commented 1 month ago

Use the typical methods to debug electronics:

  1. check the voltage at the ADC pin, does it correspond to your reading of 850°C?
  2. If not the SW is broken, if yes check the amplifier input, if this corresponds to 850°C, the amplifier is ok, your thermocouple behaves strangely, otherwise your AMP is malfunctioning.
  3. if it's the AMP, measure the connections (ohms) from pin to pin and validate the resistors are connected correctly (a solder may be open). Don't directly contact the resistor pins, as you might push them down and this may create a contact.
  4. if the resistor connections look good, it might be a dead Opamp, it might have overheated during your hot-air reworking.
Maurizio66blu commented 1 month ago

The ADC Vref pin 63 has 3,3V as reference. The ADC pin TC1 and TC2 have 2,645V. Between pin 2 of U4 and ground I measure 1Kohm. Between pin 6 of U4 and ground I measure 1Kohm. Between pin 2 of U4 and pin 1 I measure 79Kohm. Between pin 6 of U4 and pin 7 I measure 79Kohm. I'll keep you updated.

Maurizio66blu commented 1 month ago

At room temperature, which measure do you have on TC1 and TC2?

taliesin commented 1 month ago

As I have a different gain, my ADC voltages differ (gain=220), the input voltage of K-type thermocouples at room temperature is approx. 0mV, if referenced to GND (junction), which is probably also at room temperature. So your amplifier output should be approximately 0V as-well, which it's not.

2.645V / 80 gives about 32mV, which corresponds to about 800°C+ambient, so the ADC-reading is fine, so are your ohmic readings. The fault is either your input voltage (TCs) or your amplifier.

Maurizio66blu commented 1 month ago

I suspect the amplifier because I bought it from Aliexpress in China. I am going to order one 100% original from Mouser.