Go Down

Topic: Entrée analogique : variations constantes (Read 86 times) previous topic - next topic

FabArduino

Bonjour à tous

Je suis en train de travailler avec un capteur ACS 712 20A et un mega 2560 mais je n'arrive jamais à avoir un résultat cohérent.
(La carte est alimenté par une source d'alimentation stable : chargeur)

Voilà le code en substance :

setup:
pinMode(0, INPUT);

loop :
int nbMesure = 200;
int buf[200];

//Mesures
for (int i = 0; i < nbMesure; i++)
{
   buf = analogRead(0);
   //delay(1); //en essayant avec ou sans
}
//Ensuite j'envois les résultats

Impossible d'évaluer l'état car j'ai presque plus de variations sur le capteur lorsqu'il n'y a pas de courant que lorsqu'il y en a...

Du coup je débranche le cable sur la broche 0 et je fais un relevé voilà ce que j'obtiens :

| Lectures :
 | 231
 | 232
 | 233
 | 234
 | 235
 | 236
 | 237
 | 238
 | 239
 | 240
 | 241
 | 241
 | 242
 | 242
 | 242
 | 243
 | 243
 | 243
 | 244
 | 244
 | 244
 | 245
 | 245
 | 245
 | 245
 | 246
 | 246
 | 246
 | 246
 | 246
 | 246
 | 247
 | 247
 | 247
 | 247
 | 247
 | 246
 | 246
 | 246
 | 245
 | 245
 | 244
 | 244
 | 243
 | 243
 | 242
 | 241
 | 240
 | 240
 | 239
 | 238
 | 237
 | 236
 | 236
 | 235
 | 234
 | 233
 | 232
 | 231
 | 230
 | 229
 | 228
 | 227
 | 226
 | 225
 | 224
 | 223
 | 222
 | 221
 | 220
 | 219
 | 218
 | 217
 | 216
 | 215
 | 214
 | 213
 | 212
 | 211
 | 210
 | 209
 | 208
 | 207
 | 207
 | 206
 | 205
 | 204
 | 203
 | 202
 | 202
 | 201
 | 200
 | 199
 | 199
 | 198
 | 197
 | 196
 | 195
 | 194
 | 193
 | 192
 | 192
 | 191
 | 190
 | 190
 | 189
 | 189
 | 188
 | 188
 | 187
 | 187
 | 186
 | 186
 | 185
 | 185
 | 184
 | 184
 | 183
 | 183
 | 183
 | 182
 | 182
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 181
 | 182
 | 182
 | 182
 | 182
 | 183
 | 183
 | 183
 | 183
 | 184
 | 184
 | 184
 | 184
 | 185
 | 185
 | 185
 | 186
 | 186
 | 187
 | 187
 | 188
 | 188
 | 189
 | 189
 | 190
 | 190
 | 191
 | 191
 | 192
 | 192
 | 193
 | 194
 | 195
 | 196
 | 197
 | 197
 | 198
 | 199
 | 200
 | 201
 | 202
 | 203
 | 204
 | 205
 | 206
 | 206
 | 208
 | 209
 | 210
 | 211
 | 212
 | 213
 | 214
 | 214
 | 215
 | 216
 | 216
 | 217
 | 217
 | 217
 | 218
 | 218
 | 218
 | 219
 | 219


Quelqu'un serait-il en mesure de m'expliquer ce que je rate?

68tjs

Non pas avec les explications que tu donnes.

Préalable : lire les trois messages épinglés :
1) Bienvenue sur le forum de la communauté francophone
2) Comment faire un nouveau message avec les balises
et pour les petites modif en cours de messages :
3) Bien éditer son post pour les nuls.

Petit résumé (non limitatif)
Il manque un lien vers le capteur et notament vers sa datasheet, ce n'est pas à nous a utiliser un moteur de recherche pour trouver la documentation.

Il manque le schéma électrique du montage que tu as réalisé, il ne faut pas croire que les erreurs sont uniquement dans le code.

Il manque la ou les valeurs que tu t'attend à trouver. Que veut-tu qu'on te dise, cette liste de valeur peut très bien être correcte ou fausse.

