Arduino et le capteur de courant

Ci-dessous, je vous propose un épisode audio d’introduction en vous exposant l'idée principale. J'explique lors d'un enregistrement Youtube, l'idée du projet. Cette vidéo Youtube n'existe plus. J'ai gardé une trace audio dans l'épisode mindCast, dont je vous propose le lien ci-desous. mindCast est un podcast personnel, dont l'un des thèmes est la technologie en générale.

J'ai eu quelques retours suite à cette vidéo et j'ai pu échanger sur des aspects très intéressant.

Lors des différents échanges, on m'a proposé les idées suivantes :

  • L'USB-C permet un échange de données entre chargeur et appareil
  • Prise domotisée OSRAM+ avec appli IFTTT sur tel. Par exemple : Si batterie = 100% then coupe la prise.

Je ne les ai pas retenues.

AES 3

Par contre, Nico a trouvé un produit correspondant aux attentes. Il s'agit de ANSMANN AES 3 sur Amazon Ce produit est répond en tout point au besoin initial. Toutefois, on continue le projet, car derrière on va mettre en œuvre des technos qui nous permettront d'enchainer sur d'autres produits. Mais bravo Nico !

N'hésitez pas également à me soumettre vos idées ou échanger avec moi depuis ma page perso

On part à la réalisation d'un montages électroniques avec Arduino, ESP8266, capteurs et actionneurs. Pas besoin de logiciel de PAO, ni de graveur de circuits électroniques, mais un minimum vital comme tout bidouilleur qui se respecte. Il sera nécessaire d'avoir quelques composants (résistance, condensateur, transistor, AOP, circuit logique…), une plaque d'essai, des plaques à souder, un fer à souder, de l'étain.

On va essayer de structurer l'idée principal en algo simplifié.

// on déclare les constantes
COURANT_VAL_MINI  = 30mA
COURANT_SEUIL_DECLENCHEMENT = 30%

// on initialise les variables
courant_instantané = mesurerCourant()
courant_instantané_précédent = courant_instantané

:debut
  courant_instantané = mesurerCourant()
  si courant_instantané > courant_instantané_précédent
    alors courant_instantané_précédent = courant_instantané
  sinon si (courant_instantané / courant_instantané_précédent < COURANT_SEUIL_DECLENCHEMENT
        et courant_instantané > COURANT_VAL_MINI)
    alors couperAlimentation()
  sinon
    alors courant_instantané_précédent = courant_instantané
aller à :debut

Nous allons décortiquer cet algorithme. Nous identifions les différents éléments suivants :

On utilise deux variables car au cours de l'algorithme, les valeurs associées aux variables n'ont pas toujours la même valeur :

  • courant_instantané
  • courant_instantané_précédent

On utilise deux constantes afin d’identifier rapidement des valeurs statiques :

  • COURANT_VAL_MINI
  • COURANT_SEUIL_DECLENCHEMENT

On utilise deux fonctions afin de réaliser des actions complexes, décentralisé de l'algorithme principal :

  • mesurerCourant()
  • couperAlimentation()

Les fonctions utilisées font appel a des capteurs et actionneurs. Il s'agit respectivement d'un capteur de courant et d'un relai. Le capteur de courant permettra d'identifier la présence d'un courant de veille et la présence d'un courant de fonctionnement nominal. L'actionneur relai permettra de couper l'alimentation.

L'idée globale est la suivante : Nous voulons effectuer un relevé de la consommation électrique, si la valeur chute, alors il faudra couper l'alimentation.

Concernant le capteur, j'ai retenu le SCT 013.

Mise en oeuvre du capteur SCT013

Lors de mes recherches sur Internet je suis tombé sur une solution industrialisée avec ce capteur. Il est possible de brancher plusieurs capteurs à un boitier (appelé emonTX). Celui-ci communique avec une centrale (appelé emonPI). Ces données sont envoyées dans le cloud pour un accès graphique des données (appelé emonCMS) depuis un ordinateur ou un smartphone. Je n'ai pas vu d'actionneur dans cette solution.

SCT 013 en oeuvre

Dans l'épisode audio mindCast, j'introduis la notion de masse flottante ou de masse virtuelle.

La masse virtuelle permet d'obtenir deux tensions symétriques, une positive et l'autre négative par rapport à la masse, en partant d'une alimentation simple (mono-tension).

On utilisera des résistances montées en diviseur de tension. Leur valeur doit être identique, et devra être adaptée selon la consommation globale du circuit à alimenter (10Kohms pour 1mA, jusqu'à 100Kohms pour 100uA par exemple). L'unique condensateur C1 sert à “absorber” les variations de courant tant qu'elles ne sont pas trop importantes, et permet d'assurer une certaine stabilité à la tension présente au point 0V' (J4).

[…]

A suivre sur https://sonelec-musique.com/electronique_realisations_masses_virtuelles.html


Merci à Étienne (Youtube), Dominique (real), Gregory (Twitter) et Nico (Twitter).

  • informatique/arduino/arduino_et_le_capteur/start.txt
  • Dernière modification: 2018/10/13 10:06
  • par Cedric ABONNEL