IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Arduino Discussion :

Mesure de tension


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Par défaut Mesure de tension
    Bonjour,

    Pendant le confinement j'avais fait une minuterie pour le jardin avec un nano 328P no name en utilisant le old bootloader. Çà fonctionnait bien jusqu'au week-end dernier.
    Le nano a rendu l’âme je ne sais sais pas pourquoi.
    Je l'ai remplacé par un nano every ATMEGA 328 et c'est reparti sauf que la mesure de tension ne fonctionne plus et reste figée selon la valeur de la tension lue c'est a dire dans mon cas 8.4V pour un li-ion 2S.

    Avec un autre nano no name ça fonctionne à nouveau

    Je reproduis uniquement une partie du sketche sur la breadboard et c'est pareil

    auriez-vous une piste?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <U8g2lib.h>
     
    #define I2C_ADDRESS 0x3C
    U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/U8X8_PIN_NONE);
    U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/U8X8_PIN_NONE);
     
    #define ENTREE_ANALOGIQUE 3
    int tensionLue = 0;
    int valeurLue = 0;
     
     
    void setup() {
      analogReference(INTERNAL);
     
      u8x8.begin();
      //u8x8.clear();
     
      pinMode(ENTREE_ANALOGIQUE, INPUT);
    }
     
    void loop() {
      valeurLue = analogRead(ENTREE_ANALOGIQUE);
      float tensionLue = (valeurLue * (8.4 / 1024.0));
     
      u8x8.setFont(u8x8_font_8x13B_1x2_r);
      u8x8.setCursor(0, 4);
      u8x8.print("Batterie");
      u8x8.setCursor(41, 4);
      u8x8.print(tensionLue);
      u8x8.setCursor(77, 4);
      u8x8.print("V");
    }

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 133
    Par défaut
    Citation Envoyé par Fermor Voir le message
    Je l'ai remplacé par un nano every ATMEGA 328
    Bonjour,

    S'il s'agit bien d'un Nano Every, il n'est pas construit autour de l'ATmega328 comme l'Arduino Nano standard mais autour d'un microcontrôleur ATmega4809.
    Il est donc fort possible que ton programme nécessite des aménagements si tu changes de carte.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Par défaut
    Oui c'est bien l'ATmega 4809 contrairement à ce que j'ai écrit plus haut
    Qu'entends-tu par aménagement? Il me semble que par le passé j'ai utilisé des nano every dans d'autres sketchs et comme je rajoute toujours un contrôle de tension, je n'ai pas souvenance de ce problème là.

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 887
    Par défaut
    vous avez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define ENTREE_ANALOGIQUE 3
    avez vous vérifié si ça change quelque chose si vous mettez à la place le vrai nom de la pin?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define ENTREE_ANALOGIQUE A3
    --

    sinon vous utilsez aussi analogReference(INTERNAL) ==> vous avez de la chance car je crois que c'est la même à 1.1V mais ce ne serait pas vrai pour n'importe quelle carte.

    ---

    avez vous des trucs branchés / alimentés par l'arduino?

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Par défaut
    Je joins le schéma qui est un timelapse dont la mesure de tension est figée également avec un nano Every.
    En remplaçant 3 par A3 çà ne change rien même si la pin A3 est en l'air.timelapse mosfet.pdftimelapse mosfet.pdf

  6. #6
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 887
    Par défaut
    avez vous testé si la pin A3 est bien fonctionnelle ?

  7. #7
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Par défaut
    J'ai testé quelques entrées analogiques avec ce petit sketch

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    #define ENTREE_ANALOGIQUE A0
    int valeurLue = 0;
     
    void setup() {
     
      Serial.begin(9600);
      pinMode(ENTREE_ANALOGIQUE, INPUT);
    }
     
    void loop() {
      valeurLue = analogRead(A0);
      float tensionLue = (valeurLue * 5 / 1024.00); 
      Serial.print("Valeur analogique : ");
      Serial.println(valeurLue);
     
      Serial.print("Tension lue : ");
      Serial.print(tensionLue);
      Serial.println("V");
     
      delay(2000);
     
    }
    A la console les données sont correctes de 0 à1023 pour les valeurs et de 0.00 à 5.00V pour les tensions, ce qui voudrait dire que le CAN fonctionne.

    Ça doit pêcher au niveau de la tension de référence de 1,1V je pense.

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 887
    Par défaut
    OK à tester aussi donc

  9. #9
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2020
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Décembre 2020
    Messages : 56
    Par défaut
    J'ai bien 1,09V sur la pin AREF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void setup() {
      analogReference(INTERNAL);
     
      u8x8.begin();
      //u8x8.clear();
     
      pinMode(ENTREE_ANALOGIQUE, INPUT);

Discussions similaires

  1. Mesure de tension avec Arduino
    Par jeanclaude83 dans le forum Arduino
    Réponses: 69
    Dernier message: 06/10/2021, 19h35
  2. Mesure de tension NI-usb 6009 (erreur 50103)
    Par Boxiel dans le forum LabVIEW
    Réponses: 1
    Dernier message: 04/01/2014, 16h21
  3. Réponses: 0
    Dernier message: 21/08/2013, 09h18
  4. mesurer des tensions
    Par jub's dans le forum LabVIEW
    Réponses: 1
    Dernier message: 04/03/2013, 08h56
  5. Réponses: 2
    Dernier message: 09/02/2007, 08h51

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