Impression 3D

D’une révolution nous passons aux évolutions, l’imprimante 3D est en passe de transformer notre quotidien en se démocratisant avec des modèles de plus en plus performants et simples d’usage.

L’impression 3D est une formidable aventure que nous vous proposons de partager au travers de ce forum.
Forum spécialisé BQ Witbox, Hephestos , Witbox 2, Hephestos 2, Witbox Go!

Mesure des températures avec courbes

Posez ici vos questions techniques avec ou sans rapport à l'impression 3D

Retour vers Sujets de technique générale

par Jacques » Lun Nov 23, 2015 11:35 pm

Je répond ici à la question de Timothee

Bonsoir,
Je suis de près votre projet (presque fini d'ailleurs) de préchauffage witbox. J'ai vu que vous pouviez mesurer des températures, et qu'elles pouvaient être consultées sur un graphique.
Avec quel appareil réalisez-vous cela?

Merci et bonne soirée
Tim0th3e


J'utilise une sonde thermique sur un multimètre professionnel relié en USB à un PC avec un logiciel qui enregistre le tout dans un fichier que j'importe sous excel.

Ca, c'est la solution PRO

La solution amateur existe aussi
Carte arduino + sonde DS18B20 + une résistance la mesure et l'heure sur le port com avec enregistrement dans un fichier.
Un exemple ici https://skyduino.wordpress.com/2012/04/26/arduino-capteur-de-temperature-ds18b20/
C'est facile en utilisant Putty ou l'hyperterminal mais aussi par une commande sous DOS
c:>copy comX: record.txt (comX étant le port com arduino)
Le fichier pourra alors être ouvert par le bloc note ou mieux par Excel pour faire une belle courbe
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Ven Nov 27, 2015 8:53 pm

Bonsoir,
Merci pour votre réponse. Je vais y réfléchir...
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Sam Nov 28, 2015 9:35 pm

Je vais faire un petit montage à base d'Arduino nano et de trois sondes DS18B20
Avec la console Arduino IDE, il suffira de copier les données et de les coller dans Excel pour avoir une courbe.
Un petit montage à moins de 10€

sondes.JPG
sondes.JPG (31.94 Kio) Consulté 2391 fois

On trouve le temps en secondes et ensuite la température sonde 1 puis 2



Sinon il y a une solution Excel ici https://www.parallax.com/downloads/plx-daq
L'import et la courbe se fait depuis Excel
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Jacques » Lun Nov 30, 2015 5:41 pm

Je viens de faire un essai avec une Arduino et deux sondes
Copier/coller du moniteur série Arduino dans Excel et courbe... (chercher/remplacer. en , avant)
En x le temps en secondes, en Y ta température
Coût du montage 8 € et pas une soudure.

température 2 sondes.JPG
température 2 sondes.JPG (39.12 Kio) Consulté 2382 fois

On remarque des créneaux car il s'agit de mesures digitales dont la précision est de 0,06°
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Sam Déc 05, 2015 4:26 pm

D'accord mais au niveau du firmware comment cela se passe-t-il?
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Sam Déc 05, 2015 4:50 pm

Ca ressemble à ca

Code : Tout sélectionner
#include <OneWire.h> //importe la librairie OneWire
int broche_OneWire = 2; // Choisit la pin d'entrée digitale de l'arduino
OneWire  capteur(broche_OneWire);;
//---- code des instructions du capteur
const int modeLecture=0xBE;
const int lancerMesure=0x44;
int iteration=0;

void setup() {
    Serial.begin(115200);
}

void loop() {
  float T_sonde_1=0;
  byte Adresse1[8]={0x28,0xFF,0x49,0x85,0x65,0x15,0x02,0x35}; // doit ressembler à ça :
  // byte Adresse1[8]={0x28,0x9F,0x9E,0x47,0x05,0x00,0x00,0xCD};
  float T_sonde_2=0;
  byte Adresse2[8]={0x28,0xFF,0xA5,0x92,0x65,0x15,0x02,0x70};
  float T_sonde_3=0;
  byte Adresse3[8]={/*Met ici l'adresse d'une sonde récupérée grâce au programme précédent*/};

  iteration=iteration+1;
  T_sonde_1=getTemp(Adresse1);
  T_sonde_2=getTemp(Adresse2);
  // T_sonde_3=getTemp(Adresse3);
  Serial.println(iteration);
  Serial.println(T_sonde_1);
  Serial.println(T_sonde_2);
  //Serial.println(T_sonde_3);
  Serial.println(" ");




}


float getTemp(byte adressecapteur[8]) { //fonction qui renvoie résultat float et ne reçoit rien
  //-------- variable locale de la fonction ----------
  byte data[12]; // Tableau de 12 octets pour lecture des 9 registres de RAM et des 3 registres d'EEPROM du capteur One Wire
  int tempet=0; // variable pour resultat brute  de la mesure
  float tempetf=0.0; // variable pour resultat à virgule de la mesure
  // XXXXXXXXXXXXXXXXXXXXXX Lancement d'une mesure et lecture du résultat XXXXXXXXXXXXXXXXXXXXXXX
  // Serial.println("**** Acquisition d'une mesure de la temperature **** ");
  // avant chaque nouvelle instruction, il faut :
  //    * initialiser le bus 1-wire
  //    * sélectionner le capteur détecté
  //    * envoyer l'instruction
  //--------- lancer une mesure --------
  capteur.reset(); // initialise le bus 1-wire avant la communication avec un capteur donné
  capteur.select(adressecapteur); // sélectionne le capteur ayant l'adresse 64 bits contenue dans le tableau envoyé à la fonction
  capteur.write(lancerMesure,1); // lance la mesure et alimente le capteur par la broche de donnée
  //-------- pause d'une seconde -----
  delay(1000);     // au moins 750 ms
  // il faudrait mettre une instruction capteur.depower ici, mais le reset va le faire
  //---------- passer en mode LECTURE -------------
  capteur.reset(); // initialise le bus 1-wire avant la communication avec un capteur donné
  capteur.select(adressecapteur); // sélectionne le capteur ayant l'adresse 64 bits contenue dans le tableau envoyé à la fonction
  capteur.write(modeLecture,1); // passe en mode lecture de la RAM du capteur
  // ----------- lire les 9 octets de la RAM (appelé Scratchpad) ----
  for ( int i = 0; i < 9; i++) {           // 9 octets de RAM stockés dans 9 octets
    data[i] = capteur.read();             // lecture de l'octet de rang i stocké dans tableau data
  }
  //----- caclul de la température mesurée (enfin!) ---------
  /*data[1]=data[1] & B10000111; // met à 0 les bits de signes inutiles  <- Le bug était
  */
  tempet=(data[1]<<8)|data[0]; // a l'arrache style !
  // --- en mode 12 bits, la résolution est de 0.0625°C - cf datasheet DS18B20
  tempetf=float(tempet)*6.25;caché la
  tempet=data[1]; // bits de poids fort
  tempet=tempet<<8;
  tempet=tempet+data[0]; // bits de poids faible
  tempetf=tempetf/100.0;
  return (tempetf);
}
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Lun Déc 07, 2015 8:34 pm

oula ça a l'air tout de même complexe pour une simple mesure de températures... :? Mais ce n'est pas grave ça me permettra d'apprendre un peut le C :)

Donc pour récapituler il faudrait ceci:

-Une carte arduino nano

-Trois sondes Dallas DS18S20

Vu le prix de cette carte arduino nano, ne serait-il pas plus judicieux d'acheter directement une arduino uno permettant d'aller plus loins?

Deux sondes suffiraient-elles?

Merci
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Mar Déc 08, 2015 1:03 am

En fait c'est très simple, on utilise des modules tout faits, le programme ne tient finalement que sur quelques lignes très simples à écrire.

Nano ou Uno, peu importe, dans cet exemple je n'utilise qu'un seul port pour 3 sondes...
Sachant que la nano coûte moins cher qu'une Uno et qu'elle est plus petite (plus facile à intégrer), c'est la raison de mon choix.

De 1 à l'infini, le nombre de sondes n'est limité que par la taille du programme et donc de la mémoire programme de l'Arduino.

L'idée d'avoir plusieurs sondes c'est de pouvoir faire des courbes comparatives en simultané.
Par exemple la mesure de la température interne de la Witbox est à mettre en relation avec la température externe qui bouge dans le temps. En mettant une sonde derrière le ventilateur on peut avoir une courbe d'évacuation des calories en fonction de la température interne et de la vitesse des ventilateurs. On peut même visualiser le temps de fonctionnement et déterminer éventuellement les limites du système.
Bref, des tas de mesures qui informent sur l'efficacité d'un système.

Et tout ca pour moins de 10€ :ymapplause:
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Mar Déc 08, 2015 7:34 am

Mais le problème est que je trouve les sondes à 8€ pièces et une arduino nano à 30€... Je n'arrive pas du tout à la somme de 10€ :( Parle-t-on vraiment de la même chose?

Pour le montage vous utilisez une plaque d'essai?

Merci
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Mar Déc 08, 2015 9:14 am

Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Mar Déc 08, 2015 2:23 pm

Jacques a écrit:Il manque le câble des sondes et une résistance que je peux t'offrir


Je ne comprend pas comment les sondes peuvent être câblées sans une soudure. Vous avez utilisé des connecteurs?
Je suis désolé mais je n'y connaît pas grand chose...

Une résistance de combien? J'en ai peut être une

L'alimentation de la carte arduino se fait par un connecteur micro usb?
Merci
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Mar Déc 08, 2015 5:14 pm

J'utilise un câble de PC avec un connecteur dans lequel je mets les sondes d'un coté et la résistance de l'autre.
Un bricolage juste pour tester.
Les ondes sont connectées en parallèle sur 2 ou trois fils suivant le type d'alimentation, fantôme (masse et signal)ou 3 fils (5V, masse et signal)
Dans le premier cas d'alimentation il faudra attendre au minimum 750ms pour avoir la mesure de chaque sonde (résistance 1K). Dans le second cas la mesure est immédiate (résistance de 4,7K)
Il faudra donc penser à alimenter directement la sonde si l'on veut des mesures cycliques rapides.

Montage avec alimentation fantôme (ou parasite)
Image

Dans le cas d'une alimentation classique on ajoute du 5V au VDD de la sonde et on peut remplacer la résistance par 4,7K
Un schéma pour la connexion de multiples capteurs sur 3 fils
Image

Sinon, le tout est alimenté par le PC via L'USB qui sert aussi pour transférer les mesures à la console Arduino.
C'est franchement un montage extrèmement simple.
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Mer Déc 09, 2015 7:54 pm

Je commence à comprendre un peut. J'ai fait un petit schéma sur 123d circuits. Il y avait juste pas la sonde DS18B20 du coup j'ai fait avec le capteur de température de chez arduino:

Alors voici comment j'ai fait:
La patte de droite (GND) ----> GND
La patte du milieux (Vout) ----> Vin
La patte de gauche (Vs) ----> 5v avec la résistance 4.7K au milieu

circuit.PNG
circuit.PNG (30.09 Kio) Consulté 2201 fois


----
Jacques a écrit:J'utilise un câble de PC avec un connecteur dans lequel je mets les sondes d'un coté et la résistance de l'autre.
Un bricolage juste pour tester.

Un câble servo avec un connecteur irai bien?
----
Pour les résistances c'est en ordre je vais acheter un lot avec plusieurs types (1K, 4.7K...) ça sera plus simple pour les prochaines fois

Merci et bonne soirée
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

par Jacques » Mer Déc 09, 2015 8:05 pm

ce schéma un peu confus ne ressemble pas à ce qu'il faut faire.
La résistance se met entre le +5V et le signal qui va sur l'Arduino.
Mais avant toute chose il faut savoir si tu veux utiliser 2 fils ou 3 pour relier tes sondes

Un câble de servo pourrait faire l'affaire bien entendu
Avatar de l’utilisateur
Jacques
Site Admin
 
Message(s) : 3524
Inscrit le : Jeu Oct 23, 2014 3:02 pm
Localisation : Gonesse (95)
Imprimante 3D: Witbox et Hephestos

par Tim0th3e » Mer Déc 09, 2015 10:04 pm

Jacques a écrit: La résistance se met entre le +5V et le signal qui va sur l'Arduino.

Donc ça donnerait: Sonde; patte VDD---->résistance 4.7k---->5v

Jacques a écrit: Mais avant toute chose il faut savoir si tu veux utiliser 2 fils ou 3 pour relier tes sondes

Je pense mettre 4 sondes pour commencer donc je pense que deux fils vont suffire (2 sondes par fil)
«Le monde appartient aux optimistes, les pessimistes ne sont que des spectateurs» – François Guizot
Avatar de l’utilisateur
Tim0th3e
Contributeur actif
 
Message(s) : 215
Inscrit le : Sam Oct 25, 2014 9:02 am
Localisation : Suisse et 16 ans :)
Imprimante 3D: Prusa i3 Hephestos bleue avec plateau chauffant

Suivant

Retour vers Sujets de technique générale