Quant à la programmation il y a une multitude d'erreurs et d'incohérences.
Les bases cela ne s'improvise pas cela s'apprend, tu ferais mieux de suivre le tuto d'Eskimon (lien dispo dans le message de bienvenue).

FabArduino

Merci pour on accueil 68tjs ;)

- Le schema pour le détailler c'est un arduino Mega 2560 sans rien de branché : il y a vraiment besoin d'un schema?
- Le code c'est pour montrer l'implémentation du test (200 relevés sans delay)
- Les valeurs quand à elles servent d'illustration concrète de ce que la carte mesure

Sinon merci mais je ne demande pas de recherche (la datasheet ne servant en rien si tu lis bien) en fait j'attend juste un avis de personnes qui savent

Merci :)

Jambe

(la datasheet ne servant en rien si tu lis bien) en fait j'attend juste un avis de personnes qui savent

Merci :)
Détrompe-toi, 68tjs fait partie de ceux qui en savent beaucoup.
Et si on te demande la datasheet c'est pas pour rien. C'est un réflexe à avoir en électronique et sur ce forum.

68tjs

Tu as posté dans "Réalisation et produits finis"
Reconnais que tu n'as pas d'effort pour comprendre le fonctionnement du forum.
Si tu veux des réponses tu utilises le lien "Report to Moderator" pour demander à faire déplacer ton message au bon endroit.


Quand je lis le code suivant :
Code: [Select]

setup:
pinMode(0, INPUT);

loop :
int nbMesure = 200;
int buf[200];

//Mesures
for (int i = 0; i < nbMesure; i++)
{
   buf = analogRead(0);
   //delay(1); //en essayant avec ou sans
}
//Ensuite j'envois les résultats


Je me dit  que ce n'est pas la syntaxe du C/C++
Ce que tu as écrit là ne peut pas compiler, il faudrait donner les vrais informations.

Quote
- Le schema pour le détailler c'est un arduino Mega 2560 sans rien de branché : il y a vraiment besoin d'un schema?
D'après ce que tu écris rien n'est branché sur la carte Mega, il n'y a donc pas de capteur ACS 712 20A
Alors d'où sortent les mesures ?

Figures toi que si ton schéma ou ton câblage contient une ou plusieurs erreurs tu aura beau avoir le meilleur code du monde cela ne fonctionnera jamais.

FabArduino

"Tutoriels & cours", "Réalisation et produits finis" ou "Le bar" > Il m'est apparu logique que cette question technique s'apparentait plus au terme "réalisation" parmi ces 3 catégories mais je ne suis peut être pas logique et j'aurai du regarder les règles ok ok > Je vais voir avec le modérateur demain pour faire déplacer ce topic vu qu'il n'est pas à la bonne place..

Pour revenir au sujet quand je dis le code en "substance" c'est que le code n'est pas véritablement important dans mon problème.

Je vais tenter de reformuler ma question : dans le cadre d'un calcul de puissance avec des ACS712 j'ai observé des variations identiques voir plus importantes lorsqu'il n'y avait pas de courant sur la lecture de la broche (lecture simple sans calcul).
Sans avoir de grandes notions en electronique j'ai donc testé sans rien brancher en m'attendant à voir quelque chose de stable (zero?) mais j'observe des variations (cf lectures effectuées sur la broche zero dans une boucle).

Pourquoi un tel phénomène? (il ne doit pas y avoir d'instabilité concernant l'alimentation de la carte)

68tjs

Quote
j'ai donc testé sans rien brancher en m'attendant à voir quelque chose de stable (zero?) mais j'observe des variations (cf lectures effectuées sur la broche zero dans une boucle).
Les explications commencent a devenir construites, donc compréhensibles, donc on peut donner une explication si on en connait une.

Deux raisons au phénomène décrit :
1) Un fil en l'air se comporte comme une antenne qui capte toutes les ondes  dans lesquelles on baigne.
2) Les entrées du micro-contrôleur sont à très haute impédance ce qui fait que les courants captés par le fil d'antenne se transforment en volts. Volts que le convertisseur analogique/digital convertit en nombre de pas élémentaires.

Quand le fil sera connecté au capteur ce phénomène "parasite" ne se manifestera plus.
Il n'est pas représentatif d'un usage normal.
Les difficultés rencontrées avec le capteur ont leurs origines ailleurs.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy