Gestion énergétique d'un système d'hydroponie : Différence entre versions

(Cette version a été marquée pour être traduite)
 
(44 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{ {{tntn|Tuto Details}}
+
{{Tuto Details
 +
|Main_Picture=Pilotage_de_l'hydroponie_via_Arduino_IMG_0352.JPG
 
|Licences=Attribution (CC BY)
 
|Licences=Attribution (CC BY)
|Description=Ce tutoriel permet le pilotage d'une plantation hydroponique via un petit système électronique contrôlé par une carte Arduino, de l'assemblage des composants à l'écriture du programme de guidage. Cette installation a été étudiée et documentée lors d'une escale du Nomade des Mers à Taipei (Taïwan) et est dorénavant utilisée pour gérer le système hydroponique du bateau.
+
|Description=<translate><!--T:1-->
 +
Ce tutoriel permet le pilotage d'une plantation hydroponique via un petit système électronique contrôlé par une carte Arduino, de l'assemblage des composants à l'écriture du programme de guidage. Cette installation a été étudiée et documentée lors d'une escale du Nomade des Mers à Taipei (Taïwan) grâce à l'atelier collaboratif OpenLab. Elle est dorénavant utilisée pour gérer le système hydroponique du bateau.</translate>
 
|Area=Food, Energy
 
|Area=Food, Energy
 
|Type=Tutorial
 
|Type=Tutorial
 
|Difficulty=Medium
 
|Difficulty=Medium
|Duration=2
+
|Duration=1
 
|Duration-type=day(s)
 
|Duration-type=day(s)
|Cost=80
+
|Cost=30
 
|Currency=EUR (€)
 
|Currency=EUR (€)
 +
|Tags=Hydroponie, Hydroponique, plantes, Agriculture, Arduino, Electronique, Spiruline, Energie
 
}}
 
}}
{{ {{tntn|Introduction}}
+
{{Introduction
|Introduction=Ce système permet de contrôler une plantation hydroponique présenté dans le tutoriel prérequis. Le tout sera alors capable de fonctionner automatiquement pendant une durée déterminée par l'usure des composants, ce qui reste assez conséquent.  
+
|Introduction=<translate><!--T:2-->
 +
Ce système permet de contrôler une plantation hydroponique (présentée dans le tutoriel prérequis) ainsi qu'un réservoir de spiruline. Le tout sera alors capable de fonctionner automatiquement pendant une durée déterminée par l'usure des composants, ce qui reste assez conséquent.
  
 +
<!--T:3-->
 
{{Idea|Une certaine maintenance et une vérification régulière sont nécessaire pour palier les éventuels impondérables.}}
 
{{Idea|Une certaine maintenance et une vérification régulière sont nécessaire pour palier les éventuels impondérables.}}
  
Cette installation est spécialement utile lorsque l'on dispose d'une source d'énergie limitée ou inconstante (solaire, éolienne, hydraulique) car elle permet de répartir l'énergie entre les différents composants en réduisant au maximum les pertes.
+
<!--T:4-->
 +
Plus généralement, cette installation est utile pour n'importe quel système électrique, d'autant plus si l'on dispose d'une source d'énergie limitée ou inconstante (solaire, éolienne, hydraulique), car elle permet de répartir l'énergie entre les différents composants en réduisant au maximum les pertes.
  
 +
<!--T:5-->
 
On peut ainsi grâce à un fonctionnement en alternance:
 
On peut ainsi grâce à un fonctionnement en alternance:
  
 +
<!--T:6-->
 
- Contrôler la température de la pièce grâce au déclenchement ou pas d'un petit ventilateur d’appoint
 
- Contrôler la température de la pièce grâce au déclenchement ou pas d'un petit ventilateur d’appoint
  
 +
<!--T:7-->
 
- Contrôler le fonctionnement des différentes pompes à eau
 
- Contrôler le fonctionnement des différentes pompes à eau
  
- Contrôler la mise en marche du bulleur qui oxygène l'eau
+
<!--T:8-->
 +
- Contrôler la mise en marche du bulleur qui permet une bonne oxygénation du milieu de vie de la spiruline
  
 +
<!--T:9-->
 
- Contrôler la charge des batteries afin de stocker l'énergie non utilisée
 
- Contrôler la charge des batteries afin de stocker l'énergie non utilisée
  
 +
<!--T:10-->
 
En bonus, l'énergie restante peut être utilisée pour charger n'importe quel appareil en USB grâce à un petit convertisseur.
 
En bonus, l'énergie restante peut être utilisée pour charger n'importe quel appareil en USB grâce à un petit convertisseur.
 +
 +
<!--T:11-->
 +
Les panneaux solaire utilisés produisent en 12V environ 30 W. Pour savoir la puissance nécessaire au système, prendre la puissance demandée par le composant le plus énergivore (ici le bulleur).
 +
 +
<!--T:135-->
 +
{{Warning|Le prix indiqué comprend uniquement le module de contrôle de l'énergie. Il n'inclut donc pas les panneaux solaires ou le système hydroponique.}}<br /></translate>
 +
}}
 +
{{Materials
 +
|Prerequisites={{Prerequisites
 +
|Prerequisites=Hydroponie
 +
}}{{Prerequisites
 +
|Prerequisites=Récupération de batteries
 
}}
 
}}
{{ {{tntn|Materials}}
 
 
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_IMG_9933.JPG
 
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_IMG_9933.JPG
 
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_IMG_9929.JPG
 
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_IMG_9929.JPG
 
|Step_Picture_02=Pilotage_de_l'hydroponie_via_Arduino_IMG_9942.JPG
 
|Step_Picture_02=Pilotage_de_l'hydroponie_via_Arduino_IMG_9942.JPG
 
|Step_Picture_03=Pilotage_de_l'hydroponie_via_Arduino_IMG_9930.JPG
 
|Step_Picture_03=Pilotage_de_l'hydroponie_via_Arduino_IMG_9930.JPG
|Material={{Info|Les références des composants présentés ici sont donnés à titre d'exemple et peuvent tout à fait être remplacés par d'autre à fonction équivalente.}}
+
|Step_Picture_04=Pilotage_de_l'hydroponie_via_Arduino_IMG_0348.JPG
 +
|Step_Picture_05=Pilotage_de_l'hydroponie_via_Arduino_IMG_0346.JPG
 +
|Material=<translate><!--T:12-->
 +
{{Info|Les références des composants présentés ici sont données à titre d'exemple et peuvent tout à fait être remplacées par d'autres à fonctions équivalentes.}}
  
 +
<!--T:13-->
 
*une carte Arduino UNO  REV3 A000066
 
*une carte Arduino UNO  REV3 A000066
  
 +
<!--T:14-->
 
*un régulateur de charge et de décharge (ex : 4-8V 1A Module de Chargeur Charge Batterie Mini Li-ion USB Arduino TP4056
 
*un régulateur de charge et de décharge (ex : 4-8V 1A Module de Chargeur Charge Batterie Mini Li-ion USB Arduino TP4056
  
*un convertisseur de tension : DC/DC booster MT3608 (composant électrique qui va transformer le 3,7 V des batteries en 5V)
+
<!--T:15-->
 +
*un convertisseur de tension : DC/DC booster MT3608 (composant électrique qui va transformer le 3,7 V des batteries en 5V pour la sortie USB)
  
 +
<!--T:16-->
 
*un module de 4 relais 5V pour Arduino
 
*un module de 4 relais 5V pour Arduino
  
*un domino à 6 connecteurs  
+
<!--T:17-->
 +
*un domino à 6 connecteurs
  
 +
<!--T:18-->
 
*des fils
 
*des fils
  
*un convertisseur DC-DC  
+
<!--T:19-->
 +
*un module régulateur de voltage DC-DC LM2596, 3.0-40V vers 1.5-35V
  
 +
<!--T:20-->
 
*2 batteries 18650, 3.6V
 
*2 batteries 18650, 3.6V
  
 +
<!--T:21-->
 
*2 supports de batteries 18650
 
*2 supports de batteries 18650
  
*un bouton ON/OFF
+
<!--T:22-->
|Tools=<u>Pour le circuit électronique:</u>
+
*un capteur de température, Transistors Bipolaire NPN BC547B</translate>
 +
|Tools=<translate><!--T:23-->
 +
<u>Pour le circuit électronique:</u>
  
 +
<!--T:24-->
 
- un fer à souder
 
- un fer à souder
  
 +
<!--T:25-->
 
- du fil d'étain
 
- du fil d'étain
  
 +
<!--T:26-->
 +
- un multimètre ou ohmmètre
 +
 +
<!--T:27-->
 +
- un petit tournevis
 +
 +
<!--T:28-->
 
<u>Pour la programmation:</u>
 
<u>Pour la programmation:</u>
  
 +
<!--T:29-->
 
-le programme Arduino, facilement téléchargeable gratuitement sur le site Arduino (https://www.arduino.cc/en/Main/Software#)
 
-le programme Arduino, facilement téléchargeable gratuitement sur le site Arduino (https://www.arduino.cc/en/Main/Software#)
  
<br />
+
<!--T:30-->
|Prerequisites={{ {{tntn|Prerequisites}}
+
<br /></translate>
|Prerequisites=Hydroponie
 
}}{{ {{tntn|Prerequisites}}
 
|Prerequisites=Récupération de batteries
 
 
}}
 
}}
}}
+
{{Tuto Step
{{ {{tntn|Tuto Step}}
+
|Step_Title=<translate><!--T:31-->
|Step_Title=Conception du circuit électrique
+
Conception du circuit électrique - Première Partie</translate>
|Step_Content====='''<u>Court résumé du circuit</u>'''====
+
|Step_Content=<translate><br />
RESUME
+
===='''<u>Court résumé du circuit</u>'''==== <!--T:136-->
 +
 
 +
<!--T:32-->
 +
''Le circuit est composé d'une carte Arduino permettant de piloter une carte de 4 relais contrôlant les composants: le bulleur, la pompe, le ventilateur et les batteries.  Les relais sont alimentés par des panneau solaires 12V.  De plus est branché à la carte Arduino un petit capteur de température.''
 +
 
 +
<!--T:33-->
 +
''Pour alimenter les batteries, il faut un régulateur de charge décharge qui transforme du 5V en 3,7V. A donc été ajouté un convertisseur DC-DC (courant continu) qui transformera les 12V du panneau solaire en 5V pour le contrôleur de charge/décharge. Enfin un petit convertisseur muni d'une sortie USB transforme les 3,7V des batteries en 5V pour la charge de téléphones portable et pour l'alimentation de la carte Arduino.''
  
Pour faciliter la compréhension, le circuit général sera divisé en deux modules, puis il suffira de les connecter entre eux et de brancher les différents appareils (le bulleur, la/les pompe/s et le ventilateur aux relais.<br />
+
Pour faciliter la compréhension, le circuit général sera divisé en deux modules, puis il suffira de les connecter entre eux puis d'y brancher les différents appareils.<br />
 +
<br />
 +
===='''<u>Module 1</u>'''==== <!--T:137-->
  
===='''<u>Module 1:</u>'''====
+
<!--T:34-->
''Ce module contient les batteries, les contrôleur de charge, le convertisseur DC-DC ainsi que la sortie USB.''  
+
''Ce module contient les batteries, les contrôleur de charge, le convertisseur 12V -5V ainsi que la sortie USB.''
  
 +
<!--T:35-->
 
Connecter d'abord les bornes + et - des batteries en parallèles aux bornes + et - de la sortie du contrôleur de charge (OUT+ et OUT-). De même, connecter la sortie du contrôleur de charge  (OUT+ et OUT-) aux bornes de la sortie USB.
 
Connecter d'abord les bornes + et - des batteries en parallèles aux bornes + et - de la sortie du contrôleur de charge (OUT+ et OUT-). De même, connecter la sortie du contrôleur de charge  (OUT+ et OUT-) aux bornes de la sortie USB.
  
 
A l'entrée du contrôleur de charge (IN+ et IN-), connecter la sortie du convertisseur DC-DC  (OUT+ et OUT-).<br />
 
A l'entrée du contrôleur de charge (IN+ et IN-), connecter la sortie du convertisseur DC-DC  (OUT+ et OUT-).<br />
 +
<br />
 +
===='''<u>Module 2</u>'''==== <!--T:138-->
 +
 +
<!--T:36-->
 +
''Ce module contient l'a carte Arduino, sont capteur de température et les relais qui permettront de gérer chaque composant indépendamment.''<br />
  
===='''<u>Module 2</u>'''====
+
<!--T:37-->
''Ce module contient l'Arduino et les relais qui permettront de gérer chaque composant indépendamment.''<br />Il s'agit donc de faire:
+
Il s'agit donc de faire:
  
 +
<!--T:38-->
 
*les branchements entre les différentes sorties de l'Arduino et les entrée du relais
 
*les branchements entre les différentes sorties de l'Arduino et les entrée du relais
  
 +
<!--T:39-->
 
Pour cela, connecter les sorties 2, 3, 4 et 5 de la carte Arduino aux entrées 1, 2,  3, 4 de la carte relais.
 
Pour cela, connecter les sorties 2, 3, 4 et 5 de la carte Arduino aux entrées 1, 2,  3, 4 de la carte relais.
  
 +
<!--T:40-->
 
*les branchements pour gérer l'alimentation de la carte relais
 
*les branchements pour gérer l'alimentation de la carte relais
  
 +
<!--T:41-->
 
Pour cela, connecter une sortie 5V de l'Arduino à la vcc (tension d'alimentation positive) de la carte relais puis connecter la terre (GND) de l'Arduino à la terre de la carte relais.
 
Pour cela, connecter une sortie 5V de l'Arduino à la vcc (tension d'alimentation positive) de la carte relais puis connecter la terre (GND) de l'Arduino à la terre de la carte relais.
  
===='''<u>Connections aux relais</u>'''====
+
<!--T:42-->
Cette partie a pour but l'alimentation de la carte relais via la source d'énergie (ici panneaux solaires) ainsi que de relier les relais aux éléments du système hydroponique.<br />
+
*les branchements du capteur de température
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_IMG_9946.jpg
 
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_Module_2_arduino_relais_.jpg
 
}}
 
{{ {{tntn|Tuto Step}}
 
|Step_Title=Ecriture du programme
 
|Step_Content={{Info|Pour rappel, le circuit est donc composée d'un capteur de température branché sur la sortie A0 de la carte Arduino et de 4 relais en sortie 2, 3, 4, 5 qui permettent d'accéder aux divers éléments.}}
 
 
 
<br />
 
====<u>'''Partie 1: Définition des variables'''</u>====
 
Cette partie consiste à définir les constantes (les valeurs qui seront utilisées plus tard) et à nommer les relais.
 
  
La fonction <small>"const int"</small> permet de créer une constante qui sera la valeur lue par le capteur en A0, cette valeur ne peut pas être modifiée.
+
<!--T:43-->
 +
Pour cela, connecter l'Analog in A0 de l'Arduino à la "Base (B)" du capteur, une sortie 5V au "Collecteur (C)" et une terre (GND) à "l'Emetteur (E)".  Les différentes branches du capteur sont indiqués soit par les lettres B,C,E, soit par les chiffres 1, 2, 3 (voir schéma ci-contre).
  
La fonction <small>"int"</small> permet juste de nommer une sortie du relais (par exemple la sortie 2 correspond au ventilateur).
+
<!--T:44-->
 +
<br /></translate>
 +
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_Module_1.jpg
 +
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_Module_2_arduino_relais_final.jpg
 +
|Step_Picture_02=Pilotage_de_l'hydroponie_via_Arduino_transistor_NPN_BC_547.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=<translate><!--T:45-->
 +
Conception du circuit électrique - Deuxième Partie</translate>
 +
|Step_Content=<translate><br />
 +
===='''<u>Connections aux relais</u>'''==== <!--T:139-->
  
<br />
+
<!--T:46-->
====<u>'''Partie 2: Initialisation du programme'''</u>====
+
''Cette partie a pour but l'alimentation de la carte relais via la source d'énergie (ici panneaux solaires), la liaison des relais aux éléments du système hydroponique grâce aux dominos  ainsi que l'alimentation de la carte Arduino.''
Pour lancer cette partie on utilise la fonction <small>"void setup()"</small> qui sert à initialiser et à définir les valeurs initiales, elle ne sera lu qu'une fois lors de la mise en route du programme.
 
  
La fonction <small>"Serial.begin"</small> donne le débit de transfert de donnée en caractère par seconde (baud). 9600 est une valeur standard et est largement suffisante pour ce type de programme.
+
<!--T:47-->
 +
Le relais agit comme un interrupteur commandé par une tension.
  
La fonction <small>"pinMode"</small> configure la broche choisi pour un certain comportement en entrée <small>"INPUT"</small> ou en sortie <small>"OUTPUT"</small> (ici en sortie).  
+
<!--T:48-->
 +
Il y a 3 bornes par relais : La borne centrale sert à alimenter le relais en courant et les deux bornes extérieures servent à connecter des composants (bulleur, pompe...).
  
(La fonction <small>"digitalWrite"</small> permet commander le relais choisi avec le <small>"pinMode"</small>. Elle mettra donc 5V de tension pour <small>"LOW"</small> et 0V pour <small>"HIGH"</small> .)
+
<!--T:49-->
 +
Lorsqu'il est éteint, le relais se positionne sur une des borne extérieure puis, lorsque l'Arduino envoie une commande en tension, le relais change de position et alimente l'autre borne.
  
{{Warning|1=Il existe deux modèles de fonctionnement pour les relais (ON = 5V/OFF=0V ou OFF=5v/ON=0v).
+
<!--T:50-->
 +
Pour déterminer la position du relais lorsqu’il est éteint, utiliser un multimètre ou un ohmètre en mode test de continuité (ce mode émet un son (bip) lorsque les deux électrodes sont connectées).
  
Si vous achetez un module de relais (en fonction HIGH, a l'arrêt LOW). Il vous faudra changer dans le programme tous les HIGH par LOW et tous LOW par HIGH.}}
+
<!--T:51-->
 +
Tester sur un des relais:
  
 +
<!--T:52-->
 +
-la borne centrale avec une borne extérieur
  
Par exemple:  
+
<!--T:53-->
 +
-la borne centrale avec l'autre borne.
  
''<small>pinMode(batterie,OUTPUT);</small>''
+
<!--T:54-->
 +
Le côté qui sonne donne la position lorsque la carte relais est éteinte, il faudra donc brancher le composant sur l'autre.
 +
{{Info|Certaines cartes relais ont des petits schémas devant les connecteurs qui donnent la position éteinte des relais (de quel côté est connecté la source de courant quand la carte est hors tension).}}
  
''<small>digitalWrite(batterie, HIGH);</small>''
+
<!--T:134-->
 +
Commencer par brancher tous les fils "moins" du système via un domino de référence (nommé "TERRE" sur le schéma).
  
veut dire: ''"sur la sortie de la broche nommée "batterie", mettre une tension de 5V"''
+
<!--T:55-->
 +
On aura donc connecté à ce domino les pôles négatifs: du bulleur, de la pompe, de la batterie (par l'entrée du convertisseur 12V-5V, INT-), du ventilateur et du panneau solaire.
  
Cette parti sert à  
+
<!--T:56-->
 +
Puis brancher la borne positive du panneau solaire (via un domino) à la borne centrale de chaque relais.
  
<br />
+
<!--T:57-->
====<u>'''Partie 3: Ecriture de la boucle'''</u>====
+
Enfin brancher la borne positive de chaque composant (bulleur, pompe, batterie et ventilateur) à la borne de chaque relais (côté choisi précédemment) en suivant la liste suivante:
Une boucle se démarre avec la fonction <small>"void loop()"</small> qui indique au programme de lire en boucle les instructions qui vont suivre jusqu'à que certaines conditions soient remplies voir indéfiniment.
 
  
Le début est assez basique, il s'agit de mettre de la tension alternativement aux bornes de la batterie, des pompes puis du bulleur. Comme dans l'étape précédente ceci se contrôle grâce à la fonction <small>"digitalWrite"</small> en position basse ou haute.
+
<!--T:58-->
 +
*relais 1 : ventilateur
 +
*relais 2 : bulleur
 +
*relais 3 : pompes
 +
*relais 4 : batterie (via convertisseur 12V-5V)
  
La fonction <small>"delay"</small> quand à elle donne le temps en milliseconde pendant lequel le programme restera sur l'indication précédente et donc par extension le temps d'allumage de chaque composant.
+
<!--T:59-->
 +
Les numéros des relais sont en général notés devant les connecteurs.
  
Les 3 premiers paragraphes reviennent donc à ceci: ''"charger la batterie 5min, puis mettre en marche les pompes à eau 10 min, puis allumer le bulleur 20min".''
+
<!--T:60-->
 +
{{Info|Cette ordre peut tout à fait être changé à condition que le code le soit en conséquence (voir Ecriture du Programme).}}
  
<small>"int sensorVal = analogRead(sensorPin);"</small> demande au programme de lire la valeur <small>"sensorPin"</small> définie au début et de la nommer <small>sensorVal</small>.  
+
<!--T:61-->
 +
Une fois les relais branchés, il reste à alimenter la carte Arduino.
  
S'ensuit deux lignes de calcul permettant de passer de la valeur lue par le capteur à une température en degrés Celsius (°C). La fonction <small>"float"</small> étant simplement un moyen d'obtenir un nombre décimal.
+
<!--T:62-->
 +
Deux options s'offrent alors:
  
<small>"Serial.print"</small> sert à afficher des données sur l'écran.
+
<!--T:63-->
 
+
*Sans possibilité de charge d'un appareil extérieur (téléphone, batterie externe...) : grâce au câble fourni avec la carte: brancher l'USB (type A) au petit convertisseur en sortie des batteries et l'autre USB (type B) sur l'alimentation de la carte Arduino (voir image).
Soit: 
+
*Avec possibilité de charger unappareil extérieur : Retourner la carte arduino et à l'aide d'un multimètre en mode "voltage" mesurer la tension entre les petits pics de métal. Lorsque une tension de 5V apparaît, souder un fil sur le pôle négatif (noir) et un sur le positif (rouge). Connecter ces fils  sur le petit convertisseur en procédant de la même manière<br /></translate>
 
+
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_Connection_des_relais_final.jpg
<small>Serial.print("temperature: ");</small>
+
|Step_Picture_01=Gestion_énergétique_d'un_système_d'hydroponie_Alim_arduino2.jpg
 
+
}}
<small>Serial.print(temperature);</small>
+
{{Tuto Step
 
+
|Step_Title=<translate><!--T:64-->
Reviens à afficher le mot <small>"température: "</small> puis la valeur mesurée par le capteur.
+
Ecriture du programme</translate>
 
+
|Step_Content=<translate></translate>
Enfin grâce à la fonction "<small>if</small>", on peut donner une condition au programme, si elle est respectée, il exécutera ce qui suit, sinon il recommencera la boucle.  
 
 
 
La fin signifie donc : ''"Si la température captée est supérieur à 25°C, allumer le ventilateur pendant 10 minutes, sinon, recommencer la boucle"''
 
 
 
<br />
 
====<u>'''Code complet'''</u>====
 
<small>const int sensorPin = A0;</small>
 
 
 
<small>int batterie = 5;</small>
 
 
 
<small>int hydro = 4;</small>
 
 
 
<small>int bulleur = 3;</small>
 
 
 
<small>int ventilateur = 2;</small>
 
 
 
<small>void setup(){</small>
 
 
 
<small>Serial.begin(9600);</small>
 
 
 
<small>pinMode(batterie,OUTPUT);</small>
 
 
 
<small>digitalWrite(batterie, HIGH);</small>
 
 
 
<small>pinMode(hydro,OUTPUT);</small>
 
 
 
<small>digitalWrite(hydro, HIGH);</small>
 
 
 
<small>pinMode(bulleur,OUTPUT);</small>
 
 
 
<small>digitalWrite(bulleur, HIGH);</small>
 
 
 
<small>pinMode(ventilateur,OUTPUT);</small>
 
 
 
<small>digitalWrite(ventilateur, HIGH);</small>
 
 
 
<small>}</small>
 
 
 
<small>void loop(){</small>
 
 
 
<small>digitalWrite(batterie, LOW);</small>
 
 
 
<small>delay(300000);</small>
 
 
 
<small>digitalWrite(batterie, HIGH);</small>
 
 
 
<small>digitalWrite(hydro, LOW);</small>
 
 
 
<small>delay(600000);</small>
 
 
 
<small>digitalWrite(hydro, HIGH);</small>
 
 
 
<small>digitalWrite(bulleur, LOW);</small>
 
 
 
<small>delay(1200000);</small>
 
 
 
<small>digitalWrite(bulleur, HIGH);</small>
 
 
 
<small>int sensorVal = analogRead(sensorPin);</small>
 
 
 
<small>float voltage = (sensorVal/1024.0)*5.0;</small>
 
 
 
<small>float temperature = (voltage - .5) * 100+35;</small>
 
 
 
<small>Serial.print("temperature: ");</small>
 
 
 
<small>Serial.print(temperature);</small>
 
 
 
<small>if(temperature > 25){</small>
 
 
 
<small>digitalWrite(ventilateur, LOW);</small>
 
 
 
<small>delay(600000);</small>
 
 
 
<small>digitalWrite(ventilateur, HIGH);</small>
 
 
 
<small>}</small>
 
 
 
<small>}</small>{{Warning|Le moindre point virgule ou la moindre accolade sont importants, veiller à garder l'intégralité du code!}}<br />
 
 
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_a7a4519f5075ce8aa1a2a3c50acd6353.png
 
|Step_Picture_00=Pilotage_de_l'hydroponie_via_Arduino_a7a4519f5075ce8aa1a2a3c50acd6353.png
 
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_Capture.PNG
 
|Step_Picture_01=Pilotage_de_l'hydroponie_via_Arduino_Capture.PNG
Ligne 247 : Ligne 250 :
 
|Step_Picture_03=Pilotage_de_l'hydroponie_via_Arduino_Capture2.PNG
 
|Step_Picture_03=Pilotage_de_l'hydroponie_via_Arduino_Capture2.PNG
 
}}
 
}}
{{ {{tntn|Notes}}
+
{{Tuto Step
|Notes=
+
|Step_Title=<translate><!--T:130-->
 +
Packaging</translate>
 +
|Step_Content=<translate><!--T:131-->
 +
Pour le packaging il existe beaucoup de possibilités mais il est important de fixer tous les composants sur une même surface. En effet certaines connexions sont fragiles (notamment celles sur l'Arduino) il est donc préférable de les soulager.
 +
 
 +
<!--T:132-->
 +
Sur le bateau c'est une planche en bois qui a été utilisée pour visser tous les composants.
 +
 
 +
<!--T:133-->
 +
Ensuite un grand tuperwear permet d'avoir une bonne étanchéité et d'accéder très facilement au système pour la maintenance. Une boite en bois ou d'une autre matière fait amplement l'affaire sinon.</translate>
 +
}}
 +
{{Notes
 +
|Notes=<translate></translate>
 +
}}
 +
{{PageLang
 +
|SourceLanguage=none
 +
|Language=fr
 +
|IsTranslation=0
 
}}
 
}}
{{ {{tntn|Tuto Status}}
+
{{Tuto Status
|Complete=Draft
+
|Complete=Published
 
}}
 
}}

Version actuelle datée du 31 octobre 2019 à 10:11

Tutorial de avatarCyprien Cayla | Catégories : Alimentation, Énergie

Ce tutoriel permet le pilotage d'une plantation hydroponique via un petit système électronique contrôlé par une carte Arduino, de l'assemblage des composants à l'écriture du programme de guidage. Cette installation a été étudiée et documentée lors d'une escale du Nomade des Mers à Taipei (Taïwan) grâce à l'atelier collaboratif OpenLab. Elle est dorénavant utilisée pour gérer le système hydroponique du bateau.

Licence : Attribution (CC BY)

Introduction

Ce système permet de contrôler une plantation hydroponique (présentée dans le tutoriel prérequis) ainsi qu'un réservoir de spiruline. Le tout sera alors capable de fonctionner automatiquement pendant une durée déterminée par l'usure des composants, ce qui reste assez conséquent.

Une certaine maintenance et une vérification régulière sont nécessaire pour palier les éventuels impondérables.

Plus généralement, cette installation est utile pour n'importe quel système électrique, d'autant plus si l'on dispose d'une source d'énergie limitée ou inconstante (solaire, éolienne, hydraulique), car elle permet de répartir l'énergie entre les différents composants en réduisant au maximum les pertes.

On peut ainsi grâce à un fonctionnement en alternance:

- Contrôler la température de la pièce grâce au déclenchement ou pas d'un petit ventilateur d’appoint

- Contrôler le fonctionnement des différentes pompes à eau

- Contrôler la mise en marche du bulleur qui permet une bonne oxygénation du milieu de vie de la spiruline

- Contrôler la charge des batteries afin de stocker l'énergie non utilisée

En bonus, l'énergie restante peut être utilisée pour charger n'importe quel appareil en USB grâce à un petit convertisseur.

Les panneaux solaire utilisés produisent en 12V environ 30 W. Pour savoir la puissance nécessaire au système, prendre la puissance demandée par le composant le plus énergivore (ici le bulleur).

Le prix indiqué comprend uniquement le module de contrôle de l'énergie. Il n'inclut donc pas les panneaux solaires ou le système hydroponique.

Matériaux

Les références des composants présentés ici sont données à titre d'exemple et peuvent tout à fait être remplacées par d'autres à fonctions équivalentes.
  • une carte Arduino UNO REV3 A000066
  • un régulateur de charge et de décharge (ex : 4-8V 1A Module de Chargeur Charge Batterie Mini Li-ion USB Arduino TP4056
  • un convertisseur de tension : DC/DC booster MT3608 (composant électrique qui va transformer le 3,7 V des batteries en 5V pour la sortie USB)
  • un module de 4 relais 5V pour Arduino
  • un domino à 6 connecteurs
  • des fils
  • un module régulateur de voltage DC-DC LM2596, 3.0-40V vers 1.5-35V
  • 2 batteries 18650, 3.6V
  • 2 supports de batteries 18650
  • un capteur de température, Transistors Bipolaire NPN BC547B

Outils

Pour le circuit électronique:

- un fer à souder

- du fil d'étain

- un multimètre ou ohmmètre

- un petit tournevis

Pour la programmation:

-le programme Arduino, facilement téléchargeable gratuitement sur le site Arduino (https://www.arduino.cc/en/Main/Software#)


Étape 1 - Conception du circuit électrique - Première Partie


Court résumé du circuit

Le circuit est composé d'une carte Arduino permettant de piloter une carte de 4 relais contrôlant les composants: le bulleur, la pompe, le ventilateur et les batteries. Les relais sont alimentés par des panneau solaires 12V. De plus est branché à la carte Arduino un petit capteur de température.

Pour alimenter les batteries, il faut un régulateur de charge décharge qui transforme du 5V en 3,7V. A donc été ajouté un convertisseur DC-DC (courant continu) qui transformera les 12V du panneau solaire en 5V pour le contrôleur de charge/décharge. Enfin un petit convertisseur muni d'une sortie USB transforme les 3,7V des batteries en 5V pour la charge de téléphones portable et pour l'alimentation de la carte Arduino.

Pour faciliter la compréhension, le circuit général sera divisé en deux modules, puis il suffira de les connecter entre eux puis d'y brancher les différents appareils.

Module 1

Ce module contient les batteries, les contrôleur de charge, le convertisseur 12V -5V ainsi que la sortie USB.

Connecter d'abord les bornes + et - des batteries en parallèles aux bornes + et - de la sortie du contrôleur de charge (OUT+ et OUT-). De même, connecter la sortie du contrôleur de charge (OUT+ et OUT-) aux bornes de la sortie USB.

A l'entrée du contrôleur de charge (IN+ et IN-), connecter la sortie du convertisseur DC-DC (OUT+ et OUT-).

Module 2

Ce module contient l'a carte Arduino, sont capteur de température et les relais qui permettront de gérer chaque composant indépendamment.

Il s'agit donc de faire:

  • les branchements entre les différentes sorties de l'Arduino et les entrée du relais

Pour cela, connecter les sorties 2, 3, 4 et 5 de la carte Arduino aux entrées 1, 2, 3, 4 de la carte relais.

  • les branchements pour gérer l'alimentation de la carte relais

Pour cela, connecter une sortie 5V de l'Arduino à la vcc (tension d'alimentation positive) de la carte relais puis connecter la terre (GND) de l'Arduino à la terre de la carte relais.

  • les branchements du capteur de température

Pour cela, connecter l'Analog in A0 de l'Arduino à la "Base (B)" du capteur, une sortie 5V au "Collecteur (C)" et une terre (GND) à "l'Emetteur (E)". Les différentes branches du capteur sont indiqués soit par les lettres B,C,E, soit par les chiffres 1, 2, 3 (voir schéma ci-contre).



Étape 2 - Conception du circuit électrique - Deuxième Partie


Connections aux relais

Cette partie a pour but l'alimentation de la carte relais via la source d'énergie (ici panneaux solaires), la liaison des relais aux éléments du système hydroponique grâce aux dominos ainsi que l'alimentation de la carte Arduino.

Le relais agit comme un interrupteur commandé par une tension.

Il y a 3 bornes par relais : La borne centrale sert à alimenter le relais en courant et les deux bornes extérieures servent à connecter des composants (bulleur, pompe...).

Lorsqu'il est éteint, le relais se positionne sur une des borne extérieure puis, lorsque l'Arduino envoie une commande en tension, le relais change de position et alimente l'autre borne.

Pour déterminer la position du relais lorsqu’il est éteint, utiliser un multimètre ou un ohmètre en mode test de continuité (ce mode émet un son (bip) lorsque les deux électrodes sont connectées).

Tester sur un des relais:

-la borne centrale avec une borne extérieur

-la borne centrale avec l'autre borne.

Le côté qui sonne donne la position lorsque la carte relais est éteinte, il faudra donc brancher le composant sur l'autre.

Certaines cartes relais ont des petits schémas devant les connecteurs qui donnent la position éteinte des relais (de quel côté est connecté la source de courant quand la carte est hors tension).

Commencer par brancher tous les fils "moins" du système via un domino de référence (nommé "TERRE" sur le schéma).

On aura donc connecté à ce domino les pôles négatifs: du bulleur, de la pompe, de la batterie (par l'entrée du convertisseur 12V-5V, INT-), du ventilateur et du panneau solaire.

Puis brancher la borne positive du panneau solaire (via un domino) à la borne centrale de chaque relais.

Enfin brancher la borne positive de chaque composant (bulleur, pompe, batterie et ventilateur) à la borne de chaque relais (côté choisi précédemment) en suivant la liste suivante:

  • relais 1 : ventilateur
  • relais 2 : bulleur
  • relais 3 : pompes
  • relais 4 : batterie (via convertisseur 12V-5V)

Les numéros des relais sont en général notés devant les connecteurs.

Cette ordre peut tout à fait être changé à condition que le code le soit en conséquence (voir Ecriture du Programme).

Une fois les relais branchés, il reste à alimenter la carte Arduino.

Deux options s'offrent alors:

  • Sans possibilité de charge d'un appareil extérieur (téléphone, batterie externe...) : grâce au câble fourni avec la carte: brancher l'USB (type A) au petit convertisseur en sortie des batteries et l'autre USB (type B) sur l'alimentation de la carte Arduino (voir image).
  • Avec possibilité de charger unappareil extérieur : Retourner la carte arduino et à l'aide d'un multimètre en mode "voltage" mesurer la tension entre les petits pics de métal. Lorsque une tension de 5V apparaît, souder un fil sur le pôle négatif (noir) et un sur le positif (rouge). Connecter ces fils sur le petit convertisseur en procédant de la même manière



Étape 3 - Ecriture du programme


Étape 4 - Packaging

Pour le packaging il existe beaucoup de possibilités mais il est important de fixer tous les composants sur une même surface. En effet certaines connexions sont fragiles (notamment celles sur l'Arduino) il est donc préférable de les soulager.

Sur le bateau c'est une planche en bois qui a été utilisée pour visser tous les composants.

Ensuite un grand tuperwear permet d'avoir une bonne étanchéité et d'accéder très facilement au système pour la maintenance. Une boite en bois ou d'une autre matière fait amplement l'affaire sinon.

Commentaires

Published