Senseur Thermocouple-Utiliser

De MCHobby - Wiki
Révision datée du 16 janvier 2014 à 20:56 par Admin (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

AD595

Si vous utilisez un circuit d'interface AD595, vous pouvez simplement connecter la tension de sortie sur une broche analogique de votre microcontroleur.... et utiliser une simple opération mathématique pour transformer la valeur numérique en température (la variation sur l'entrée analogique est de 10 mV/°C).

MAX6675/MAX31855

Thermocouple-20.jpg
Crédit: AdaFruit Industries www.adafruit.com

Si vous envisagez utiliser un MAX6675/MAX31855, il y a un peu plus de tâches à réaliser. Pour commencer GND et Vin doivent être connectés sur une source d'alimentation de 3 à 5V.

Les broches de données doivent ensuite être connectés sur les entrées/sorties digitales:


  • CLK (clock / horloge) est une entrée du MAX6675/MAX31855 (donc sortie du microcontrôleur) qui indique quand une nouveau bit de donnée est présent.
  • DO (data out / sortie de donnée) est une sortie du MAX6675/MAX31855 (donc une entrée du microcontrôleur) qui transporte chaque bit de donnée.
  • CS (chip select / sélection circuit) est une entrée du MAX6675/MAX31855 (sortie du microcontroleur) qui indique au circuit intégré qu'il est temps de lire le thermocouple et d'envoyer les données.

Nous définissons ces broches au début de notre sketch/croquis.

Par exemple:

  • DO est connecté sur la broche digital 3,
  • CS est connecté sur la broche digital 4,
  • et CLK est connecté sur la broche 5

Thermocouple-21.jpg

Si vous utilisez un breakout MAX31855 v1.0 dans un environnement parasité, vous pourriez avoir besoin d'ajouter une capacité de 0.01µF en parallèle avec le thermocouple. Cette capacité est déjà incluse dans la v2.0 du breakout :-)

Le MAX31855 ne supporte pas les thermocouples mis à la masse/terre ("grounded thermocouples"). Si le senseur touche la terre le circuit intégré retournera une erreur.

Librairie Arduino

Si vous disposez d'un ancien breakout MAX6675 alors téléchargez la librairie Arduino pour MAX6675 en allant sur la page github et en cliquant sur "Download". Décompressez le répertoire, renommez le MAX6675 et installez le dans le répertoire des librairies. Voir aussi notre tutoriel sur l'Installation d'un librairie Arduino

Si vous disposez du nouveau breakout MAX31855 alors téléchargez la librairie Arduino pour MAX31855 en allant sur la page github et en cliquant sur "Download". Décompressez le répertoire, renommez le MAX31855 et installez le dans le répertoire des librairies. Voir aussi notre tutoriel sur l'Installation d'un librairie Arduino

Redémarrez votre Arduino IDE et ouvrez ensuite le croquis/sketch Fichier->Exemples->MAX6675/Adafruit_MAX31855->serialthermocouple et télécharger/téléversez le sur votre Arduino.

/***************************************************
Voici un exemple pour l'amplificateur Thermocouple MAX31855 
d'AdaFruit avec un thermocouple Type K

Conçu spécificque pour fonctionner avec le senseur thermocouple 
disponible 
----> http://shop.mchobby.be/product.php?id_product=301 (MCHobby Belgique/France)
----> https://www.adafruit.com/products/269 (AdaFruit USA)

Ce programme utilise SPI pour communiquer, 3 broches sont nécessaire pour
l'interface.

Adafruit Investit du temps et des ressource pour fournir du code open source,
s'il vous plait, supportez AdaFruit et l'Open Hardware en achetant des 
produit Adafruit!

MCHobby investit du temps et des ressource pour traduire les documentations
d'AdaFruit en Français. C'est une tâche longue et fastidieuse.
Aidez nous à produire plus de documentation en achetant vos produits 
AdaFruit & autres chez MCHobby. 

Ecrit par Limor Fried/Ladyada pour Adafruit Industries.
BSD license, tout le texte ci-dessus doit être inclus dans toutes les redistribution

Traduit par Meurisse D. pour MCHobby.be - distributeur AdaFruit France et Belgique
Tout les référence MCHobby doivent également être redistribué (pour sa tâche de traduction).
Tutoriel Français complet disponible sur:
  http://mchobby.be/wiki/index.php?title=Senseur_Thermocouple
****************************************************/

#include "Adafruit_MAX31855.h"

int thermoDO = 3;
int thermoCS = 4;
int thermoCLK = 5;

Adafruit_MAX31855 thermocouple(thermoCLK, thermoCS, thermoDO);
  
void setup() {
  Serial.begin(9600);
  
  Serial.println("MAX31855 test");
  // Attendre que le circuit MAX se stabilise.
  delay(500);
}

void loop() {
    // Test de lecture basique, afficher simplement la température courante
   Serial.print("Internal Temp = ");
   Serial.println(thermocouple.readInternal());

   // Lecture en degrés Celcius
   double c = thermocouple.readCelsius();
   if (isnan(c)) {
     Serial.println("Quelque chose ne fonctionne pas avec le thermocouple!");
   } else {
     Serial.print("C = ");
     Serial.println(c);
   }
   
   // Décommenter les lignes suivante pour afficher la température
   // en degrés Farenheit (unité qui à cours au USA)
   //Serial.print("F = ");
   //Serial.println(thermocouple.readFarenheit());
 
   // Attendre une seconde
   delay(1000);
}

Ensuite, ouvrez le moniteur série pour afficher la température aussi bien en degrés Celsius qu'en degrés Fahrenheit

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Comme vous pouvez le constater, la librairie est vraiment simple à utiliser. Il faut seulement indiquer à la librairie quel est sont les broches "clock", "chip select" et "data" et appelé ensuite readCelsius() ou readFahrenheit() pour obtenir la valeur sous forme d'un nombre décimal.

Ajouter un afficheur

Une demande courante est d'afficher la température sur un afficheur LCD 'classic' tel que celui présenté dans ce tutoriel.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Pour ce raccordement, nous avons connecté:

  • CLK sur la broche digital 3,
  • CS sur la broche digital 4
  • et DO sir la broche digital 5.

Une fois que tout fonctionne, vous pouvez modifier la connexion des broches dans votre sketck/

Nous disposons également d'un croquis/sketch d'exemple. Pour commencer, branchez et faite fonctionner un afficheur LCD l'aide de ce tutoriel. Ensuite, charger le sketch Fichier->Exemples->MAX31855>lcdthermocouple et branchez le thermocouple utilisé dans le test "serial thermocouple" ci dessus.

Vérifiez que les déclarations de broche dans le programme correspondent bien à votre montage (modifiez le programme si necessaire) et téléchargez/téléversez le sur votre Arduino.

Vous devriez voir la température interne et celle du thermocouple s'afficher en degrés Celsius.


Source: Thermocouple

Tutoriel créé par LadyAda pour AdaFruit Industries.

Traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.