A temperatura do extrusor que estamos utilizando é
monitorada por um termistor. O Alain adquiriu recentemente algumas unidades, com
as seguintes características:
Murata NXFT15WF104FA 2 B
050
![[divider.png]](https://3.bp.blogspot.com/_QYCIPYPZ-pc/RwwXOBXcO_I/AAAAAAAAAmk/OMQlfgXe1xw/s1600/divider.png)
Rodei o
createTemperatureLookup.py em Windows e Linux com sucesso, utilizando parâmetros
de alguns exemplos, no entanto há falhas quando utilizo os parâmetros do
termistor mencionado acima e os da nossa placa: Vref=5V; R2=4k7; R1 não instalado (ou um valor estimado); ADC de 10 bits
Tentei variações nos parâmetros, algumas funcionam, outras não.
Alguém quer arriscar uma espiada pra tentar entender qual é o prob ?
Jorge L.
Alain
./createTemperatureLookup.py --r0=10000 --t0=25 --beta=4250
--r1=100000000 --r2=4700 --max-adc=1024
O ficou um bosta foi a tabela que ele gerou, precisamos achar valores
melhores para os resistores. Dá para ver que na faixa que nos interessa
não é nem um pouco corrigido:
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 373},
{54, 127},
{107, 101},
{160, 86},
{213, 76},
{266, 68},
{319, 61},
{372, 55},
{425, 49},
{478, 44},
{531, 39},
{584, 35},
{637, 30},
{690, 25},
{743, 20},
{796, 14},
{849, 8},
{902, 1},
{955, -9},
{1008, -32}
};
Alain
Em 16-06-2011 11:56, Jorge Lourenço Jr. escreveu:
>
> A temperatura do extrusor que estamos utilizando é monitorada por um
> termistor. O Alain adquiriu recentemente algumas unidades, com as
> seguintes características:
>
> *Murata NXFT15WF104FA 2 B 050*
>
>
> Resistance (25°C)(Ω): 100k ±1%
> B-Constant (25-50°C) (K): 4250 ±1%
> B-Constant (25-80°C) (K): 4303
> B-Constant (25-85°C) (K): 4311
> B-Constant (25-100°C)(K): 4334
> Operating Current for Sensor (25°C) (mA): 0.04
> Rated Electric Power (25°C) (mW): 7.5
> Typical Dissipation Constant (25°C) (mW/°C): 1.5
> Thermal Time Constant (25°C) (s): 4
> Terminals: 50mm, no twist
>
> No firmware do controlador de temperatura do extrusor há uma tabela de
> linearização que pode ser calculada por um programinha Python chamado
> createTemperatureLookup.py que está no diretório do prog RepRap reprap /
> firmware.
>
> Há um tutorial a respeito de termistores / utilização do prog:
>
> http://hydraraptor.blogspot.com/2007/10/measuring-temperature-easy-way.html
>
> [divider.png]
>
>
> Rodei o createTemperatureLookup.py em Windows e Linux com sucesso,
> utilizando parâmetros de alguns exemplos, no entanto há falhas quando
> utilizo os parâmetros do termistor mencionado acima e os da nossa placa:
> Vref=5V; R2=4k7; R1 não instalado (ou um valor estimado); ADC de 10 bits
>
> Tentei variações nos parâmetros, algumas funcionam, outras não.
>
> Alguém quer arriscar uma espiada pra tentar entender qual é o prob ?
>
> Jorge L.
>
--
--------
Nossa nova lista: http://groups.google.com/group/microsdiy-br/about?hl=pt-BR
Jorge L.
-----Mensagem original-----
De: repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em nome de Alain Mouette
Enviada em: quinta-feira, 16 de junho de 2011 12:53
Para: repr...@googlegroups.com
Assunto: Re: [RepRapBR] Tabela de linearização de termistor
O truque de atribuir um valor elevado a R1 eu já havia experimentado, mas deu o mesmo pau ... Não sei ainda onde estava o prob, mas rodou com os parâmetros corretos:
// Made with createTemperatureLookup.py (
http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
//
./createTemperatureLookup.py --r0=100000 --t0=25 --r1=100000000 --r2=4700
--beta=4334 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 100000000
// r2: 4700
// beta: 4334
// max adc: 1023
#define
NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1,
679},
{54, 231},
{107, 191},
{160, 169},
{213, 154},
{266,
142},
{319, 132},
{372, 123},
{425, 116},
{478, 108},
{531,
101},
{584, 95},
{637, 88},
{690, 81},
{743, 74},
{796, 67},
{849, 58},
{902, 48},
{955, 34},
{1008, 4}
};
-----Mensagem original-----
De:
repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em
nome de Alain Mouette
Enviada em: quinta-feira, 16 de junho de 2011
12:53
Para: repr...@googlegroups.com
Assunto: Re: [RepRapBR] Tabela de
linearização de termistor
Alain
Vc entrou com o valor errado para r0 ... Acabo de descobrir que r1=0
significa que não há resistor em paralelo com o termistor ..
Já planilhei, a curva parece correta.
Jorge L.
-----Mensagem original-----
De: repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em nome de
Alain Mouette
Enviada em: quinta-feira, 16 de junho de 2011 13:20
Para: repr...@googlegroups.com
Assunto: Re: [RepRapBR] Tabela de linearização de termistor
Algo de podre, mas estou fazendo uma planilha para visualizar melhor esses
http://reprap.org/mediawiki/images/5/5e/MeasuringThermistorBeta-ThermistorBe
ta.ods
Jorge L.
se R1 � menor, a tens�o nunca chega a 5V... o programa j� est� escrito
para ADC de 10bits e ele usa 1024 internamente. O valor na linha de
comando � at� que valor de leitura ele faz a tabela. Se passar do valor
m�ximo ele d� um LOG(num.negativo), esse � o erro. Tem que limitar o
m�ximo porque ela n�o faz isso.
Alain
Em 16-06-2011 13:41, Jorge Louren�o Jr. escreveu:
> Tem sim e n�o � na Dinamarca ;-)
>
> Vc entrou com o valor errado para r0 ... Acabo de descobrir que r1=0
> significa que n�o h� resistor em paralelo com o termistor ..
>
> J� planilhei, a curva parece correta.
>
> Jorge L.
>
> -----Mensagem original-----
> De: repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em nome de
> Alain Mouette
> Enviada em: quinta-feira, 16 de junho de 2011 13:20
> Para: repr...@googlegroups.com
> Assunto: Re: [RepRapBR] Tabela de lineariza��o de termistor
>
> Algo de podre, mas estou fazendo uma planilha para visualizar melhor esses
> valores em um gr�fico
>
> Alain


