Preciso converter a resistência em temperatura do NTC no arduino uno - C/C#/C++ - Clube do Hardware
Preciso converter a resistência em temperatura do NTC no arduino uno
Por Almirêz,
25 de setembro em C/C#/C++
Ir à solução Resolvido por codigo rapido, 25 de setembro
Almirêz
Almirêz 2
Olá. Desde já sou grato por aqueles que estiverem lendo.
Fiz um termômetro utilizando o " Waterproof NTC 10K 1% 3950 Thermistor Accuracy Temperature Sensor Cable Probe for W1209 W1401" (inclusive isso é quase tudo que sei sobre o termistor, já que o vendedor não tem o datasheet) em conjunto com o arduino uno, utilizando da formula de divisão de tensão e regra de três como verá a seguir, mas logo percebi que a temperatura não estava coincidindo com a de outros termômetros.
#define pinSensor A0; // pino analógico do sensor
int Vin = 5; //tensão de entrada
float Vout; // tensão de saída
int R2 = 220; //resistor da divisão de tensão
float R1; //resistência do sensor de temperatura
float valorTermistor; //leitura do sensor
valorThermistor = analogRead(A0);
Vout = (valorTermistor*Vin)/1023;
R1 = (R2*(Vin-Vout))/Vout;
temperatura = 250000/R1;
Revi o código e não encontrei nada, então continuei pesquisando, até que me lembrei que por se tratar de um NTC tem sua curva característica (forma uma função exponencial). Depois disso fui em buscas de outras fórmulas que estabelecessem a relação que preciso, não consegui fazer a fórmula a partir de outra ou algum raciocínio em específico. Aliás, encontrei uma fórmula na internet que outras pessoas utilizaram (como a Steinhart-Hart equation e a simplified B parameter equation. ), mas não consegui colocar no meu projeto, na verdade, nem as entendi muito bem.
Observação: acredito que o parâmetro B deste termistor seja 3950.
E justamente por não ter conseguido resolver esta questão (relação entre a resistência do termistor e a temperatura) que vim a este fórum. Estou necessitando de uma solução com urgência, já tentei tudo que imaginei, mas não consegui chegar a nenhum resultado mais satisfatório do que o primeiro (este que coloquei acima).
Grato a todos que leram e se preocuparam. Se precisarem de mais alguma informação estarei aqui.
Sem a curva caracteristica do seu NTC não tem como fazer isso.
Uma solução... descobrir a curva caracteristica do seu NTC
você vai precisar saber a faixa de operação que você quer trabalhar.
Se quiser que funciona de 10 graus à 50 graus, a ideia é arrumar um termometro e medir a resistencia para alguns pontos entre 10% a menos do seu minimo e 10% a mais do seu máximo.
Então vai encontrar um secador de cabelo ou uma geladeira e medir a resistencia quando seu termometro marcar :
5°, 15°, 30°, 45° e 55°
Ai, junto com as resistencias, precisará fazer o ajuste de curvas. Quando eu tenho esse tipo de problema, eu uso o metodo dos quadrados minimos. Esse é um exemplo de como encontar a curva caracteristica de uma função exponencial. A formula é igual para qualuqer caso:
https://www.youtube.com/watch?v=CgBpe6h0pDw
Ai, com essas medições de resistencia, encontrar a formular que representente a curva caracteristica do seu NTC. Sempre que trocar o seu NTC e você não tiver a curva caracteristica, vai precisar refazer esses calculos usando o mesmo método.
O seu caso é mais de eletrônica do que de programação.
Acho que seu topico deveria ser movido para Eletrônica. Lá, certeza, que se você mostrar uma foto do seu NTC ou der as especificações os usuários lá saberão te informar melhor que os daqui que é de programação.
@codigo rápido Obrigado
Em complemento ao comentado por @codigo rápido , uma vez colhido os dados, você pode usar o excel para obter a curva. Procure por "regressão não linear excel".
16 horas atrás, Flávio Pedroza disse:
Só pra provocar a mente dos estudiosos da matemática...
o conceito de linha não é o mesmo que o de reta. Mas toda equação na forma polinomial descreve uma linha. A unica equação que descreve uma reta é a equação de primeiro grau. Ou seja, uma reta é um caso de linha, mas uma linha nem sempre é uma reta.
Portanto, quando se fala em regressão não linear está se falando na verdade de regressão não retilinea? Hehehe... pra vcs pensarem no conceito de linha e de reta na matemática...
As variações do y em funções que dependem de condicionais (fora da forma polinomial), formam bicos (ou pontas nas linhas, demonstram que não são polinomiais) é quem deveriam se chamar de "equações" não lineares. Assim como essas equações não são derivaveis pelo mesmo motivo nesses pontos formarem bicos (ou buracos ou pontas)...
Somente valores que obedecem funções polinomiais podem ter uma forma de regressão a sua função original.
Me digam... devemos ou não mudar o nome de regressão linear para regressão retilinea e regressão não linear para regressão não retilinea? Bem... normalmente quando vejo um conjunto de gráficos como os da bolsa de valores, por exemplo, que não seguem um padrão, costumo dizer que é uma função não linear (significa aleatório).