NTC 3950 et démos d1 mini

Bonsoir,

Je souhaite mettre deux capteurs ntc3950 sur mon wemos mini,
Or je ne dispose que d’une seule pin analogique.

Je pense à une solution de type passer par deux pin digitale que je bascule de l’état haut à bas pour gérer une sorte d’alim commandé de mes capteurs.
De la sorte j’aurais un seul capteur alimenté à la fois et ...à tour de rôle...

En « lisant » la pin analogique, j’aurais donc la valeur du capteur ntc alimenté...

Est ce la bonne solution?

Merci pour vos lumières!!

J’ai besoin d’environ une lecture de temp par capteur toutes les 10 secondes, ce qui laisse 5s d’intervalle pour faire une bascule d’un capteur à l’autre...

Cela doit être faisable, avec deux tout petits MOSFET.
En fonction de l'emplacement de la thermistance, côté 5V ou côté GND, canal P ou canal N, au choix.

Bonjour

e pense à une solution de type passer par deux pin digitale que je bascule de l'état haut à bas pour gérer une sorte d'alim commandé de mes capteurs.

Pas tout à fait....Pour ne pas perturber la mesure la thermistance inactive devra avoir une patte en l'air, non connectée ou connecté à une entrée-haute impédance)
Il faut donc faire un basculement entre :
-sortie à l'état haut (=alimenter un des 2 thermistances)
-entrée (déconnecter l'autre)

Attention : La borne A0 n'est pas l'entrée analogique d'un ESP8266 mais le haut d'un pont diviseur implanté sur la carte, pont diviseur dont le 'point milieu' va à l'entrée analogique de la puce.
A0 D1 Mini .png

A0 D1 Mini .png

Au final : (les zones entourées sont sur la carte D1 Mini)
double TH sur D1 MIni.png

double TH sur D1 MIni.png

Oui, vu le courant consommé, pas besoin de MOSFET.

Merci pour votre aide !

Les questions bêtes ne tue pas (lol)... alors j’y vais !

Le pont diviseur sur l’entrée analogique, j’ai pigé: ça m’abaisse la tension d’entrée de façon linéaire entre 0 et 1 V.

Le coup de la pâte en l’air pour le ntc non utilisé, je m’en doutais ! Fichu résistance...

Si j’ai bien compris j’utilise une pin digitale qui à l’état haut envoi 3.3V et à l’état bas un 0V avec une forte résistance (simule une patte en l’air) ?
J’ai bon?

Si c’est bien ça je branche donc une patte de chaque ntc sur une pin digitale(comme sur le beau schéma) et je relie les autre pattes de mes ntc sur l’entrée analogique tout simplement ( pas de résistance supplémentaire?)

Il va alors falloir que j’étalonne tous ça?

Si j'ai bien compris j'utilise une pin digitale qui à l'état haut envoi 3.3V et à l'état bas un 0V avec une forte résistance (simule une patte en l'air) ?
J'ai bon?

Non , aps de sortiue à l'état abs , et aps de grande résistance à ajouter

les deux GPIO utilsiés seront basculés entre :
Fonctionnement en sortie avec application d'un état haut

pinMode(...., OUTPUT);
digitalWrite(...., HIGH);

Fonctionnement en entrée (leur structure interne est à haute imédance), un courant infime circulera c'est quasiment identique à une patte en l'air.

pinMode(......, INPUT);

Aucune résistance à ajouter , réunir les deux thermistance à A0 d'une part et a deux GPIO d'autre part

Je teste ça !

Je viens de faire un p'ti code et aprés branchement,
j'ai soit un jolie "Nan" ou "-273" si je débranche une sonde...

je pense qu'il y a une erreur dans mon code !

voici mes lignes...

dans la définition de SmoothThermistor j'ai essayer d'enlever ---> // the series resistance
essayer un delai aprés les changements d'état des GPIO...

#define DEPART 5    //pin D1
  #define RETOUR 4    //pin D2

  bool Switch = true;
  

//NTC 3950 : Température Depart et Retour
  #include <SmoothThermistor.h>
    
  SmoothThermistor temp( A0,              // the analog pin to read from
                         ADC_SIZE_10_BIT, // the ADC size
                         10000,           // the nominal resistance
                         //10000,           // the series resistance
                         3950,            // the beta coefficient of the thermistor
                         25,              // the temperature for nominal resistance
                         10);             // the number of samples to take for each measurement
                                           

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


void Acquisition(bool Switch) {
      if ( Switch == true){ pinMode (RETOUR, INPUT);
      
                            pinMode (DEPART, OUTPUT);
                            digitalWrite (DEPART, HIGH);
                            
                            delay(50);  //est ce nécessaire ????
                            Print("Depart");

          } else { pinMode (DEPART, INPUT);
      
                   pinMode (RETOUR, OUTPUT);
                   digitalWrite (RETOUR, HIGH);
                   
                   delay(50);  //est ce nécessaire ????
                   Print("Retour");
      }
            
  }


void Print(String sonde) {
            
      Serial.print(sonde);
      Serial.print(" temp : ");
      Serial.println(temp.temperature());
      Serial.println();
  }


void loop() {
      delay(2000);               //pause entre chaque mesure
      Switch = ! Switch;         // on change de capteur
      Acquisition(Switch);
}

Dans la définition de SmoothThermistor j'ai essayer d'enlever ---> // the series resistance

Pourquoi ?? C'est la valeur de la résistance totale entre A0 et la masse , soit 320 kOhm... pas tout à a fait négligeable....

Quand à la valeur nominale de la thermistance utilisée , est ce réellement 10kOhm ?
3950 est le coefficient beta de la thermistance, ça ne dit rien de sa valeur à 25°C (valeur nominale)
Voilà une pleine page de thermistances qui ont en commun la valeur 3950 de leur coefficient Beta mais des valeures de résistance à 25°C très variées.
https://www.mouser.fr/Circuit-Protection/Thermistors/NTC-Thermistors/_/N-axfvt?P=1yiw5nz

Je ne connais pas la librairie SmoothThermistor utilisée , est-elle compatible ESP8266 ?

deux capteurs ntc3950

C'est trop imprécis, il manque une caractéristique essentielle !

c'est pour cela que j'ai essayer en premier lieu avec 320000 en résistance série,
mais quoique je mette, j'ai en retour un Nan

effectivement la résistance de mes thermistance est de 10 k

à vrai dire je surnage avec les résistances...

une fois réglé (je ne vois pas comment pour l'instant) l'incident qui produit le NaN ....( probabalemnt calcul interne de la librairie)

la mesure de température ne sera pas très performante dans un pont diviseur avec environ 10k en haut et 320k en bas. Des thermisatances de 100K auraient été plus adaptées

Ok pour la 10k, ça va pas...il me faut qqchse de précis quand même...

Sinon, Il me semble avoir vu que le CAN échantillonne sur 1024 possibilités.

1023 possibilité de 0 à 1023
Et le 1024 pour un dépassement de la tension soit un retour NaN

En tous les cas merci bcp de ton aide, je vais chercher encore...

Si je trouve pas, je passe commande pour des capteurs 1Wire!!!
Lol j’aime pas quand j’y arrive pas...

.il me faut qqchse de précis quand même...

Quelle précision ? les capteurs 1Wire ou I2C donnant la température à 0,5°C près ne manquent pas, certains vont au delà.

Pour faire mieux avec une thermistance il faut :
-une bonne Tension de référence pour la conversion analogique/numérique (esp8266 :confused: )
-une bonne précision de la thermistance. La tolérance sur la valeur nominale des thermistances est souvent 5%

Avec deux 18B20 sur le même fil data, aucune bidouille n'est nécessaire.
Ou un MCP9808 si la précision demandée est élevée (0.25°), sur 2 adresses I2C différentes.

+1
tous ces bons capteurs numériques ont donné un 'coup de vieux' aux thermistances qui maintenant sont surtout employées dans des thermomètres à faible coût.

Cela reste possible d'obtenir un bon résultat avec un capteur analogique, mais mais à quel prix ?

  • référence de tension stable en température
  • étalonnage par rapport à un autre capteur plus précis
    Autant opter pour du numérique.

Ce n'est pas la peine d'utiliser un capteur précis à 1% si c'est pour tout gâcher avec une référence de tension ARDUINO 5V ou la référence interne précise à 10%.

Il n'y a qu'un seul cas où j'emploie de l'analogique : la photorésistance, car les capteurs numériques sont loin d'être facilement intégrables mécaniquement.
Avec une photorésistance c'est beaucoup plus facile, par contre le logiciel est plus complexe.

Le choix en matière de capteur de température est vaste et les formes de boîtiers très diversifiées.

  • simple composant sur PCB
  • vissé
  • immergé
  • infra-rouge
  • etc.

A propos @GuillaumeDeGrenoble : on ne sait même pas quel est le but de la manœuvre.

Mesure de température, certes, mais dans quel milieu ? air libre ? liquide ? par contact ? par immersion ? quelle fourchette de température ? quelle précision ?
Fournir ce genre de renseignement d'entrée de jeu peut permettre de détecter une fausse piste rapidement.

Merci pour vos réponse, super !

@hbachetti de toute façon c'est très instructif ! apprentissage !

mon projet :
domotiser une régulation de chauffage par plancher chauffant

l'idéé :
une vanne deux voies pilotée par une régulation (PID ? je rêve un peu..?) pour la gestion de l'admission d'eau chaude (produite par la chaudière entre 38° et 60°) dans le circuit plancher.

le matos :
un esp basé sur la Wemos D1 avec un serveur Blink pour l'appli smartphone.
un capteur de temp sur le départ plancher
un capteur de temp sur le retour plancher
des capteur de temp extérieur et intérieur (déjà présent pour ma régul VMC)

le process :
une régulation permet de gérer l'ouverture et la fermeture de ma vanne :

  • afin d'obtenir une température dans le circuit plancher à 1° prés (je pense..., à voir en condition réelle!),
  • plage de fonctionnement :19° à 30°
  • capteurs dans des doigts de gants.

un capteur de temp sur le départ plancher
un capteur de temp sur le retour plancher

Donc à fixer sur les tuyaux ?

  • capteurs dans des doigts de gants.

Je ne vois pas, précise un peu.

Bonjour

Le doigt de gant pénètre dans la canalisation pour mesurer la température du fluide et non celle de l'enveloppe
On y insère le capteur. Un exemple
C'est en général de cette façon que sont mesurées les températures d'eau dans les installation de chauffage 'pro'

  • afin d'obtenir une température dans le circuit plancher à 1° prés (je pense..., à voir en condition réelle!),
  • plage de fonctionnement :19° à 30°

Sur cette plage de température les capteurs numériques évoqués au dessus n'auront aucun mal,( précision typique 0,2 °C)

Avantage supplémentaire : l'interchangeabilité. (les dispersions de valeurs entre thermistances d'une même série ne sont pas négligeables pour une mesure à 1°C près).

Dans les installations de chaufafge 'pro' la technoilogie des capteurs de température est contrainte par les régulateurs et autres équipements (sécurité, comptage d'énergie calorifique....)
Içi c'est 'page blanche' !!
Je vois bien deux DS18B20 a embout métallique glissés dans les doigts de gants en soignant l'échange thermique entre l'enveloppe métallique du DS18B20 et le doigt de gant.