(anexo a planilha com o gr�fico)
/ ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=10000000
--r2=1000 --beta=4334 --max-adc=1000
// r0: 100000
// t0: 25
// r1: 10000000
// r2: 1000
// beta: 4334
// max adc: 1000
#define NUMTEMPS 17
short temptable[NUMTEMPS][2] = {
{1, 1171},
{64, 326},
{128, 269},
{192, 238},
{256, 217},
{320, 200},
{384, 186},
{448, 174},
{512, 163},
{576, 152},
{640, 141},
{704, 131},
{768, 119},
{832, 107},
{896, 91},
{960, 69},
{1023, -17}
};
Alain
Jorge L.
-----Mensagem original-----
De: repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em nome de
Alain Mouette
Enviada em: quinta-feira, 16 de junho de 2011 14:50
Para: repr...@googlegroups.com
Assunto: Re: [RepRapBR] Tabela de linearização de termistor
Consegui esta tabela que achei a mais otimizada até agora:
=> melhor sensibilidade na faixa de 200°C => ainda funciona em temperatura
ambiente, mesmo que sem muita precisão => tive que mexer no programa, ainda
vou mexer mais para resolver aquele erro que ele dá...


Alain
Em 16-06-2011 20:40, Jorge Louren�o Jr. escreveu:
> Heeeeinnnn ?????
>
> ------------------------------------------------------------------------
> *Assunto:* Re: [RepRapBR] Tabela de lineariza��o de termistor
> A corrente pode ser 40uA a 25�C, isso com 100k d� 4Wats !!! tem furo a�...
Vá lá que seja, interpretação: 16 mW
Jorge L.
-----Mensagem original-----
De: repr...@googlegroups.com [mailto:repr...@googlegroups.com] Em nome de
Alain Mouette
Enviada em: quinta-feira, 16 de junho de 2011 20:43
Para: repr...@googlegroups.com
Assunto: Re: [RepRapBR] Tabela de linearização de termistor
num disse que tem gato, qual a tua interpretação?
Alain
Em 16-06-2011 20:40, Jorge Lourenço Jr. escreveu:
> Heeeeinnnn ?????
>
> ----------------------------------------------------------------------
> --
> *Assunto:* Re: [RepRapBR] Tabela de linearização de termistor
O que ficou coerente com a outra coluna de 1.5mW/�C
Mexendo, mexendo, nessa planilha ficou interessante, d� para ver o
gr�fico, a potencia e o n�mero de degraus do ADC para cada 10�C... mas
por mais que mexa, melhora muito pouco
O que falta na verdade � a resistencia t�rmica do NTC para o case, isso
� que daria alguma diferen�a na medida com o NTC enfiado num buraquinho
de metal cheio de pasta t�rmica...
Alain
Mas tem um problema: ele d� uns coeficientes
* Temperature in Kelvin = 1 / {A + B[ln(R)] + C[ln(R)]3}
* where A = 0.001129148, B = 0.000234125 and C = 8.76741E-08
Isso seria a invers�o de: R=R0*e**(beta*(1/T-1/T0))
portanto: T=1/(ln(R)/beta-ln(R0)/beta+1/T0) em Kelvin
ent�o T=1/(0.000230734*ln(R)-8.903514E-6)
como?
Alain
Em 16-06-2011 21:47, Jorge Louren�o Jr. escreveu:
> Eu n�o tinha visto, boa indica��o !
> Claro, manda o que tiver ;-)
> Jorge L.
>
> ------------------------------------------------------------------------
> *De:* repr...@googlegroups.com [mailto:repr...@googlegroups.com] *Em
> nome de *Hradec
> *Enviada em:* quinta-feira, 16 de junho de 2011 19:23
> *Para:* repr...@googlegroups.com
> *Assunto:* Re: [RepRapBR] Tabela de lineariza��o de termistor
>
> Vc's viram isso?
>
> http://www.arduino.cc/playground/ComponentLib/Thermistor2
>
>
> E uma funcao q calcula a temperatura diretamente no arduino
>
> Eu testei com um thermistors de 100K e comparei com um thermocouple e um
> termometro industrial q vai ate 500C, e a resposta e bem equivalente!
>
> Eu converti a funcao pra python, e gerei uma tabela com 64 medicoes... e
> parece q ta funfando legal!!
>
> vou dar uma garibada no script e coloco aqui proces, se vcs quiserem!
>
> -H
> blog <http://hradec.blogspot.com/> home <http://hradec.com/>
>
Certamente é mais lento e ocupa mais espaço, mas ...
E daí ? Pode ser um impeditivo ou absolutamente irrelevante ...
O que me
aporrinha na equação de Steinhart-Hart é isto:
a, b and c are called the
Steinhart-Hart parameters, and must be specified for each
device
No caso dos termistores da Murata, um grande e
tradicional fabricante, não temos os dados necessários ...
Isto não funfa aqui [ WinXP ], alguém quer testar ?:
http://www.murata.com/products/design_support/mcnvs/index.html
Pode ser útil:
http://www.absorblearning.com/media/item.action?quick=pq
http://www.capgo.com/Resources/Temperature/Thermistor/ThermistorCalc.html
Jorge L.
-----Mensagem
original-----
De: repr...@googlegroups.com [mailto:repr...@googlegroups.com
] Em nome de Alain Mouette
Enviada em: quinta-feira, 16 de
junho de 2011 23:11
Para: repr...@googlegroups.com
Assunto: Re:
[RepRapBR] Tabela de linearização de termistor
é interessante, deve ser mais lento que a tabela...
Os mais intressantes s�o
Vref=5V, R1=1000, R2=1000
Vref=2V, R1=1000, R2=10000000
Vref=1,5V, R1=470, R2=10000000
Alain