04-28-2015, 05:36 PM

I have been having trouble getting a working table for my E3d v6 Extruder Thermistor and have spend several days working on it.

I wanted to document my process here so that others can review my work for any math, logic or procedural errors. As well as provide a reference for others who are working on their own tables.

Step 1: The Thermistor

The thermistor that came with my v6 extruder is a Semitec 104GT-2 100kOhm NTC Thermistor. Who's data sheet can be found here: http://www.atcsemitec.co.uk/gt-2-glass-thermistors.html

Fortunately, the data sheet lists the resistances for given temperatures. Rather than mess around with the Beta or other math I decided to build my table form these values directly.

Step 2: The Board

I have a Da Vinci 1.0 "Model 0" type board, jumper JP1 to reset, no pins.

(Note: Your board may have different circuit layouts, resistors or voltages.)

Step 3: The Thermistor Circuit:

Using my meter I was able to trace the layout of the circuit.

Vref to R27, R27 to the thermistor and to R29 (in parallel with C29), R29 to ground.

*see attached diagrams

(Note: For my purposes I labeled R27 "R1" and R29 "R2")

Step 4: Values

Using my meter I identified the Vref as 3.3V (3.26 measured)

(Note: Though the Vref value does affect the math, it did not affect the final table numbers as that is a function of the ratio between Vref and Vtemp.)

Using the SMC codes I calculated the resistor values

R27, Code: [472], Rated Value: 4700 Ω

R29, Code: [103], Rated Value: 10000 Ω

(Note: I was not able to confirm these values with my meter as the measured values were way off. I realized that being on the board I had no idea what other components they may be in parallel with :unsure: So unless I am overlooking something(?), I will go with the assumption that they are valued at what they are rated as.)

As I understand it C29 is just a filter capacitor and will not have any affect on the table calculations, so I ignored it.

Step 5: The Math

The Thermistor and R29(R2) are in parallel so there combined resistance(Rp) should be the calculated by:

Rp = 1/( (1/Rt) + (1/R2) )

Reference: http://en.wikipedia.org/wiki/Series_and_...l_circuits

Given the value of R27(R1) and the calculated value of Rp I should be able to calculate the measured voltage (Vt) using the voltage divider formula:

Vt = (Rp/(R1+Rp)) * Vref

Reference: http://en.wikipedia.org/wiki/Voltage_divider

Given the calculated measured voltage (Vt) I should be able to calculate the ADC(Analog to Digital Conversion) number using the formula

ADC = (Vt/Vref)* (Max value in Number Range)

(Note: I got the Max value in Number Range from another post on this board = 1023. I guess this is 10bit ACD? = 2^10 = 1024, so a range from 0 to 1023)

Reference: http://www.microchip.com/forums/m512372.aspx

Finally with the ADC value I can calculate my table values using the formula:

Value 1 = ADC*4, Value 2 = Temp °C *8

