« AquaMarium » : différence entre les versions

De Kernel Fablab Lannion
(1er proto pompe à seringue)
Aucun résumé des modifications
 
(26 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
[[Image:test.jpg|droite|250px]]
<span style="font-size: 120%; border:2px solid; padding:10px;background-color:#F0F0F0; ">
[http://defidataplus.net/actualites/palmares-du-defi-dataplus/ le palmarès] du défi : 4. AquaMarium (182 clics) : 1000 euros d’avoir chez Snootlab 
</span>


== Principe général ==
== Principe général ==
[[File:aquarium_dessin.png|400px|sans_cadre|droite]]
[[File:aquarium_dessin.png|400px|sans_cadre|droite]]
Montrer la donnée hauteur d'eau de la marée.
Le but du projet est de construire un aquarium qui vous montrera en temps réel la hauteur d'eau de la marée en un lieu donné. Vous pourrez ainsi savoir à tout moment l'état de la marée sur votre plage préférée ou sur votre (futur) lieu de villégiature. Grâce à celui-ci le phénomène des marées n'aura plus de secrets pour vous :) La règle des douzième est beaucoup plus compréhensible visuellement que sur une courbe.


Un petit aquarium dont le niveau varie en fonction de la marée. Il permettra de voir physiquement :
l'AquaMarium permet de voir physiquement :
* la hauteur d'eau actuelle
* la hauteur d'eau actuelle
* le cycle des marées
* le cycle des marées
* la vitesse de montée/descente
* la vitesse de montée/descente
* les coeficients (mortes eaux/vives eaux)
* les coefficients (mortes eaux/vives eaux)
 
C'est à la fois un objet :
* '''didactique''' pour appréhender visuellement ces concepts abstraits;
* '''décoratif''' voir '''promotionnel''' dans le cadre d'un syndicat d'initiative d'une station balnéaire;
* '''utile''' pour tous les travailleurs et usagers de la mer qui peuvent ainsi connaître la hauteur d'eau sans calculs compliqués.
 
Le prototype est développé au Fablab de Lannion par une équipe '''pluri-disciplinaire''' (électronicien, mécanicien, informaticien et designer) pour le concours [http://defidataplus.net/ Data+]. Sa création est entièrement documentée sur cette page et OpenSource. Ainsi n'importe qui peut en re-créer un pour ses besoins personnels.
 
Vous pouvez le voir fonctionner en '''vidéo''' [[AquaMarium#Vid.C3.A9os|ci-dessous]]


Données sur le site du [http://www.shom.fr/les-services-en-ligne/predictions-de-maree/predictions-en-ligne/ SHOM] ou [http://maree.info/68 maree.info].
Données sur le site du [http://www.shom.fr/les-services-en-ligne/predictions-de-maree/predictions-en-ligne/ SHOM] ou [http://maree.info/68 maree.info] ou [http://mer.meteoconsult.fr/meteo-marine/fr/high/C%F4tes-d%27Armor/bulletin-meteo-port-Perros-Guirec+%2822700%29-234-23-0.php météo-consult].


== architecture ==
== architecture ==
Ligne 16 : Ligne 30 :
Prototype :
Prototype :
* arduino + ethernet : récupération/extraction des données
* arduino + ethernet : récupération/extraction des données
* driver + stepper motor + seringue : "pompe" pour gérer le déplacement d'eau
* pompe péristaltique pour gérer le déplacement d'eau
* petit aquarium en plexi
* petit aquarium en verre
 
== Réalisation ==


== controle ==
=== Contrôle ===
[[File:pump_ctrl_bb.png|droite|180px|link=https://raw.github.com/fablab-lannion/DataPlus/master/AquaMarium/hardware/pump_ctrl_bb.png]]
L'organe de commande est composé d'un arduino auquel est adjoint un shield ethernet.


* dhcp
Ses fonctions sont :
* DHCP / DNS
* "crawler web" pour récupérer les data
* "crawler web" pour récupérer les data
* interface web de configuration (choisir le lieu de la marée, la taille, la vitesse...)
* interface web de configuration (choisir le lieu de la marée, la taille, la vitesse...)
* commande de la pompe en fonction des déplacements de la marée
** le moteur est contrôlé par 2 relais pour tourner dans les 2 sens
* récupération des données des capteurs
** optique pour l'asservissement moteur
** [http://fr.wikipedia.org/wiki/Interrupteur_reed ILS] pour la même fonction, mais qui s'est avéré trop lent
** hauteur d'eau pour recaler le niveau réel
* [https://raw.github.com/fablab-lannion/DataPlus/master/AquaMarium/hardware/pump_ctrl_bb.png Schéma]


== déplacement d'eau ==
=== Pompe péristaltique ===
[[Fichier:Pompe.jpg|droite|180px]]
C'est une pompe réversible. Elle permet donc de déplacer un liquide dans les deux sens.


=== Pompe à seringue ===
Le principe général est de ''pousser'' le liquide dans un tuyau. Il n'y a pas de contact entre le mécanisme de la pompe et le liquide. Pour plus de détails, voir [http://fr.wikipedia.org/wiki/Pompe_p%C3%A9ristaltique Wikipedia]
[[File:pompe.png|400px|droite]]
* pompe à seringue 60ml (pas de 100ml à la pharmacie)
* contrôle par [http://www.schmalzhaus.com/EasyDriver/index.html easydriver] + [http://www.kysanelectronics.com/Products/datasheet_display.php?recordID=1669 stepper motor] (42BYGH202, 12V, 0.3A, Holding torque:1250g.cm Detent Torque:200g.cm)
* structure en tige filetée + écrou
==== 1er prototype ====
* [https://twitter.com/buggerone/status/397492975510753281/photo/1 Photo] / [http://www.youtube.com/watch?v=nMGo2LwLfTU Vidéo]
* Construction
** structure en MDF de 16
** tige filetée de 6
** liaison moteur/tige avec un domino
* Problèmes
** le moteur est limite en couple, il saute parfois des pas
** comme prévu, la colle chaude n'est pas suffisante pour fixer l'écrou solidaire du piston --> epoxy
** les plaques qui tiennent le piston doivent être plus petites (trop de frottements sur le sol)


[[File:pompe3d.jpg|droite|180px]]
* le corps de la pompe est designé et imprimé en ABS au Fablab. ([https://github.com/fablab-lannion/DataPlus/tree/master/AquaMarium/hardware/Pompe Fichiers source])
* son activation est assuré par un moteur à courant continu (provenant d'une visseuse)
* le moteur est asservi par un capteur optique couplé à une roue dans laquelle sont ménagées 2 fentes
{{clr}}
{{clr}}


=== Serrage pompotte ===
Plus de détails sur sa réalisation : [[Pompe Péristaltique]]
Voir page de discussion
 
=== Aquarium ===
[[File:DSC_0086.JPG|135px|droite]]
* Réalisation en verre à partir d'un double vitrage.
* étanche :)
* un socle sert aussi de compartiment de stockage pour l’électronique, la pompe et le réservoir
* le réservoir est une poche plastique d'un cubitainer de jus de fruits
* sa décoration est réalisée en vinyle peint
 
=== Connectivité ===
L'aquamarium est connecté à Internet via un shield ethernet.
L'arduino de l'aquamarium est configuré en client web [http://arduino.cc/en/Tutorial/WebClient]
 
L'aquamarium envoit à intervalle régulier (~ 10 minutes paramétrables) une requête pour connaître la hauteur de marée
il envoit sa requête à http://projects.emerginov.com/WhereIsTheBeach/web2.php
 
Le server lui répond sous la forme d'une chaine "maree=3,4"
 
L'arduino récupère la valeur et la convertit de manière à modifier la hauteur d'eau dans l'aquarium.
 
A noter que l'arduino peut demander la hauteur dans plusieurs ports en précisant l'id du port (ici 68=Trébeurden)
http://projects.emerginov.com/WhereIsTheBeach/web2.php?port=68
 
L'id correspond à l'id du site maree.info, site sur lequel on récupère les informations de marées.
Un petit programme permet d'interpoller la hauteur d'eau.
Le code source de ce bout de code peut être retrouvré [https://svn.emerginov.com/filedetails.php?repname=WhereIsTheBeach&path=%2Ftrunk%2Fweb%2Fincludes%2Ffunctions.php ici] (fonction getTideInfo($id_port))
 
A noter que en plus des informations de marée, on peut récupérer toute sorte d'info issue de windguru (température, vitesse du vent, hauteur des vagues,...)
le backend aquamarium et whereisthebeach reprennent des fonctions communes issues du SDK de windguru.
 
Enfin pour tester des valeurs aléatoires (pour voir l'aquamarium monter et descendre..car une marée ce n'est pas très rapide...) possiblité d'utiliser  http://projects.emerginov.com/WhereIsTheBeach/web3.php qui renvoit une valeur aléatoir entre 0 et 1024
 
=== Code source ===


== aquarium ==
Le projet est entièrement OpenSource et OpenHarware.


* Réalisation en plexiglass.
Le code source et les fichiers de design sont disponibles sur le [https://github.com/fablab-lannion/DataPlus/tree/master/AquaMarium dépôt Data+] du [[Github]] du fablab
* étanche
* besoin d'un compartiment pour stocker alim/elec/pompe


== Code source ==
{{clr}}
Sur le [https://github.com/fablab-lannion/DataPlus/tree/master/AquaMarium dépôt Data+] du [[Github]] du fablab


== bibliographie ==
== Médias ==
=== Pompe à seringue diy ===
=== Photos ===
* [http://www.instructables.com/id/Simple-Syringe-Pump/?ALLSTEPS Motoréducteur]
<gallery>
* [http://aonomus.wordpress.com/2010/04/02/diy-syringe-pump-version-3/ Stepper+vis]
Image:pompe.jpg|Pompe péristaltique
* [http://www.dusseiller.ch/labs/?p=604 lecteur CD]
Image:remplissage.jpg|remplissage du réservoir
Image:test.jpg|test du fonctionnement
Image:20140208_162626.jpg|Électronique en cours de mise au point
Image:DSC_0086.JPG|Aquarium en cours de construction
Image:DSC_0122.JPG
Image:DSC_0123.JPG
Image:DSC_0124.JPG
Image:DSC_0125.JPG
Image:DSC_0126.JPG
</gallery>


=== Vidéos ===
* La marée [http://dai.ly/x1bprji monte] !
* Pompe en [http://dai.ly/x1bprbb fonctionnement]




[[Category:Projet]] [[Category:Data+]]
[[Catégorie:Projet]] [[Category:Data+]]

Version actuelle datée du 29 janvier 2017 à 21:27

Test.jpg

le palmarès du défi : 4. AquaMarium (182 clics) : 1000 euros d’avoir chez Snootlab

Principe général

Aquarium dessin.png

Le but du projet est de construire un aquarium qui vous montrera en temps réel la hauteur d'eau de la marée en un lieu donné. Vous pourrez ainsi savoir à tout moment l'état de la marée sur votre plage préférée ou sur votre (futur) lieu de villégiature. Grâce à celui-ci le phénomène des marées n'aura plus de secrets pour vous :) La règle des douzième est beaucoup plus compréhensible visuellement que sur une courbe.

l'AquaMarium permet de voir physiquement :

  • la hauteur d'eau actuelle
  • le cycle des marées
  • la vitesse de montée/descente
  • les coefficients (mortes eaux/vives eaux)

C'est à la fois un objet :

  • didactique pour appréhender visuellement ces concepts abstraits;
  • décoratif voir promotionnel dans le cadre d'un syndicat d'initiative d'une station balnéaire;
  • utile pour tous les travailleurs et usagers de la mer qui peuvent ainsi connaître la hauteur d'eau sans calculs compliqués.

Le prototype est développé au Fablab de Lannion par une équipe pluri-disciplinaire (électronicien, mécanicien, informaticien et designer) pour le concours Data+. Sa création est entièrement documentée sur cette page et OpenSource. Ainsi n'importe qui peut en re-créer un pour ses besoins personnels.

Vous pouvez le voir fonctionner en vidéo ci-dessous

Données sur le site du SHOM ou maree.info ou météo-consult.

architecture

Prototype :

  • arduino + ethernet : récupération/extraction des données
  • pompe péristaltique pour gérer le déplacement d'eau
  • petit aquarium en verre

Réalisation

Contrôle

Pump ctrl bb.png

L'organe de commande est composé d'un arduino auquel est adjoint un shield ethernet.

Ses fonctions sont :

  • DHCP / DNS
  • "crawler web" pour récupérer les data
  • interface web de configuration (choisir le lieu de la marée, la taille, la vitesse...)
  • commande de la pompe en fonction des déplacements de la marée
    • le moteur est contrôlé par 2 relais pour tourner dans les 2 sens
  • récupération des données des capteurs
    • optique pour l'asservissement moteur
    • ILS pour la même fonction, mais qui s'est avéré trop lent
    • hauteur d'eau pour recaler le niveau réel
  • Schéma

Pompe péristaltique

Pompe.jpg

C'est une pompe réversible. Elle permet donc de déplacer un liquide dans les deux sens.

Le principe général est de pousser le liquide dans un tuyau. Il n'y a pas de contact entre le mécanisme de la pompe et le liquide. Pour plus de détails, voir Wikipedia

Pompe3d.jpg
  • le corps de la pompe est designé et imprimé en ABS au Fablab. (Fichiers source)
  • son activation est assuré par un moteur à courant continu (provenant d'une visseuse)
  • le moteur est asservi par un capteur optique couplé à une roue dans laquelle sont ménagées 2 fentes

Plus de détails sur sa réalisation : Pompe Péristaltique

Aquarium

DSC 0086.JPG
  • Réalisation en verre à partir d'un double vitrage.
  • étanche :)
  • un socle sert aussi de compartiment de stockage pour l’électronique, la pompe et le réservoir
  • le réservoir est une poche plastique d'un cubitainer de jus de fruits
  • sa décoration est réalisée en vinyle peint

Connectivité

L'aquamarium est connecté à Internet via un shield ethernet. L'arduino de l'aquamarium est configuré en client web [1]

L'aquamarium envoit à intervalle régulier (~ 10 minutes paramétrables) une requête pour connaître la hauteur de marée il envoit sa requête à http://projects.emerginov.com/WhereIsTheBeach/web2.php

Le server lui répond sous la forme d'une chaine "maree=3,4"

L'arduino récupère la valeur et la convertit de manière à modifier la hauteur d'eau dans l'aquarium.

A noter que l'arduino peut demander la hauteur dans plusieurs ports en précisant l'id du port (ici 68=Trébeurden) http://projects.emerginov.com/WhereIsTheBeach/web2.php?port=68

L'id correspond à l'id du site maree.info, site sur lequel on récupère les informations de marées. Un petit programme permet d'interpoller la hauteur d'eau. Le code source de ce bout de code peut être retrouvré ici (fonction getTideInfo($id_port))

A noter que en plus des informations de marée, on peut récupérer toute sorte d'info issue de windguru (température, vitesse du vent, hauteur des vagues,...) le backend aquamarium et whereisthebeach reprennent des fonctions communes issues du SDK de windguru.

Enfin pour tester des valeurs aléatoires (pour voir l'aquamarium monter et descendre..car une marée ce n'est pas très rapide...) possiblité d'utiliser http://projects.emerginov.com/WhereIsTheBeach/web3.php qui renvoit une valeur aléatoir entre 0 et 1024

Code source

Le projet est entièrement OpenSource et OpenHarware.

Le code source et les fichiers de design sont disponibles sur le dépôt Data+ du Github du fablab

Médias

Photos

Vidéos