Sensor PT1000 e Sensor NTC10

outra foto

Encontrei alguns erros nas ligações tou a corrigir ja dou noticias

Problemas electricos resolvidos estava a trocar o 2 com o 3 e o potenciometro tinha me enganado 5v com o GND.

Agora so falta os Codigos :( esta sera outra dor de cabeça :)

Ok... testaste o exemplo e biblioteca que está no link??

Qual?

Existe la n coisas que não consigo Abrir

Este computador esta mesmo a precisar de uma reforma :(

Penso que seja isto: mas ta a dar erro na librarie falta WProgram.h

//---------------------------------------------------------------------------- // RTD Module Example Sketch // Last revision 30 November 2009 // Licence: GNU GPL // By Trystan Lea //----------------------------------------------------------------------------

//---------------------------------------------------------------------------- // Load RTD library and create new instance //----------------------------------------------------------------------------

include "RTDModule.h"

RTDModule rtd;

//---------------------------------------------------------------------------- // Temperature variables //---------------------------------------------------------------------------- double CYLB,CYLT,COL;

//---------------------------------------------------------------------------- // Setup //---------------------------------------------------------------------------- void setup() { rtd.setPins(4,5,2); //RTD PT1000 pins 4,5 are digital pins for multiplexer, 2 is analog input

//rtd.calibration( input number, scaler, offset ) rtd.calibration(0, 0.120270927, -15.066198679); //INPUT 0 pin 12 rtd.calibration(1, 0.120821076, -13.824162893); //INPUT 1 pin 14 rtd.calibration(2, 0.120400012, -14.91327759); //INPUT 2 pin 15

analogReference(INTERNAL); //Set reference to 1.1V ready for RTD measurements

Serial.begin(9600); }

//---------------------------------------------------------------------------- // Main loop //---------------------------------------------------------------------------- void loop() { //Get temperatures and pass through digital low pass filter COL = digitalLowPass(COL, rtd.getTemperature(0) ,0.90); CYLB = digitalLowPass(CYLB, rtd.getTemperature(1) ,0.90); CYLT = digitalLowPass(CYLT, rtd.getTemperature(2) ,0.90);

//Print temperatures out to serial Serial.print(COL); Serial.print(' '); Serial.print(CYLB); Serial.print(' '); Serial.println(CYLT);

} //----------------------------------------------------------------------------

//Digital low pass filter double digitalLowPass(double last_smoothed, double new_value, double filterVal) { double smoothed = (new_value * (1 - filterVal)) + (last_smoothed * filterVal); return smoothed; }

Penso que descobri o problema tinha de mudar na libraria por Arduino.h

