[Non résolue] Projet afficheur avec un Atmega328

Bonjour à tous,

Le but de mon projet est d'afficher la valeur du courant d'un capteur qui renvoie du 4-20mA
Voici le code:

#include <LiquidCrystal.h>//ajout de la librairie qui contient les fonctions concernant l'écran LCD

//broches numérique utilisées  "LiquidCrystal(rs, enable, d4, d5, d6, d7)"
LiquidCrystal lcd(5,6,13,7,12,8);       //liaison 4 bits de données
//Déclaration:            
const int led=0;
float tension=0.000;
float courant=0.000;

void setup()
{
   
    pinMode(led,OUTPUT);             // Pin 0(led=0) en mode "sortie"
    lcd.begin(8,2);              //utilisation d'un écran 8 colonnes et 2 lignes  
    digitalWrite(led,LOW);             //la pin 0(led=0) est à l'état bas(0 Volt), la LED est allumée                   
}

void loop() 
{
  lcd.setCursor(4,0);                   //  (0,0)=première ligne   ||    (0,1)=deuxième ligne     
  tension=(analogRead(A0)*4.94)/1023.00;                    //convertion de la valeur numérique en tension , "Règle de trois" ou "produit en croix" 
  courant=(tension/250)*1000;        //Loi d'Ohm      U=R*I , ici R=250 Ohm
  lcd.print(courant,2);      //on affiche la valeur du courant et on limite à 3 chiffres après la virgule
  lcd.setCursor(1,1);      //place le curseur aux coordonnées (1,1) 
  lcd.write("mA");       //affiche "mA"
  delay(500);          //on attend 0,5 secondes
  lcd.clear();          //Efface toutes les données affichées sur l'écran LCD  
}

mais le problème c'est que j'ai une tension de 25V sur la pin A0 de l'ATmega alors que je devrais avoir 5v maximun aux bornes de la résistance 1%

schéma.bmp (88.8 KB)

ares.bmp (19.7 KB)

25 V sur A0, c'est impossible.
C'est ton calcul qui est erroné.

volts = ( ( analogRead(A0) ) / 1023.0 ) * 5 ;
Amps = volts / Résistance ;

Non la mesure fonctionne très bien mais j'ai vraiment 25v (mesurer avec un voltmètre)

25V ça ressemble d’après ton schémas à la tension d'alimentation de ton régulateur de tension. Vérifies que tu as bien router ta carte.

Au niveau de RES 1% tu essaies de faire un pont diviseur ?

Si je dis pas de bétise, ton courant (du capteur) arrive entre R1 et la résistance de 10K. Donc le courant va se divisé. Il va créer une tension aux bornes de la résistance de 10K et aux bornes de R1 1%, cela va donner sur A0 l'addition des tensions.

Que viens faire la résistance de 10K. Pourquoi tu ne mets tout simplement pas R1 1% en série avec la sortie de ton capteur ?

Il y a un pb sur ton montage ou alors je suis pas réveillé (ce qui est fort possible)

Merci pour ta réponse mais le problème est que le montage fonction au labo avec une alim 25V et un calibrateur 4-20mA mais quand je branche ma carte sur l'automate qui genère le 4-20mA et la tension monte à 25,4v et le courant est de 94mA ce qui n'est normale il devrait y avoir en 4 et 20 mA

Et le courant ne passe pas par A0 car il y a une grosse impédence d'entrée en fait je mesure juste la tension c'est pour cette raison que j'ai mis une resistance de 250ohm >>>20mA x 250ohm = 5V

Mhmm ... ton capteur il délivre 94mA au lieu des 20mA ...
Ouai c'est bizarre.

Oui j'ai bien compris, mais que vient faire la résistance 10K ?

Je vois que tu as branché Aref sur ton contrôleur, il me semble que tu peux laisser celui en interne (tension d'alim)

En fait lors de mon premier essai le courant est passé par Ao et a donc grillé l' ATmega.

Bonjour,
Comme on est sur une liaison boucle de courant 4-20 mA, ta tension aux bornes de RES1% va varier de 1 V à 5V (U=RI).
La résistance de 10k sert de protection du port d'entrée du ATMega.
Rq: la boucle 4-20 mA permet également de tester les rupture de boucle -> SI 0v aux bornes de RES1% alors la boucle de courant est ouverte.
@+
[edit] Si tu as mesuré 90 mA c'est que tu as injecté 25 V sur l'entrée de la boucle de courant. Normal que l'entrée de l'ATMega n'aime pas =(

Comment j'aurais ajouté 25V ???

Quelle tension y a-t-il sur le pin 10 de J1 ?

rien , J1 est un bornier :
pin 1 : 25V
pin 2: masse

pin8 : masse de la boucle de courant
pin9 : 4-20mA

rien ? mais alors pourquoi y a-t-il quelque chose de connecté en direct ?

il n'y a rien tu es sur que tu parle bien de J1?

c'est le 9.
Tu parles d'ampérage, je te demande la tension (voltage)

à vide entre la pin 8 et 9 il y a 23,4-24

Je viens d'ajouter le Typon en fichier joint

voilà d'où viennent les 24 V que tu ne trouvais pas

C'est juste une tension pour transporter le courant mais c'est ce dernier qui est imposer .
-Au départ je n'est pas relié la pin 8 à la masse et le résultat est que j'avais 3,6V (ce qui est la bonne tension) aux bornes de R1% mais en entrée de Ao j'avais 25V
-Puis quand j'ai relié la pin 8 à la masse du circuit la tension aux bornes de R1% était de 25V et en entrée de Ao j'avais 5,6v

Bonjour,

Essaye de faire un pont diviseur : place une résistance de 1K entre ton entrée 4-20 mA et ta 250 ohms, et supprime ta résistance de 10k.
Tu peux faire l'essai en ne raccordant pas l'entrée annalogique et voir au voltmétre si ta tension varie bien en fonction de l'état du capteur