Go Down

Topic: Rénovation ampèremètre gousset arduino (Read 1 time) previous topic - next topic

bidouilleelec

Parce que l'exemple du post #7 indique entre 10k et 470k.
A titre personnel je trouve 470 k un peu trop élevé, le courant dans les résistance un peu trop faible.
La raison est qu'il existe des courants de fuite inévitables et qui augmentent vite avec la température.
Deux fois 470 k font 1 megohm et un courant sous 5V de 5µA, il faut connaître parfaitement le reste du matériel pour être sur de son coup.


Je suis sans doute conservateur mais un pont de 2 fois 51 k fait 100k et sur 5V un courant de seulement 50 µA ce qui est parfaitement acceptable et permet de construire son schéma sans se prendre la tête.
Sauf si on fait la chasse au µA pour gratter de l'autonomie.
C'est logique.
Merci.

Cordialement,
bidouilleelec

El-Pony

#31
Mar 28, 2019, 11:32 am Last Edit: Mar 28, 2019, 12:11 pm by El-Pony
Bonjour,

Merci de vos réponses et précisions.

68tjs, pardon je n avais pas compris ca. Donc j ai terminer mon schéma regroupant l ensemble des parties électroniques avec les valeurs de chaque composants.

Pour l alimentation je me base sur une batterie usb 5volts pour alimenter l arduino et le voltmètre via un step up 5 to 12volts.

Maintenant il faut que je m attaque à la partie programmation de l arduino et la j ai un peu peur car pas très à l aise avec le language.

Si j ai bien compris il faut que j utilise AnalogWrite().

Voici mon code de base, en espérant qu il soit correct. J ai trouver plusieurs infos dont une pour la lecture de la pince. Je l ai ajouter au code mais sans vraiment savoir si cela est utile (librairie emonLib.h)

Code: [Select]

#include <emonLib.h> //contrôle capteur

EnergyMonitor emon1;
Int voltPin = 9
AnalogPin = 3 // port analogique
Int val = 0 // variable pour stocker valeur de lecture

Void setup ()
{
pinMode (voltPin, OUTPUT);
Emon1.current (analogPin, 29) // pin, calibration
}

Void loop ()
{
Val = analogRead (analogPin); //lecture broche entrée

analogWrite (voltPin, val / 4); // valeur analogRead 0 a 1023.

Delay (1000)
}


Suis je sur le bon chemin ?

Cordialement.

hbachetti

Un conseil : utilise les balise code.

https://forum.arduino.cc/index.php?topic=315372.0

en particulier : CORRIGER UN POST EXISTANT
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

El-Pony


hbachetti

Quote
68tjs, pardon je n avais pas compris ca. Donc j ai terminer mon schéma regroupant l ensemble des parties électroniques avec les valeurs de chaque composants.
Ce serait bien de le poster.

D'un point de vue code, j'ai l'impression que tu mélanges un peu.

Tu utilises emonlib, mais concrètement tu ne l'utilises pas.
A partir du moment où tu utilises analogRead pour lire la tension et analogWrite pour générer le PWM, emonlib est inutile.

Par contre emonlib peut être utile pour afficher les données lues :
https://learn.openenergymonitor.org/electricity-monitoring/ctac/how-to-build-an-arduino-energy-monitor

En prenant en compte uniquement la partie mesure de courant (CT).

Autrement, pin 9 pour générer le PWM est OK.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

dbrion06

vous êtes sur le bon chemin, mais je vais vous rappeler que C++ est SeNsIbLe à la CaSse et adore que les instructions se terminent par des ;{/b]

Si, par malheur,il lui venait à protester lors de la compilation de
Code: [Select]

Int voltPin = 9
AnalogPin = 3 // port analogique
Int val = 0 // variable pour stocker valeur de lecture

Void setup ()

sachez que
Code: [Select]

const int voltPin = 9;
AnalogPin = 3 ;// port analogique
int val = 0 ;// variable pour stocker valeur de lecture

void setup ()
aura moins d'erreurs, purement formelles (mais fastidieuses à corriger)

El-Pony

Merci.

J ai déjà essayer de poster mon schéma mais malheureusement cela ne fonctionne pas... j utilise mon téléphone pour converser et je n ai que le format jpeg qui ne semble pas être pris en charge :/