Faz a leitura mas n me ta a dar em graus centrigados :(

O site dizia que tens de calibrar a leitura.... fizeste isso? Era para isso que serve o potenciómetro...

Não fiz isso não vou ler com mais atenção como tive problemas com a libraria e penso ter resolvido não tomei atenção a mais nada.

Está correcto o que fiz? para resolver o problema da librarie quando faltava WProgram.h substituir por Arduino.h?

Sim, se compilou, em princípio era esse o problema.

Outro problema é que a biblioteca não é feita para a a tua aplicação. Então tens de adaptar a biblioteca:

No ficheiro RTDModule.cpp

void RTDModule::setPins(int _dpinA, int _dpinB, int _analogInPin)
{
   analogInPin = _analogInPin;
//   dpinA = _dpinA; //   setChannel(channel);  //TIRA ESTA LINHA
//   dpinB = _dpinB; //   setChannel(channel);  //TIRA ESTA LINHA

//   pinMode(dpinA, OUTPUT);  //   setChannel(channel);  //TIRA ESTA LINHA
//   pinMode(dpinB, OUTPUT);  //   setChannel(channel);  //TIRA ESTA LINHA
   dval=10;                  //A delay value..
}
[...]

double RTDModule::getTemperature(int channel)
{
//   setChannel(channel);  //TIRA ESTA LINHA
   double temperature = scale[channel] * analogRead(analogInPin) + offset[channel]; 
   return temperature;
}

Agora tens de adaptar o código:

//----------------------------------------------------------------------------
// RTD Module Example Sketch
// Last revision 30 November 2009
// Licence: GNU GPL
// By Trystan Lea
//----------------------------------------------------------------------------

//----------------------------------------------------------------------------
// Load RTD library and create new instance
//----------------------------------------------------------------------------
#include "RTDModule.h"
RTDModule rtd;

//----------------------------------------------------------------------------
// Temperature variables
//----------------------------------------------------------------------------
double Temperatura;

//----------------------------------------------------------------------------
// Setup
//----------------------------------------------------------------------------
void setup()
{
  //rtd.calibration( input number, scaler, offset )
  rtd.calibration(0, 1.0, 1.0);   //INPUT 0 pin 12

  analogReference(INTERNAL);                        //Set reference to 1.1V ready for RTD measurements

  Serial.begin(9600);
}

//----------------------------------------------------------------------------
// Main loop
//----------------------------------------------------------------------------
void loop()
{
  //Get temperatures and pass through digital low pass filter
  Temperatura = digitalLowPass(Temperatura, rtd.getTemperature(0) ,0.90);
  
  //Print temperatures out to serial
  Serial.print ("Temperatura:"); 
  Serial.println(Temperatura);
  
//So para teste... 
delay(1000);
}
//----------------------------------------------------------------------------

//Digital low pass filter
double digitalLowPass(double last_smoothed, double new_value, double filterVal)
{
  double smoothed = (new_value * (1 - filterVal)) + (last_smoothed * filterVal);
  return smoothed;
}

atencao, um sensor ptc e um sensor ntc tabalham de maneira diferente:

enquanto um aumenta a resistencia com a subida de um grau centigrado, no outro diminui.

Sim e o PTC não costuma ter a precisão da NTC, sendo por isso usado como fusível térmico em vez de sensor.

Neste caso é uma sonda PT... nota também que o código é feito de propósito para sondas PT, não NTC. :)

boas bubulindo,

Tive ausente ver este fim de semana se volto a ver tudo e resolver tudo o que falta basicamente o que notei é que estava a dar a leitura em Fahrenheit e necessito que dê em graus centrigados.

Cumprimentos

Tive ausente ver este fim de semana se volto a ver tudo e resolver tudo o que falta basicamente o que notei é que estava a dar a leitura em Fahrenheit e necessito que dê em graus centrigados.

Se o que te falta for só isso entao isso é um figo :grin:

°C = (°F - 32) x 5/9

Basta aplicares a formula pra teres em Celsius

tecnisol: Tive ausente ver este fim de semana se volto a ver tudo e resolver tudo o que falta basicamente o que notei é que estava a dar a leitura em Fahrenheit e necessito que dê em graus centrigados.

Parece-me estranho isso... mas se for so uma questao de converter (e calibrar....) e bem simples.

Boa noite bubulindo e HugoPT... antes de mais gostava de agradecer a vossa ajuda neste topico... infelizmente não consegui resolver o problema com o sensor PT1000 ao ponto de parar por um tempo e ate mesmo pensar em desistir... actualmente estou a pensar voltar a fazer tudo de novo e tlv começar tudo do 0... Posso contar com a vossa ajuda? Neste projecto so me falta mesmo conseguir ler esta sonda em graus centrigados...

Cumprimentos João Martins

Vendo apenas por alto o que é o tópico, não me parece uma tarefa muito difícil. Eu tenho por aqui uma NTC a funcionar sem problema (e em graus centígrados). Também tenho algures uma PT100 que posso testar se funcionaria da mesma forma (a diferença para a PT1000 é a resistência nominal que passa de 1000Ohm para 100Ohm).

Edit: Depois de ler com mais atenção alguns post, devo dizer que não usei nada do que esteve aqui em discussão, apenas um mero divisor de tensão formado por uma resistência 10k e a NTC.

Eu tb tenho com NTC10 sem problema mais existe uma sonda q necessita ser uma PT1000 devido a temperatura do local pode chegar aos 200ºC dai a necessidade de usar a mesma.

O que e que ja tens feito?

Sem saber exactamente o que falta e dificil. Comeca pela sugestao do luis e faz um divisor resistivo com a PT1000. Ve a resposta medindo resistencia e tensao se possivel.

Lembra-te da escala... possivelmente um equipamento que e feito para medir ate 1000 graus nao vai ter a mesma escala que um que mede ate 100... Tens como colocar a PT1000 em 100 graus ou mais se possivel?