Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    mai 2014
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2014
    Messages : 14
    Points : 10
    Points
    10

    Par défaut Détecter un défaut sonde DS18B20 avec Arduino

    Bonjour,

    J'ai une problématique que je n'arrive pas a résoudre "Proprement", ce pourquoi j’aurais besoin d'aide...

    J'ai un système de régulation de température d'une cuve utilisant:
    - Sonde de température DS18B20
    - Atmega 328
    - Électronique de puissance pour commander une pompe

    Ma régulation fonctionne bien, ma question est autre.

    Comment puis je détecter un défaut de sonde de température?

    Aujourd'hui je détecte un défaut en interprétant la température de retour par rapport à des tests (<1°c ou =85°c ...)
    Cette méthode fonctionne sauf s'il y a un défaut que je n'ai su simuler et surtout m’empêche de gérer certaines températures.

    J'ai lu la DATASHEET de cette sonde, j'y ai vu pas mal de chose, tel qu'un bit de présence...
    Je ne sais malheureusement pas trop comment aller chercher d'autres informations que la température.
    Peut être est il possible de récupérer un nombre de transactions, un bit de vie...


    Quelqu'un aurait il une solution plus efficace que la mienne?

    En vous remerciant

  2. #2
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    mars 2012
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2012
    Messages : 152
    Points : 268
    Points
    268

    Par défaut

    Bonjour,

    Je te dirais bien de mettre deux capteurs de température.

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 433
    Points : 8 167
    Points
    8 167

    Par défaut

    Salut,
    Quelle bibliothèque utilises tu ?

    Je vois que certaines ont implémenté des choses toute faite : https://github.com/milesburton/Ardui...emperature.cpp
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // returns the number of devices found on the bus
    uint8_t DallasTemperature::getDeviceCount(void) {
    	return devices;
    }
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #4
    Membre actif Avatar de cedd70
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    mars 2012
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : mars 2012
    Messages : 152
    Points : 268
    Points
    268

    Par défaut

    Bonjour,

    Vincent PETIT je ne connais pas exactement la question de Doubytchou, mais je ne pense pas que ta solution soit judicieuse.

    Ok le capteur est présent ou non, mais les valeurs lus sont elles bonnes ou non ?

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    2 433
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 433
    Points : 8 167
    Points
    8 167

    Par défaut


    +1

    Alors peut-être n'ai je pas, moi-même, bien compris la question.

    Je pensai qu'on voulait s'assurer que la sonde n'était pas en panne. Vu la relative complexité du protocole OneWire + la présence d'un CRC, la probabilité qu'un capteur en panne réponde à un getDeviceCount(void), est quasi nulle.

    En revanche, si l'idée est de consolider la pertinence de la mesure, tu as tout à fait raison de proposer la redondance et ce serait encore mieux avec un capteur d'une autre nature (thermocouple, thermoresistance (PT100), thermopile (IR))
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

Discussions similaires

  1. Bug communication serie avec arduino (busy)
    Par bizounours94 dans le forum MATLAB
    Réponses: 2
    Dernier message: 09/07/2012, 09h39
  2. détecter des défauts sur surface d'un carreau
    Par aliahous dans le forum Images
    Réponses: 3
    Dernier message: 27/06/2011, 13h29
  3. Valeur par défaut de champs avec MAX
    Par Kimado dans le forum Langage SQL
    Réponses: 9
    Dernier message: 07/03/2011, 15h47
  4. Détecter la version de Java avec IzPack
    Par Kehel dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 10/10/2008, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo