Issue with AD8495 (Type 61) Thermocouple Temp Table

I'm in the process of building a new printer and I've run into an issue with the extruder temperature sensor displaying the wrong temp.

My setup is as follows:
Repetier Firmware: v1.0.1dev
RADDS 1.5
Arduino DUE R3e (genuine)
Adafruit AD8495 Thermocouple amplifier - https://www.adafruit.com/product/1778 
Type-K Insulated Thermocouple - https://www.adafruit.com/product/3245

I've wired the AD8495 up to the AUX ADC pins on the RADDS board (3.3v - ADC - GND) and verified that everything is working. When i check the temperature, it is showing as 256°C on the printers LCD display. I've tried swapping out the AD8495 and the thermocouple and every time I get around the same reading. I tried manually heating and cooling the thermocouple and verified that the temp displayed rose and fell accordingly.

After much head scratching, I happened to notice that the enclosure temp display in Octopi was sitting at 25.6°C.

It would appear that the temp table for Type 61 thermocouple is off by one full decimal place. Anyone have any ideas on how to correct?

Comments

  • It gets compute din Extruder.cpp around line 2264

        case 61: // AD8495 1.25V Vref offset (like Adafruit 8495 breakout board)

    #if CPU_ARCH == ARCH_AVR

            currentTemperatureC = ((float)currentTemperature * 1000.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 250.0f;

    #else

            currentTemperatureC = ((float)currentTemperature * 660.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 250.0f;

    #endif

    currentTemperature is the read analog value 0-4095 so temperature will vary between -250 and 410°C. It might be necessary to use the same equation as AVR if voltage is scaled with 5V base, so replace 660 by 1000.


    It is also very important to use the ADC at the side and not the themistor inputs which are in series with a 4.7K resistor!



  • Thank you. Yes I am using the ADC connection on the side of the board, not the thermistor inputs. Will test shortly and reply.
  • OK, this is just getting weird. Now at room temp, the hot end thermocouple is reading 749.8°C, while the heat bed thermister is reading steady at 22°C and the Pi is reporting 23.3°C for the enclosure.

    Excerpt from extruder.cpp

        case 61: // AD8495 1.25V Vref offset (like Adafruit 8495 breakout board)
    #if CPU_ARCH == ARCH_AVR
            currentTemperatureC = ((float)currentTemperature * 1000.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 250.0f;
    #else
            // currentTemperatureC = ((float)currentTemperature * 660.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 250.0f;
            currentTemperatureC = ((float)currentTemperature * 1000.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 250.0f;
    #endif

    Voltage measured across the pins is steady at 3.25v.

    I set the firmware back to default and reloaded. Now the thermocouple is reading 409.8°C.

    Tried different combinations of thermocouples and amps and still getting the same 400° + readings.






  • I have resolved my issue. During testing I had tried two different sets of jumper wires between the RADDS and the thermocouple amp. I found that both had shorts in the signal wire. After replacing with a known good set I was able to get steady temps that matched my other sensors. Thanks for the help.
Sign In or Register to comment.