Go Down

Topic: 'Resolu ' mesure de courant et tension (Read 8142 times) previous topic - next topic

Pascal17740

oui , mais à l'entrée de la boucle for tension_capteur vaut 5v
à la sortie elle vaut 5+500*0 ! puisque A0=0.
puis elle vaut 5/500 soit 0.01.



a savoir que si je supprime la boucle de moyennage le probleme reste identique
5 v sur A0 = I 13.58 A
0 v suur A0 = I -13.54

J-M-L

#46
Nov 12, 2017, 07:11 pm Last Edit: Nov 12, 2017, 07:13 pm by J-M-L
a savoir que si je supprime la boucle de moyennage le probleme reste identique
5 v sur A0 = I 13.58 A
0 v suur A0 = I -13.54

si tension_capteur = 0 alors courant = ((tension_capteur - 2.5) / 0.185) vaut -13.54...

tout fonctionne bien


vous êtes sûr que vous voyez -5V (MOINS 5V pour la tension) quand branché sur GND ??
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

68tjs

Je ferai autrement, la mise au point ne se fait pas comme cela, il faut de la rigueur.
Je commencerai par faire la mesure avec un voltmètre, avec et sans courant (--> mesure du Vcc/2 réel en sortie de capteur).
Je ferai le calcul  avec une calculette.
Je regarderai si la mesure est déconnante ou si elle est correcte.
A quoi sert d'aligner des lignes de code si l'électronique n'est pas validée avant ?

Ensuite si c'est bon on passe à la programmation
1)  Je ne laisserai branché QUE le capteur.
2) je partirai sur une seule mesure, sans aucun moyenage et je vérifierai la validité de la mesure.
3) Je séparerai dès le début le courant de la composante continue (déjà mesurée) de sortie du capteur et je validerai le calcul.
Tant que ce ne sera pas bon il faudra trouver la raison.

4) Je connecterai le restant en vérifiant régulièrement la validité de la mesure : c'est le meilleur moyen pour trouver une éventuelle incohérence de câblage --> c'est le meilleur mais aussi en fin de compte le plus rapide.

5) si le besoin s'en fait sentir, et seulement si c'est nécessaire, j'introduirai un moyenage.
 
Question :
Est-ce logique d'accumuler les mesures brutes (composante continue + courant), d'en faire la moyenne et seulement à la fin soustraire la composante continue de la mesure ?
Cette composante continue est bien déterminée, la lecture de la datasheet valide bien qu'elle est égale non pas à 2,5V mais à Vcc/2 c'est quelque peu différent. Même si la mesure de l'ADC du micro est bruitée une mesure au voltmètre de ce Vcc/2 donnera un résultat précis et fiable.

Pour moi ce n'est pas logique, il faut soustraire cette valeur de la mesure brute avant de faire l'accumulation.
Cela peut fonctionner mais ce n'est pas logique et ce qui n'est pas logique sera à un moment ou à un autre source d'erreur.



Pascal17740

non je n ai jamais parler de - 5v mais de -13,5 A pour  0V et 13.5 pour +5V

J-M-L

#49
Nov 12, 2017, 07:18 pm Last Edit: Nov 12, 2017, 07:20 pm by J-M-L
non je n ai jamais parler de - 5v mais de -13,5 A pour  0V et 13.5 pour +5V
--> c'est quoi le petit tiret avant le 5?

bonjour je viens de develloper sur une uno juste la fonction mesure de courant mais le resultat n 'est pas celui escompter  si je force l entree analogique a + 5 volts j obtiens dans serial tension capteur 5 V , courant capteur 13.6 A et des que je force l entree a gnd tension capteur - 5 V , courant capteur -13.6 A
je ne vois pas ou est le pb
avec la pin à GND vous devriez avoir dans la console 0V avec la formule... mais comme vous refusez de copier coller ce qui s'affiche, on ne sait pas...


Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Pascal17740

#50
Nov 12, 2017, 07:21 pm Last Edit: Nov 12, 2017, 07:27 pm by Pascal17740
Je ferai autrement, la mise au point ne se fait pas comme cela, il faut de la rigueur.
Je commencerai par faire la mesure avec un voltmètre, avec et sans courant (--> mesure du Vcc/2 réel en sortie de capteur).
Je ferai le calcul  avec une calculette.
Je regarderai si la mesure est déconnante ou si elle est correcte.
A quoi sert d'aligner des lignes de code si l'électronique n'est pas validée avant ?

