K8200 + E3d PT100 thermocouple and amplifier board issue

Hi all. I have successfully wired the thermocouple amplifier board to the therm pins for the extruder and soldered an additional 5v pinout from the board. All is connected fine but im getting odd temperature readings.

I have copied the correct sensor 20 table from the marlin sensors portion of the firmware and also amended the configuration.h to reflect this.

However I am getting an incorrect temperature being reported by the repetier software. The nozzle is reported as idling at 34C (infrared thermomitor reads 20C) so its out by at least 10C. Does anyone have any idea what the reason for this may be?

Thanks in advance

Andrew

What type of amplifier board do you use?
Do you use the correct type of thermocouple for that board?

I used the full upgrade kit from E3D

e3d-online.com/V6-PT100-Sensor-Kit

Everything is wired correctly also.

Thanks

Okay, so the thermocouple should fit the board. :wink:

There is no information on what chip is usde on the board.
Any information in the Manual about that?

It’s crucial to know what voltage is output at a specified temp and what the delta in mv/degree is to choose or make a correct table.

e3d-online.com/Electrical/Electr … fier-Board thats the actual amplifier board.

I have updated latest marlin firmware and fiddled about with the thermotables.h

in the latest firmware pt100 with a 1k and 4.7k pullup resistor are listed but neither of those work and the table recommended by e3d to use (20) still gives very innacurate readings

This is the thermtable for setting 20 as recommended by E3D

#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
/* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
This does not match the normal thermistor behaviour so we need to set the following defines */
#if (THERMISTORHEATER_0 == 20)
#define HEATER_0_RAW_HI_TEMP 16383
#define HEATER_0_RAW_LO_TEMP 0
#endif
#if (THERMISTORHEATER_1 == 20)
#define HEATER_1_RAW_HI_TEMP 16383
#define HEATER_1_RAW_LO_TEMP 0
#endif
#if (THERMISTORHEATER_2 == 20)
#define HEATER_2_RAW_HI_TEMP 16383
#define HEATER_2_RAW_LO_TEMP 0
#endif
#if (THERMISTORHEATER_3 == 20)
#define HEATER_3_RAW_HI_TEMP 16383
#define HEATER_3_RAW_LO_TEMP 0
#endif
#if (THERMISTORBED == 20)
#define HEATER_BED_RAW_HI_TEMP 16383
#define HEATER_BED_RAW_LO_TEMP 0
#endif
const short temptable_20[][2] PROGMEM = {
{ 0 * OVERSAMPLENR , 0 },
{ 227 * OVERSAMPLENR , 1 },
{ 236 * OVERSAMPLENR , 10 },
{ 245 * OVERSAMPLENR , 20 },
{ 253 * OVERSAMPLENR , 30 },
{ 262 * OVERSAMPLENR , 40 },
{ 270 * OVERSAMPLENR , 50 },
{ 279 * OVERSAMPLENR , 60 },
{ 287 * OVERSAMPLENR , 70 },
{ 295 * OVERSAMPLENR , 80 },
{ 304 * OVERSAMPLENR , 90 },
{ 312 * OVERSAMPLENR , 100 },
{ 320 * OVERSAMPLENR , 110 },
{ 329 * OVERSAMPLENR , 120 },
{ 337 * OVERSAMPLENR , 130 },
{ 345 * OVERSAMPLENR , 140 },
{ 353 * OVERSAMPLENR , 150 },
{ 361 * OVERSAMPLENR , 160 },
{ 369 * OVERSAMPLENR , 170 },
{ 377 * OVERSAMPLENR , 180 },
{ 385 * OVERSAMPLENR , 190 },
{ 393 * OVERSAMPLENR , 200 },
{ 401 * OVERSAMPLENR , 210 },
{ 409 * OVERSAMPLENR , 220 },
{ 417 * OVERSAMPLENR , 230 },
{ 424 * OVERSAMPLENR , 240 },
{ 432 * OVERSAMPLENR , 250 },
{ 440 * OVERSAMPLENR , 260 },
{ 447 * OVERSAMPLENR , 270 },
{ 455 * OVERSAMPLENR , 280 },
{ 463 * OVERSAMPLENR , 290 },
{ 470 * OVERSAMPLENR , 300 },
{ 478 * OVERSAMPLENR , 310 },
{ 485 * OVERSAMPLENR , 320 },
{ 493 * OVERSAMPLENR , 330 },
{ 500 * OVERSAMPLENR , 340 },
{ 507 * OVERSAMPLENR , 350 },
{ 515 * OVERSAMPLENR , 360 },
{ 522 * OVERSAMPLENR , 370 },
{ 529 * OVERSAMPLENR , 380 },
{ 537 * OVERSAMPLENR , 390 },
{ 544 * OVERSAMPLENR , 400 },
{ 614 * OVERSAMPLENR , 500 },
{ 681 * OVERSAMPLENR , 600 },
{ 744 * OVERSAMPLENR , 700 },
{ 805 * OVERSAMPLENR , 800 },
{ 862 * OVERSAMPLENR , 900 },
{ 917 * OVERSAMPLENR , 1000 },
{ 968 * OVERSAMPLENR , 1100 }
};
#endif

but this gives my initial idle temperature of around 38/39C when my infrared thermometer reads approx 21-22C

I followed the advice from another thread on this forum for using the amplifier board with the k8200 control board. I have the ground and signal (from therm) wired to ground and signal on the amp board, and i have installed a new pin socket from a 5v pad under one of the stepper drivers on the control board and have this wired to the 5v on the amp board. I have measured the 5v and it reads a steady 4.98v.

Ill be honest, I literally have no clue as to how I would do a custom temperature table and id probably never trust it. I just dont understand how others have done this and it apparently works, but it just doesnt match up with mine. viewtopic.php?f=53&t=13596

Hi,

Have you tried using the heat bed to calibrate the PT100 sensor? - OK it will be a limited calibration range 20 - 100degC depending on your particular power supply and assumes the temperature calibration for the bed is OK.

I would take the PT100 sensor and sit it on the heat bed. Ensure there is a good contact between the sensor and the bed - ideally use a thermally insulating material or something that won’t radiate the heat away. Now monitor the raw voltage from the PT100 amplifier using a voltmeter. Now switch on the bed and allow the temperature to stabilise, add some time for the bed temperature to stabilise / look for PT100 output voltage to stabilise, now record the temperature and voltage. Now repeat for a few other temperatures.

Now plot the e3d Pt100 calibration data in excel on one curve. now produce another plot with your measured data. How do these compare?

Relying on an infra-red thermometer is not easy to acquire an accurate temperature as the reflectivity of the surface you are trying to measure can have a significant effect!!!