Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
wiki:projet:turbococo_arthur_manon_elise [2022/04/22 16:06] arthur.coron@etu.sorbonne-universite.fr |
wiki:projet:turbococo_arthur_manon_elise [2022/05/22 21:30] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | | + | |
- | ====== Projet: filtration de nanofossiles calcaires par méthode de tamisation de différentes tailles - paléoclimat du Cénozoïque ====== | + | |
+ | |||
+ | | ||
+ | ====== Projet: filtration | ||
{{ : | {{ : | ||
Ligne 19: | Ligne 22: | ||
Première approche avec Arduino, nous avons essayé d' | Première approche avec Arduino, nous avons essayé d' | ||
+ | |||
__// | __// | ||
Ligne 46: | Ligne 50: | ||
Après avoir reçu un nouveau capteur, on essaie de détecter le niveau de l’eau dans le tube. | Après avoir reçu un nouveau capteur, on essaie de détecter le niveau de l’eau dans le tube. | ||
+ | |||
__// | __// | ||
On a d’abord essayé avec une élastique en tissu mais on s’est rendu compte que l’élastique était trop épais, trop grand, et qu'il absorbait l’eau (gêne les mesures). | On a d’abord essayé avec une élastique en tissu mais on s’est rendu compte que l’élastique était trop épais, trop grand, et qu'il absorbait l’eau (gêne les mesures). | ||
Ligne 52: | Ligne 57: | ||
On a remarqué que le capteur détecte le niveau d’eau sans programme Arduino. L’objectif est donc de mettre au point un programme qui stocke l' | On a remarqué que le capteur détecte le niveau d’eau sans programme Arduino. L’objectif est donc de mettre au point un programme qui stocke l' | ||
+ | |||
__**// | __**// | ||
Ligne 103: | Ligne 109: | ||
Nous avons modélisé les pièces 3D qui permettront de fixer les capteurs au tube. Pour cela on utilise Tinkercad. | Nous avons modélisé les pièces 3D qui permettront de fixer les capteurs au tube. Pour cela on utilise Tinkercad. | ||
+ | |||
__**// | __**// | ||
Ligne 132: | Ligne 139: | ||
Il faudrait donc la rendre plus trouble ou placer un fond noir derrière le tube ou encore améliorer la résolution de détection des capteurs. | Il faudrait donc la rendre plus trouble ou placer un fond noir derrière le tube ou encore améliorer la résolution de détection des capteurs. | ||
+ | Les modèles que nous avions modéliser pour maintenir les capteurs au tube ne sont pas pratiques et on gaspille de la matière pour rien. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | **Pierre** nous a nous imprimé de nouveaux modèles. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | [[https:// | ||
---- | ---- | ||
Ligne 137: | Ligne 153: | ||
- | Fabrice est venu voir notre montage, il fut charmé. Validation et finalisation du système pompe-capteur. Nous avons voulu mettre | + | Fabrice est venu voir notre montage. Validation et finalisation du système pompe-capteur. Nous avons voulu ajouter |
- | w | + | |
---- | ---- | ||
<fs large>// | <fs large>// | ||
- | Dernier problème | + | Nous nous attaquons |
- | Avec notre coach en chef Fabrice, on a convenu que l'agitation | + | |
- | D'une part on va agiter en continu tant que la pompe remplit d' | + | - agitation continue lors de la phase de remplissage |
- | D' | + | |
- | Après, un formidable café offert par la maison, on s'est attaqué à la programmation du moteur de l' | + | - agitation discontinue lors de la phase de vidage. L' |
- | On a très vite réussi à faire tourner le moteur en continu pendant le remplissage. | + | |
- | [screenshot du code] | + | Niveau programmation, on a très vite réussi à faire tourner le moteur en continu pendant le remplissage. |
- | Cependant, le programme | + | |
- | Notre kamarade Manon a réussi un début de programme pour faire fonctionner | + | {{ : |
- | [screenshot programme] | + | |
- | Notre dernier objectif est donc de finaliser le programme en faisant marcher l' | + | Le programme |
+ | Nous parvenons à faire tourner | ||
---- | ---- | ||
<fs large>// | <fs large>// | ||
+ | |||
+ | Avec l'aide de **Loïc**, nous sommes parvenus à écrire le programme final : la pompe et le moteur fonctionnent en continus lors du remplissage et le moteur fonctionne en cycle de 5sec lorsque la pompe est éteinte. | ||
+ | |||
+ | Il manque plus qu'à alléger le montage en raccourcissant les fils. | ||
---- | ---- | ||
<fs large>// | <fs large>// | ||
2 | 2 | ||
+ | |||
+ | On a raccourcit les fils et fait des soudures pour que le montage soit plus aéré. On a changer l' | ||
+ | |||
+ | __**// | ||
---- | ---- | ||
<fs large>// | <fs large>// | ||
- | hier | + | |
+ | Nous reprenons le montage et ça ne fonctionne toujours pas. On a d' | ||
+ | En utilisant des " | ||
---- | ---- | ||
<fs large>// | <fs large>// | ||
- | Nous avons remplacer le capteur du Haut qui ne fonctionnait plus (il affichait 0,82) par un nouveau. | + | Nous avons remplacer le capteur du Haut qui ne fonctionnait plus (il affichait 0,82V) par un nouveau. |
- Nous remplaçons la carte Arduino MEGA par la carte Arduino UNO | - Nous remplaçons la carte Arduino MEGA par la carte Arduino UNO | ||
- Nous utilisons des dominos à la place de la breadboard pour simplifier les branchements | - Nous utilisons des dominos à la place de la breadboard pour simplifier les branchements | ||
- Les capteurs haut et bas fonctionnent bien individuellement avec le programme : ils affichent 0V quand il n'y a pas d'eau et 5V quand il y a de l'eau. | - Les capteurs haut et bas fonctionnent bien individuellement avec le programme : ils affichent 0V quand il n'y a pas d'eau et 5V quand il y a de l'eau. | ||
- | - La pompe fonctionne lorsqu' | + | - La pompe fonctionne lorsqu' |
- Le moteur fonctionne lorsqu' | - Le moteur fonctionne lorsqu' | ||
Ligne 186: | Ligne 213: | ||
- on a remplacé les boucles " | - on a remplacé les boucles " | ||
+ | Voici le programme final qui fonctionne : | ||
+ | |||
+ | ---- | ||
// | // | ||
| | ||
Ligne 199: | Ligne 229: | ||
pinMode (4, OUTPUT); | pinMode (4, OUTPUT); | ||
pinMode (2, OUTPUT); | pinMode (2, OUTPUT); | ||
- | |||
} | } | ||
Ligne 211: | Ligne 240: | ||
int sensorValue1 = analogRead(A2); | int sensorValue1 = analogRead(A2); | ||
- | | ||
float voltage0 = sensorValue0 * (5.0 / 1023.0); | float voltage0 = sensorValue0 * (5.0 / 1023.0); | ||
float voltage1 = sensorValue1 * (5.0 / 1023.0); | float voltage1 = sensorValue1 * (5.0 / 1023.0); | ||
- | |||
- | | ||
- | // Serial.println(" | ||
- | // Serial.println(voltage0); | ||
- | // Serial.println(" | ||
- | // Serial.println(" | ||
- | // Serial.println(voltage1) | ||
- | |||
if (remplissage == 1) { // si le niveau d'eau est sous le capteur du HAUT, alors : | if (remplissage == 1) { // si le niveau d'eau est sous le capteur du HAUT, alors : | ||
if ((voltage0< | if ((voltage0< | ||
Ligne 228: | Ligne 248: | ||
digitalWrite (2, LOW); // "pas de courant" | digitalWrite (2, LOW); // "pas de courant" | ||
remplissage = 1; // on reste dans cette boucle | remplissage = 1; // on reste dans cette boucle | ||
- | Serial.println(" | ||
- | Serial.println(remplissage); | ||
} | } | ||
| | ||
Ligne 236: | Ligne 254: | ||
digitalWrite (2, LOW); // "pas de courant" | digitalWrite (2, LOW); // "pas de courant" | ||
remplissage = 1; | remplissage = 1; | ||
- | Serial.println(" | ||
- | Serial.println(remplissage); | ||
} | } | ||
+ | | ||
if ((voltage1 > 2.5)& | if ((voltage1 > 2.5)& | ||
digitalWrite (4, HIGH); | digitalWrite (4, HIGH); | ||
Ligne 246: | Ligne 263: | ||
heure_start_sec = (heure_start_ms/ | heure_start_sec = (heure_start_ms/ | ||
chrono = 0; // conversion des ms en s | chrono = 0; // conversion des ms en s | ||
- | Serial.println(" | ||
- | Serial.println(remplissage); | ||
- | Serial.println(chrono); | ||
} | } | ||
} | } | ||
+ | |||
if (remplissage == 0) { // si le niveau d'eau est au dessus le capteur HAUT, alors : | if (remplissage == 0) { // si le niveau d'eau est au dessus le capteur HAUT, alors : | ||
if (voltage0 > 2.5) { // si le niveau d'eau est au dessus le capteur BAS, alors | if (voltage0 > 2.5) { // si le niveau d'eau est au dessus le capteur BAS, alors | ||
Ligne 259: | Ligne 274: | ||
heure_delay_sec = (heure_delay_ms/ | heure_delay_sec = (heure_delay_ms/ | ||
chrono = heure_delay_sec - heure_start_sec; | chrono = heure_delay_sec - heure_start_sec; | ||
- | Serial.println(chrono); | ||
- | Serial.println(remplissage); | ||
remplissage = 0; | remplissage = 0; | ||
} | } | ||
+ | | ||
if ((chrono <= 10) & (chrono > 5)) {// si le chrono est > 5 s, alors : | if ((chrono <= 10) & (chrono > 5)) {// si le chrono est > 5 s, alors : | ||
digitalWrite (2, HIGH); | digitalWrite (2, HIGH); | ||
Ligne 269: | Ligne 283: | ||
heure_delay_sec = (heure_delay_ms/ | heure_delay_sec = (heure_delay_ms/ | ||
chrono = heure_delay_sec - heure_start_sec; | chrono = heure_delay_sec - heure_start_sec; | ||
- | Serial.println(" | ||
remplissage = 0; | remplissage = 0; | ||
} | } | ||
+ | | ||
if (chrono > 10) | if (chrono > 10) | ||
| | ||
| | ||
| | ||
- | | ||
| | ||
} | } | ||
} | } | ||
+ | | ||
if (voltage0 < 2.5) { | if (voltage0 < 2.5) { | ||
| | ||
- | | ||
} | } | ||
} | } | ||
- | } // ferme void loop | + | } // ferme void loop |
- | Le montage et le programme fonctionnent correctement, | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | Le montage et le programme fonctionnent correctement : validation par Fabrice. | ||
On a commencé à modéliser le montage sur Tinkercad. Il ne reste plus qu'à réduire les câblages, enlever les dominos et les replacer sur la breadboard (Fabrice préfère). | On a commencé à modéliser le montage sur Tinkercad. Il ne reste plus qu'à réduire les câblages, enlever les dominos et les replacer sur la breadboard (Fabrice préfère). | ||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Nous tenons à remercier Fabrice Minoletti de nous avoir encadré et surtout de nous avoir fait confiance tout au long de ce projet. Ce fut un plaisir de travailler avec lui au fils des semaines, et nous mesurons la chance que nous avons eu de goûter à son merveilleux café. | ||
+ | Un grand merci à Loïc Labrousse pour la partie programmation sans qui moteur et pompe vibreraient encore aujourd' | ||
+ | Merci aussi à Pierre Thery d' | ||
+ | Merci à Christian du Fablab qui nous a expliqué les bases du montages et de la programmation. | ||
+ | |||
+ | Nous sommes fières d' | ||