Ensuite si c'est bon on passe à la programmation
1)  Je ne laisserai branché QUE le capteur.
2) je partirai sur une seule mesure, sans aucun moyenage et je vérifierai la validité de la mesure.
3) Je séparerai dès le début le courant de la composante continue (déjà mesurée) de sortie du capteur et je validerai le calcul.
Tant que ce ne sera pas bon il faudra trouver la raison.

4) Je connecterai le restant en vérifiant régulièrement la validité de la mesure : c'est le meilleur moyen pour trouver une éventuelle incohérence de câblage --> c'est le meilleur mais aussi en fin de compte le plus rapide.

5) si le besoin s'en fait sentir, et seulement si c'est nécessaire, j'introduirai un moyenage.
 
Question :
Est-ce logique d'accumuler les mesures brutes (composante continue + courant), d'en faire la moyenne et seulement à la fin soustraire la composante continue de la mesure ?
Cette composante continue est bien déterminée, la lecture de la datasheet valide bien qu'elle est égale non pas à 2,5V mais à Vcc/2 c'est quelque peu différent. Même si la mesure de l'ADC du micro est bruitée une mesure au voltmètre de ce Vcc/2 donnera un résultat précis et fiable.

Pour moi ce n'est pas logique, il faut soustraire cette valeur de la mesure brute avant de faire l'accumulation.
Cela peut fonctionner mais ce n'est pas logique et ce qui n'est pas logique sera à un moment ou à un autre source d'erreur.



je ne branche pas de capteur je veux verifier cette formule qui est sense me donner 5 A lorsque je passe a 5 v  l entree analogique et 0 lorsque la broche est a GND.
car il est pas normal d obtenir des valeur de -13.5  a 0 v et 13, 5 a vcc

Pascal17740

--> c'est quoi le petit tiret avant le 5?

avec la pin à GND vous devriez avoir dans la console 0V avec la formule... mais comme vous refusez de copier coller ce qui s'affiche, on ne sait pas...



c est une erreur de frappe je voulais marque 0 v
quand au copier coller j ai beau surligner les resultat dans la console je n ai pas la fonction copier qui marche .

Leptro

Que ce soit dans la console ou dans la fenêtre de compilation, il suffit de sélectionner le résultat avec la souris puis faire CTRL+C pour copier
Et CTRL + V pour coller dans le forum.


Pascal17740

Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 5.01    Courant capteur (A) = 13.58
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
 Tension capteur (V) = 0.00    Courant capteur (A) = -13.51
  Tension capteur (V) = 3.34    Courant capteur (A) = 4.55
 Tension capteur (V) = 3.33    Courant capteur (A) = 4.50
 Tension capteur (V) = 3.33    Courant capteur (A) = 4.50
 Tension capteur (V) = 3.34    Courant capteur (A) = 4.52
 Tension capteur (V) = 3.34    Courant capteur (A) = 4.52
 Tension capteur (V) = 3.34    Courant capteur (A) = 4.52
 Tension capteur (V) = 3.34    Courant capteur (A) = 4.52
 Tension capteur (V) = 3.33    Courant capteur (A) = 4.50

J-M-L

#54
Nov 12, 2017, 07:48 pm Last Edit: Nov 12, 2017, 07:51 pm by J-M-L
OK donc votre code et votre arduino fonctionnent. pas de soucis.

Dans la vraie vie en courant continue une intensité de 0A vous donnera un courant proche de Vcc / 2 donc vous serez toujours au dessus de ce seuil dans la mesure de AnalogRead() (échantilloné) et donc la formule mathématique de l'intensité ne passera pas négative.

(68tjs dira que dans la vraie vie va falloir tenir compte des petites approximations et il aura raison)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

68tjs

Le principe de ce produit est simple : il est prévu pour le continu comme pour l'alternatif.
Comme on évite au maximum d'utiliser une double tension +5V et -5V, le concepteur du produit a prévu un décalage sur la sortie égal à Vcc/2 et j'y tiens absolument Vcc/2 pas 2,5V  --> si Vcc = 4,8V la sortie sera égale à 2,4 V  et avec 2.5  la valeur de ton courant sera fausse !

