KY-013
Analog temperature sensor module

ultimo aggiornamento 15 maggio 2022


 

Indice

Descrizione

Il modulo KY-013 Temperature sensor module fa parte della serie "37 In 1 Sensor Module Board Set Kit For Arduino", si tratta di un sensore di temperatura analogico basato su termistore NTC e da un resistore da 10 kΩ.
Nella serie esiste anche il modulo
KY-028 Temperature sensor module che utilizza lo stesso tipo di sensore.

Le NTC appartengono al tipo di resistenza che presentano una resistenza variabile in funzione della temperatura, ne esistono di due tipi le NTC e le PTC.

 

Resistenza NTC

Viene comunemente definito TERMISTORE oppure anche NTC (Negative Temperature Coefficient). La sua resistenza diminuisce all’aumentare della temperatura. Questi componenti sono costruiti con ossidi di metalli quali Cromo (Cr), Ferro (Fe), Cobalto (Co), Nichel (Ni), Manganese (Mn) miscelati da un legante plastico. Si possono trovano in commercio a forma di goccia, a disco, a sbarra.

Resistenza PTC

I resistori PTC (Positive Temperature Coefficient) a differenza delle NTC variano il valore della resistenza con l'aumentare all’aumentare della temperatura.

 

Come detto quella utilizzata sul modulo KY-13 è una NTC che può misurare una temperatura da circa -55 a +125 °C con una tolleranza di +- 0.5 gradi. Il valore viene calcolato utilizzando l'equazione di Steinhart-Hart per ricavare la temperatura precisa del termistore. Per il suo utilizzo si deve interfacciare con un microcontrollore con ingresso analogico.

 

Esempio di utilizzo del modulo KY-013 Temperature sensor module, si tratta di un sensore di temperatura analogico basato su termistore NTC e da un resistore da 10 kΩ.
 

ky-013Analog_temperature_sensor_module

 

homotix

PCBA

 

KY-013 Temperature sensor module KY-028 Temperature sensor module

 

Caratteristiche del modulo

Tensione di esercizio  5V
Intervallo di misurazione della temperatura da -55 ° C a 125 ° C
Precisione di misurazione

 ± 0,5 ° C

Dimensioni  18,5 mm x 15 mm

Circuito elettrico del modulo

Il circuito elettrico è molto semplice in quanto è formato solamente dalla resistenza variabile R2 una NTC da 10 KΩ da una resistenza R1 da 10kΩ

In questo caso si realizza un partitore in cui una tensione nota si divide tra un resistore noto e un resistore sconosciuto (variabile).
Il valore di tensione deve essere letto tramite un ingresso Analogico collegato al pin S.
NOTA: per un corretto funzionamento, nonostante la serigrafia riportata sul modulo commerciale, il pin centrale deve essere collegato a GND, mentre quello con il segno "-" deve essere collegato a VCC (+5V). In caso contrario all'aumentare delle temperatura, sarà letta una diminuzione, in pratica in valori in uscita saranno errati.

 

 

Schema realizzato con EasyEDA: Un servizio per il disegno di circuiti e la loro simulazione, progettazione e produzione di PCB. Provalo è gratuito!

NTC Thermistors, Radial Leaded, Standard Precision

Simbolo Datasheet Foto dell'NTC

Test con Multi Test Shield

Componenti utilizzati

Scheda Arduino UNO o equivalente Multi test Shield
Display OLED da 0.95" KY-013 Temperature sensor module

Multi test Shield

Il Multi Test Shield è uno shield auto costruito realizzato per testare la serie di sensori contenuti nella confezione "37 in 1 Sensor Module Board Set" compatibile con la scheda Arduino UNO R3 originale e relativi cloni.
Sulla scheda sono disponibili molti connettori che risultano già opportunamente collegati con le porte digitali o analogiche di Arduino.
In realtà, la scheda, oltre ai sensori presenti nel kit "37 in 1 Sensor Module Board Set" permette di testare altri sensori, servo, ecc per un totale di oltre 50 tipi, la presenza di un connettore  bus I2C espande ulteriormente la tipologia di dispositivi che lo shield permette.
Sulla scheda è anche presente un connettore per il collegamento di un piccolo Display OLED da 0.95"risoluzione 96x64 pixel, 65536 Colori, su di esso potranno essere mostrati dei messaggio o i valori misurati dai sensori.

Posizionamento del modulo sullo Shield

Per l'utilizzo occorrerà semplicemente posizionare il sensore sul connettore JP12 come mostrato in figura. In questo modo i pin del modulo risulteranno automaticamente collegati ai relativi pin: S al pin A0, il centrale a +GND e - a VCC (+5V).

 Schema equivalente

 
 

Programma di test del sensore

Il programma  mostrerà sul display OLED il valore di temperatura misurato. Il valore può comunque essere letto attivando il monito seriale dell'IDE.

Programma

shield_test_code_KY-013.ino

/*####################################################################
  FILE: shield_test_code_KY-013.ino
  VERSION: 1.0
  Descrizione: Programma per test modulo
  KY-013 Temperature sensor module

  Creato il 23/03/2019 da Adriano Gandolfo
  Sito web https://www.adrirobot.it
  Blog https://it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
  #################################################################### */

// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs   10
#define rst  9
#define dc   8

#define ThermistorPin A0 // seleziona il pin per il sensore

int Vo;
float R1 = 10000; // value of R1 sul modulo
float logR2, R2, T;
float c1 = 0.001129148, c2 = 0.000234125, c3 = 0.0000000876741;
//steinhart-hart valore del coefficente per il termositore

// Definizione dei colori
#define BLACK           0x0000
#define BLUE            0x001F
#define RED             0xF800
#define GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0
#define WHITE           0xFFFF

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>

Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);

void setup()   {
  Serial.begin(9600);
  display.begin();
  // Messaggio iniziale
  display.fillScreen(BLACK);
  display.setTextSize(1);
  display.setTextColor(BLUE);
  display.setRotation(2); //Ruota display
  display.setCursor(0, 0);
  display.println("www.adrirobot.it");
  display.println("");
  display.setTextColor(GREEN);
  display.println("Multitest shield");
  display.println("");
  display.println("    TEST FOR   ");
  display.println(" 37 IN 1 SENSOR ");
  delay(2000);
  display.fillScreen(BLACK);
  display.setTextColor(YELLOW);
  display.setCursor(0, 0);
  display.println("  TEST MODULO  ");
  display.println("");
  display.println("    KY-13");
  display.println("    Analog");
  display.println("  temperature");
  display.println("    sensor");
  delay (2000);

  display.fillScreen(BLACK);
  display.setTextColor(BLUE);
  display.setCursor(0, 0);
  display.println("TEMPERATURA");
}

void loop()
{
  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0); //calculate resistance on thermistor
  logR2 = log(R2);
  T = (1.0 / (c1 + c2 * logR2 + c3 * logR2 * logR2 * logR2)); // temperature in Kelvin
  T = T - 273.15; //convert Kelvin to Celcius
  Serial.print("Temperature: ");
  Serial.print(T);
  Serial.println(" C");
  display.fillRect(0, 15, 96, 15, BLACK);
  display.setCursor(0, 15);
  display.setTextColor(RED);
  display.print(T);
  display.print(" C");
  delay (500);
}

 

Elenco revisioni:

23/03/2019

Inserito test del sensore

03/03/2019

Emissione preliminare
Private Policy Cookie Policy