(Note: I got this formula from another post on this board. As I understand it we multiply by 4 because we are oversampling the input (4 times I assume) to reduce noise? And we multiply the temperature by 8 to increase the spread of the values for better ? um err precisions? Here my understanding breaks down, but I understand it enough to know that the multipliers are part of the ADC process and how to apply them

Step 6: The Table

With the formulas and values I made up a spread sheet to calculate the table and entered in the temperature resistance values from my thermistor's data sheet. Remembering to convert from the data sheet values of KΩ to Ω.

Step 7: the Application

This is the step I am on as of the time of this post.

I loaded up the table and did some quick initial testing with promising results.

I will need to do some more testing comparing various temperatures, Measured vs. Reported, and see how accurate and usable my table is. If I encounter any major issues or problems I will update in this thread.

Please review my work and let me know if I made any errors or are on the wrong track. Any help is appreciated.

I hope this is helpful to anyone else working on the similar issue.

FYI:

Here is the table I initially calculated, prior to testing.

We will see how well this works.

36 values

{{68, 2400},{79, 2320},{91, 2240},{105, 2160},{123, 2080},{144, 2000},{169, 1920},{199, 1840},{237, 1760},{281, 1680},{336, 1600},{403, 1520},{483, 1440},{580, 1360},{695, 1280},{831, 1200},{988, 1120},{1164, 1040},{1357, 960},{1561, 880},{1767, 800},{1966, 720},{2148, 640},{2306, 560},{2437, 480},{2441, 400},{2619, 320},{2676, 240},{2715, 160},{2742, 80},{2759, 0},{2769, -80},{2776, -160},{2780, -240},{2782, -320},{2783, -400}}

I wanted to document my process here so that others can review my work for any math, logic or procedural errors. As well as provide a reference for others who are working on their own tables.

Step 1: The Thermistor

The thermistor that came with my v6 extruder is a Semitec 104GT-2 100kOhm NTC Thermistor. Who's data sheet can be found here: http://www.atcsemitec.co.uk/gt-2-glass-thermistors.html

Fortunately, the data sheet lists the resistances for given temperatures. Rather than mess around with the Beta or other math I decided to build my table form these values directly.

Step 2: The Board

I have a Da Vinci 1.0 "Model 0" type board, jumper JP1 to reset, no pins.

(Note: Your board may have different circuit layouts, resistors or voltages.)

Step 3: The Thermistor Circuit:

Using my meter I was able to trace the layout of the circuit.

Vref to R27, R27 to the thermistor and to R29 (in parallel with C29), R29 to ground.

*see attached diagrams

(Note: For my purposes I labeled R27 "R1" and R29 "R2")

Step 4: Values

Using my meter I identified the Vref as 3.3V (3.26 measured)

(Note: Though the Vref value does affect the math, it did not affect the final table numbers as that is a function of the ratio between Vref and Vtemp.)

Using the SMC codes I calculated the resistor values

R27, Code: [472], Rated Value: 4700 Ω

R29, Code: [103], Rated Value: 10000 Ω

(Note: I was not able to confirm these values with my meter as the measured values were way off. I realized that being on the board I had no idea what other components they may be in parallel with :unsure: So unless I am overlooking something(?), I will go with the assumption that they are valued at what they are rated as.)

As I understand it C29 is just a filter capacitor and will not have any affect on the table calculations, so I ignored it.

Step 5: The Math

The Thermistor and R29(R2) are in parallel so there combined resistance(Rp) should be the calculated by:

Rp = 1/( (1/Rt) + (1/R2) )

Reference: http://en.wikipedia.org/wiki/Series_and_...l_circuits

Given the value of R27(R1) and the calculated value of Rp I should be able to calculate the measured voltage (Vt) using the voltage divider formula:

Vt = (Rp/(R1+Rp)) * Vref

Reference: http://en.wikipedia.org/wiki/Voltage_divider

Given the calculated measured voltage (Vt) I should be able to calculate the ADC(Analog to Digital Conversion) number using the formula

ADC = (Vt/Vref)* (Max value in Number Range)

(Note: I got the Max value in Number Range from another post on this board = 1023. I guess this is 10bit ACD? = 2^10 = 1024, so a range from 0 to 1023)

Reference: http://www.microchip.com/forums/m512372.aspx

Finally with the ADC value I can calculate my table values using the formula:

Value 1 = ADC*4, Value 2 = Temp °C *8

(Note: I got this formula from another post on this board. As I understand it we multiply by 4 because we are oversampling the input (4 times I assume) to reduce noise? And we multiply the temperature by 8 to increase the spread of the values for better ? um err precisions? Here my understanding breaks down, but I understand it enough to know that the multipliers are part of the ADC process and how to apply them

Step 6: The Table

With the formulas and values I made up a spread sheet to calculate the table and entered in the temperature resistance values from my thermistor's data sheet. Remembering to convert from the data sheet values of KΩ to Ω.

Step 7: the Application

This is the step I am on as of the time of this post.

I loaded up the table and did some quick initial testing with promising results.

I will need to do some more testing comparing various temperatures, Measured vs. Reported, and see how accurate and usable my table is. If I encounter any major issues or problems I will update in this thread.

Please review my work and let me know if I made any errors or are on the wrong track. Any help is appreciated.

I hope this is helpful to anyone else working on the similar issue.

FYI:

Here is the table I initially calculated, prior to testing.

We will see how well this works.

36 values

{{68, 2400},{79, 2320},{91, 2240},{105, 2160},{123, 2080},{144, 2000},{169, 1920},{199, 1840},{237, 1760},{281, 1680},{336, 1600},{403, 1520},{483, 1440},{580, 1360},{695, 1280},{831, 1200},{988, 1120},{1164, 1040},{1357, 960},{1561, 880},{1767, 800},{1966, 720},{2148, 640},{2306, 560},{2437, 480},{2441, 400},{2619, 320},{2676, 240},{2715, 160},{2742, 80},{2759, 0},{2769, -80},{2776, -160},{2780, -240},{2782, -320},{2783, -400}}