Donc cette valeur de Vcc/2 ne représente en rien la valeur du courant.
Avant toute manipulation du résultat il faut VIRER cette composante continue de Vcc/2.
Sinon tu compliques inutilement comme en ce moment.

Je te rappelle que je t'ai dit qu'en fonctionnement avec un courant continu si tu fais passer le courant dans un sens la mesure vraie ( après déduction du Vcc/2) aura un sens et si tu inverse le câblage tu obtiendra la même valeur absolue mais avec le signe opposé.

Pascal17740

je veux bien comprendre ta variation de vcc/2

mais cela n explique pas pourquoi j obtient 13.5 ampere a vcc et non 5 amperes.....

J-M-L

#57
Nov 12, 2017, 08:36 pm Last Edit: Nov 12, 2017, 09:08 pm by J-M-L
Je n'ai pas regardé mais en faisant confiance à 68tjs --> La formule qui donne l'intensité pour un x05B  (Imax = 5A  sensibilité = 185 mV par ampère)

Vs = 2,5 + 0,185 * I   (I en ampères)

soit

I = (Vs - 2,5) / 0,185

MAIS comme votre capteur est calibré pour ne pas mesurer plus de 5A, ça veut donc dire que Vs ne sera jamais égal à 5V mais au mieux il sera à environ 3.425V ce qui donne bien les 5A souhaités -> analogRead() sera environ à 700.

votre "simulation" sort des conditions normales de fonctionnement du capteur et donc la formule est hors intervalle de validité


Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

68tjs

#58
Nov 12, 2017, 09:29 pm Last Edit: Nov 12, 2017, 09:30 pm by 68tjs
Tiens une bonne remarque et j'ajoute  c'est quelle version de capteur exactement ?

Parce qu'avec les renseignements donnés au compte goutte je n'arrive plus à m'y retrouver.
Dans le code j'ai aperçu une version 5A et dans le texte il me semble avoir lu une version 20 A

RAZ  --> Remise à Zéro pour ceux qui ne comprennent pas le français.
Si je reprends en tenant compte de la remarque judicieuse de J-M-L

Quote
La datasheet est prévue pour 3 versions du circuit
x05B    Imax = 5A  sensibilité = 185 mV par ampère
x20A   Imax = 20A sensibilité 100 mV par ampère
x30A   Imax = 30A sensibilité = 66 mV par ampère
Soit une excursion maximale par version avec un Vcc théorique égal à 5,00 V

Version         Vmax si sens positif     Vmin si sens négatif
x05B 2,5V + 0,185x5  = 3,425V   2,5V - 0,185 x 5 = 1,575V
x20A 2,5V + 0,100x 20 = 4,5V 2,5 V -0,100 x 20 = 0,5 V
x30A 2,5V + 0,066x 30 = 4,48 V               2,5V + 0,066x 30 = 0,52V


Conclusion : ta méthode de placer à 0 et à Vcc n'est pas bonne.
Franchement je n'avais compris ce que tu voulais faire, je pensais que tu voulais seulement vérifier les entrées de ta carte.
Si tu veux étalonner il faut utiliser une charge réelle, utiliser un multimètre en fonction ampèremètre et comparer les résultats.
Si tu veux simuler tu peux utiliser un potentiomètre branché entre  la masse et le Vcc et dont tu règles la tension de sortie avec un voltmètre.

Mais as-tu seulement un multimètre, je me pose la question.

Question qui j'espère obtiendra une réponse : le code c'est toi qui l'a pondu ou tu l'a récupéré ?


Pascal17740

Je n'ai pas regardé mais en faisant confiance à 68tjs --> La formule qui donne l'intensité pour un x05B  (Imax = 5A  sensibilité = 185 mV par ampère)

Vs = 2,5 + 0,185 * I   (I en ampères)

soit

I = (Vs - 2,5) / 0,185

MAIS comme votre capteur est calibré pour ne pas mesurer plus de 5A, ça veut donc dire que Vs ne sera jamais égal à 5V mais au mieux il sera à environ 3.425V ce qui donne bien les 5A souhaités -> analogRead() sera environ à 700.

votre "simulation" sort des conditions normales de fonctionnement du capteur et donc la formule est hors intervalle de validité



pour respecter les ordre des priorite mathematique Vs = 2,5 +( 0,185 * I)   (I en ampères)
avec butee haute a vs = 3.425
cela deviens de suite plus comprehensif

Go Up