Après rien d exceptionnel je n ai fait que mettre bout à bout les différents schéma que vous me proposiez, en essayant de comprendre les valeurs de chaques composants.

Oui effectivement je me mélange un peu. J ai lu un post pour l utilisation de la pince où il etait utiliser la librairie emonLib.h mais cette personne utilise bien un écran lcd pour afficher les données. Il etait indiquer que cela permettait de stabiliser les valeurs reçu. Je vais donc retirer cette partie de mon code.

Je pensais que le code serait plus complexe mais rien de bien méchant après coup. (Une fois que l on comprend le pourquoi du comment ^^) Sauf erreur de ma part bien sûr.

Merci de ces précisions dbrion06, il est vrai que cela est important de bien vérifier son code. :)

J aurais besoin d une précision concernant le matériel, je souhaite pour ce projet utiliser une carte arduino nano. La carte est elle adaptée ?

Cordialement.

68tjs

#37
Mar 28, 2019, 02:18 pm Last Edit: Mar 28, 2019, 02:19 pm by 68tjs
Quote
Allowed file types: doc, gif, jpg, mpg, pdf, png, txt, zip, c, h, cpp, ino, pde
 Restrictions: maximum total size 2 MB, maximum individual size 2 MB
"jpg" est bien pris en compte mais "JPG" ne l'est probablement pas.
Les serveurs tournent sous Linux et pour Linux  " j" ou "J" sont deux quantités différentes, d'ailleurs n'ont t-elle pas 2 codes ASCII différents ?
On n'est pas sous windaube.

icare

2B OR NOT(2B) = FF
Arduino 1.0.5 à 1.8.5 + gEdit + Ubuntu 18.04 LTS

El-Pony

J ai réessayé de charger ma photo et voici le message d erreur.

There was a problem during the uploading of BBC6558C-E7BF-4A19-8F4F-1454B60EDBD0.jpeg.
Your post has been made, however the above attachment was not attached. Please use the Back button to edit your post and submit any required changes.
You cannot upload that type of file. The only allowed extensions are doc, gif, jpg, mpg, pdf, png, txt, zip, c, h, cpp, ino, pde.

hbachetti

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

fdufnews

#41
Mar 28, 2019, 07:22 pm Last Edit: Mar 28, 2019, 08:18 pm by fdufnews
Je ne sais pas trop quelle précision tu cherches pour ton affichage mais avec un PWM généré par l'alimentation de l'Arduino il ne faut pas t'attendre à une précision énorme.
La valeur de la tension sur une sortie PWM (après filtrage) est directement proportionnelle à la tension continue que cette sortie délivre en statique (niveau 0 comme niveau 1). La valeur de la tension sur une sortie de microcontrôleur n'est pas garantie. Son niveau peu fluctuer avec la température, les variations de l'alimentation dudit microcontrôleur, ....

Si aujourd'hui tu calibres ton code pour avoir un affichage pertinent il n'est pas dit que dans quelques temps la valeur affichée sera toujours juste.

D'autant que tu dépends de 2 calibrations:
  • le Vref de l'ADC pour la mesure du courant
  • les niveaux logiques 0 et 1 pour la tension générée par le PWM

Edit : Vu le schéma avec une alimentation secondaire, la précision du PWM ne dépend plus de la dérive des niveaux logiques sur les IO du processeur mais de la stabilité de l'alimentation secondaire.

El-Pony

#42
Mar 28, 2019, 07:29 pm Last Edit: Mar 28, 2019, 07:32 pm by El-Pony
je n ai pas réussi a changer quoi que ce soit pour la photo sur mon téléphone alors je fais l essai de mon fixe qui lui m affiche la photo en jpg..

voici le schéma :

hbachetti

Il n'y a plus qu'à tester. Tu as le matériel ?
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

El-Pony

Bonjour,

Non je n ai pas encore tout réuni, je devrais avoir le tout d ici une quinzaine je pense.

Avant de commander ce qu il me manque je souhaiterais avoir quelques précisions, à  savoir si je dois prendre une puissance spécifique pour le step up 5 to 12 v, quelques watts suffisent ils pour le projet ?
La carte arduino nano pose t elle des soucis pour ce projet ? (Cadence ?)

Go Up