abonnel-siteweb/data/pages/electronique/arduino/couper-la-veille.txt

146 lines
6.5 KiB
Plaintext
Raw Normal View History

2024-01-07 10:02:35 +01:00
====== Couper la veille avec un Arduino ======
{{ :electronique:arduino:arduino_et_le_capteur:capteur-de-courant-ac-detachable-100a-.jpg?400|}}
Arrêter l'alimentation d'un appareil lorsque celui-ci passe en veille, est-ce possible sans intervention humaine ? L'idée est d'interrompre l'alimentation de l'appareil, de manière automatique, lorsque celui-ce a terminée ça tâche principale. Cet appareil ne pourra par redémarrer sans intervention humaine. On pourra intervenir en appuyant sur un bouton.
On peut appliquer cette idée à :
* un chargeur de téléphone
* un appareil hi-fi
* une télévision
* un chargeur de batterie
* ordinateur
* cafetière
Ci-dessous, je vous propose un épisode audio dintroduction 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.
<WRAP center round todo 60%>
[[https://www.abonnel.fr/podcast/?name=2018-10-08_info_09_arduino_capteur_courant.mp3|écouter l'épisode - Arduino et capteur de courant]]
Cet épisode est extrait du podcast [[https://www.abonnel.fr/podcast|mindCast INFO]]
</WRAP>
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.
<WRAP clear/>
{{ informatique:couper_la_veille:ansmann_aes3.jpg?150|AES 3}}
Par contre, Nico a trouvé un produit correspondant aux attentes. Il s'agit de [[https://amzn.to/2OdOjYz|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 dans les commentaires de cette page.
<WRAP clear/>
===== Principe technique =====
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é.
<code>
// 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
</code>
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 didentifier 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.
===== Capteur SCT013 =====
Concernant le capteur, j'ai retenu le SCT 013.
<WRAP group>
<WRAP half column>
Mise en oeuvre du capteur SCT013
* [[https://scidle.com/how-to-use-non-invasive-ac-current-sensors-with-arduino/|How to use Non-invasive AC Current Sensors with Arduino]] sur le site **Scidle**
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.
* [[https://learn.openenergymonitor.org/electricity-monitoring/ct-sensors/interface-with-arduino |Interface with Arduino]] sur le site **OpenEnergyMonitor**
</WRAP>
<WRAP half column>
{{ electronique:arduino:arduino_et_le_capteur:sct013.jpg?200 |SCT 013 en oeuvre}}
</WRAP>
</WRAP>
<WRAP clear/>
===== Masse flottante =====
Dans l'épisode audio mindCast, j'introduis la notion de masse flottante ou de masse virtuelle.
<WRAP group>
<WRAP half column>
{{ informatique:couper_la_veille:electronique_masse_virtuelle_001.gif?300 |}}
</WRAP>
<WRAP half column>
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).
[...]
</WRAP>
</WRAP>
A suivre sur https://sonelec-musique.com/electronique_realisations_masses_virtuelles.html
<WRAP clear/>
<WRAP clear/>
----
Merci à Étienne (Youtube), Dominique (real), Gregory (Twitter) et Nico (Twitter).