• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Czujniki PT100
#1
Witam.
Mam szafę podgrzewającą zawartość w której zaszyte są czujniki PT100. Chińska elektronika sterująca grzałkami padła. Chciałbym wykorzystać do sterowania przekaźnikami arduino. Ale w pisaniu kodu to ja orłem nie jestem Sad .
Wyszperałem kod do używania cyfrowych czujników temp i dopisałem sterowanie przekaźnikami i działał idealnie... Ale potrzebuję wykorzystać zaszyte w szafie analogowe PT100. Znalazłem kod do odczytu wartości z pt100 i on działa ale po dopisaniu linijek odpowiedzialnych za przekaźniki na pinie D5 warjuje napięcie a co za tym idzie przekaźnik.
Czy podpowie ktoś jak dopisać żeby na D5 pokazywała się stała wartość przy zadanej temperaturze??
Dokładnie żeby wynik z "takeReading" wypisywany na serialu jako "temp" określał stan pinu D5 jako HIGH lub LOW przy odpowiednich wartościach odczytanych z analogowego pinu.. Bo widzę że te wartości są przekazywane na D5 bez stałej wartości.

Z góry dziękuję za pomoc lub wskazówkę co poprawić.


Kod:
 

 

 

/* This code calculates the temperature using a PT100,

 * circuit diagram can be found here:https://circuits.io/circuits/2962051-reading-temperature-from-pt100#schematic

 * The circuit has a temperature range of -51.85 to 129.87 degrees C

 * or -61.33 to 265.73 degree fahrenheit.  

 *

 * As the temperature equation fro the PT100 requires you to know the

 * resistance of it, you'll need to convert the voltage to a resistance

 * and this can be done by using y=mx+c formula(Rx=m*V+Roff) Rx is the pt100

 * resistance, m is the slope(ohms/volt), v is the voltage read into the analog pin

 * and Roff is the offset resistance(should be close to the real value you use when calculated.

 *  

 * To calculate the slope, you need to have the PT100 at steady state(settle at one temp)

 * and measure its resistance then measure the voltage at analog pin, do this for again at a different

 * temp.

 * Now we can find m: m=(R2-R1)/(V2-V1) eg from simulator (150-80)/(4.97-0.036)

 * m = 14.187 ohms/volt

 * to find c just fill one of the values into the Rx=m*V+c

 * c = 150-14.187*4.97 = 79.489ohms

 *

 * Written by Roboro

 * Github: https://github.com/RonanB96/Read-Temp-From-PT100-With-Arduino

 * Circuit: https://circuits.io/circuits/2962051-reading-temperature-from-pt100/edit#breadboard

 * Blog: https://roboroblog.wordpress.com

 * Instrustable Post:http://www.instructables.com/id/Reading-Temperature-From-PT100-Using-Arduino/

  */


// You'll need to download this timer library from here

// http://www.doctormonk.com/search?q=timer

#include "Timer.h"


// Define Variables

float V;

float temp;

float Rx;

int relepin = 5; // pin przekaźnika 4


// Variables to convert voltage to resistance

float C = 79.489;

float slope = 14.187;


// Variables to convert resistance to temp

float R0 = 100.0;

float alpha = 0.00385;


int Vin = A5; // Vin is Analog Pin A0


Timer t; // Define Timer object


void setup() {

  Serial.begin(9600); // Set Baudrate at 9600

  pinMode(Vin,INPUT); // Make Vin Input

  pinMode(relepin, OUTPUT); // przekaźnik

  t.every(1000,takeReading); // Take Reading Every 100ms

}


void loop() {

  t.update(); // Update Timer

  if(analogRead(0) <= 28.00){ digitalWrite(relepin, HIGH);} // jeśli temperatura jest mniejsza niż ... stopni, włącz przekaźnik

if(analogRead(0) >= 40.00){ digitalWrite(relepin, LOW);}//jeśli tempo. więcej niż 30, a następnie wyłącz przekaźnik

}


void takeReading(){

  // Bits to Voltage

  V = (analogRead(Vin)/1023.0)*5.0; // (bits/2^n-1)*Vmax

  // Voltage to resistance

  Rx = V*slope+C; //y=mx+c

  // Resistance to Temperature

  temp= (Rx/R0-1.0)/alpha; // from Rx = R0(1+alpha*X)

  // Uncommect to convet celsius to fehrenheit

  // temp = temp*1.8+32;

  Serial.println(temp);

}

Wysłane z mojego RMX3085 przy użyciu Tapatalka
 
Odpowiedź
  


Wiadomości w tym wątku
Czujniki PT100 - przez Alfiszcze666 - 16-05-2023, 15:59
RE: Czujniki PT100 - przez kaczakat - 16-05-2023, 16:57
RE: Czujniki PT100 - przez Alfiszcze666 - 17-05-2023, 15:50
RE: Czujniki PT100 - przez Irvin - 17-05-2023, 18:14

Skocz do:


Przeglądający: 1 gości