| Ligne 137 : | Ligne 137 : | ||
{{Tuto Step | {{Tuto Step | ||
|Step_Title=<translate>**Phase 3**</translate> | |Step_Title=<translate>**Phase 3**</translate> | ||
| − | |Step_Content=<translate></translate> | + | |Step_Content=<translate><nowiki>**</nowiki>Liste de matériaux** |
| + | |||
| + | |||
| + | - Carte Arduino Uno / Mega / Nano | ||
| + | |||
| + | - Écran OLED SSD1306 (128x64, I2C) | ||
| + | |||
| + | - Capteur de force FSR402 | ||
| + | |||
| + | - Capteur d’humidité SEN0114 | ||
| + | |||
| + | - LED RGB | ||
| + | |||
| + | - Module PWM vers analogique DFRobot DFR1036 | ||
| + | |||
| + | - Relais statique WGA5-6D25Z (ou Omron G3NA) | ||
| + | |||
| + | - Variateur de fréquence Telemecanique ATV18U18M2 | ||
| + | |||
| + | <br /></translate> | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Algorithme et fonctionnement du programme</translate> | ||
| + | |Step_Content=<translate>Le fonctionnement du robot nettoyeur est basé sur un algorithme simple, structuré autour de la lecture de capteurs, l’analyse des données et le pilotage d’un moteur via un variateur de fréquence. | ||
| + | |||
| + | === 1 Lecture et traitement des capteurs === | ||
| + | Le programme commence par la lecture de deux capteurs : | ||
| + | |||
| + | * '''Capteur de force FSR402''' : convertit une pression en une valeur analogique, ensuite traduite en kilogrammes via une formule calibrée. | ||
| + | * '''Capteur d’humidité SEN0114''' : donne une valeur analogique comprise entre 0 et 1023, convertie en pourcentage d’humidité par interpolation linéaire. | ||
| + | |||
| + | Ces données sont affichées en temps réel sur un écran '''OLED 128x64 pixels''', ce qui permet une visualisation continue des conditions de fonctionnement. | ||
| + | |||
| + | === 2 Indication par LED RGB === | ||
| + | Le taux d’humidité mesuré est représenté visuellement grâce à une '''LED RGB''' : | ||
| + | |||
| + | * Vert : humidité faible (< 20 %) | ||
| + | * Orange : humidité modérée (20–60 %) | ||
| + | * Rouge : humidité élevée (> 60 %) | ||
| + | |||
| + | Cela permet un diagnostic rapide de l’environnement de travail du robot. | ||
| + | |||
| + | === 3 Détection et activation du moteur === | ||
| + | Si le capteur de force détecte une masse supérieure à un certain seuil (ex. > 50 g), cela indique la présence de billes plastiques. | ||
| + | |||
| + | Le programme active alors un '''relais statique WGA5-6D25Z''' pour alimenter le variateur de fréquence '''Schneider ATV18U18M2''', qui pilote le moteur en 230 V. | ||
| + | |||
| + | === 4 Contrôle de la vitesse et du sens === | ||
| + | La '''vitesse du moteur''' est contrôlée par un signal PWM généré par l’Arduino, converti en tension analogique 0–10 V à l’aide d’un '''convertisseur DFRobot DFR1036''', relié à l’entrée analogique du variateur. | ||
| + | |||
| + | Le '''sens de rotation''' est défini par l’état d’une broche numérique connectée à l’entrée logique du variateur (ex. « Forward/Reverse »). Ce sens est déterminé automatiquement en fonction du taux d’humidité : le moteur tourne dans un sens pour évacuer les billes en zone sèche, et dans l’autre pour les déplacer en zone humide. | ||
| + | |||
| + | === 5 Boucle continue === | ||
| + | L’ensemble de ces étapes est répété en boucle dans la fonction <code data-start="2204" data-end="2212">loop()</code> de l’Arduino, assurant un fonctionnement en continu tant que l’appareil est alimenté.</translate> | ||
| + | |Step_Picture_00=Algorithme.png | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Carte Arduino Uno / Mega / Nano</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Cerveau du système, gère les capteurs, l'affichage, les LED et le moteur. | ||
| + | * '''Connexion''' : | ||
| + | ** Alimentation via port USB ou régulateur externe (5V). | ||
| + | ** Toutes les E/S (entrées/sorties) passent par les broches de la carte.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_arduino.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Écran OLED SSD1306 (128x64, I2C)</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Affiche les valeurs de force et d’humidité. | ||
| + | * '''Connexion I2C''' : | ||
| + | ** '''VCC''' → 5V | ||
| + | ** '''GND''' → GND | ||
| + | ** '''SDA''' → A4 (UNO) / D20 (MEGA) | ||
| + | ** '''SCL''' → A5 (UNO) / D21 (MEGA) | ||
| + | * '''Librairies nécessaires''' : <code data-start="975" data-end="993">Adafruit_SSD1306</code>, <code data-start="995" data-end="1009">Adafruit_GFX</code>.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_Utilisation-dun-ecran-OLED-SSD1306-096-_-sur-le-Raspberry.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Capteur de force FSR402</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Détecte la pression exercée par les billes (convertie en poids). | ||
| + | * '''Connexion''' : | ||
| + | ** Un côté du capteur → '''5V''' | ||
| + | ** Autre côté → '''résistance de pull-down''' (10kΩ à la masse) + fil vers '''A0''' | ||
| + | * '''Broche Arduino''' : '''A0'''</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_nm_capteur_de_force_grove-back.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Capteur d’humidité SEN0114</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Mesure l'humidité du sable ou du sol. | ||
| + | * '''Connexion''' : | ||
| + | ** '''VCC''' → 5V | ||
| + | ** '''GND''' → GND | ||
| + | ** '''SIG''' → A1 | ||
| + | * '''Broche Arduino''' : '''A1'''</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_8e2bbc915ef50ef16ebbd321b4c55ddb0831d18e.jpeg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>LED RGB</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Indique le niveau d’humidité (vert, orange, rouge). | ||
| + | * '''Connexion (avec résistances de limitation ~220Ω)''' : | ||
| + | ** '''Rouge''' → D5 (via résistance) | ||
| + | ** '''Vert''' → D4 (via résistance) | ||
| + | ** '''Bleu''' → D6 (via résistance) | ||
| + | * '''GND commun''' pour cathode commune / '''+5V commun''' pour anode commune.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_t1-4.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Module PWM vers analogique DFRobot DFR1036</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Convertit un signal PWM de l'Arduino en '''tension analogique 0–10V''' pour piloter la vitesse du variateur. | ||
| + | * '''Connexion''' : | ||
| + | ** '''VCC''' → 12V (indépendant de l’Arduino !) | ||
| + | ** '''GND''' → GND commun avec Arduino | ||
| + | ** '''PWM IN''' → Broche '''D9''' de l’Arduino | ||
| + | ** '''OUT''' (0–10V) → '''Entrée analogique du variateur ATV18''' (généralement borne A1 ou AI1 selon le bornier) | ||
| + | * '''Important''' : Alimente ce module avec une source stable 12V. Ne pas brancher "VCC" au 5V de l'Arduino.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_DFR1036.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Relais statique WGA5-6D25Z (ou Omron G3NA)</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Active ou coupe l’alimentation du '''variateur''' (230V AC). | ||
| + | * '''Connexion''' : | ||
| + | ** '''Entrée DC''' : | ||
| + | *** '''+ (Anode)''' → D8 (sortie numérique Arduino) | ||
| + | *** '''– (Cathode)''' → GND Arduino | ||
| + | ** '''Sortie AC''' (attention secteur !) : | ||
| + | *** En série avec la phase d’alimentation du variateur (L). | ||
| + | *** Agit comme un interrupteur : coupe ou active la phase. | ||
| + | * '''Précaution''' : Bien isoler, prévoir radiateur si > 5 A. Ne jamais manipuler sous tension.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_relais-statique-25a-600v-wga5-6d25z.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Variateur de fréquence Telemecanique ATV18U18M2</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Pilote le moteur triphasé 200–240V ; vitesse et sens de rotation. | ||
| + | * '''Connexion''' : | ||
| + | ** '''Entrée AC''' : Phase + neutre (via relais statique sur la phase) | ||
| + | ** '''Sortie moteur''' : vers les 3 phases du moteur. | ||
| + | ** '''Commande vitesse (0–10V)''' : entrée analogique (AI1) | ||
| + | ** '''Commande sens (RUN FWD / RUN REV)''' : entrée TOR (à activer avec un relais ou une sortie numérique et opto-coupleur) | ||
| + | * '''Précaution''' : Lire le manuel pour paramétrage des bornes, plages, sens.</translate> | ||
| + | |Step_Picture_00=Robot_nettoyeur_de_microbilles_plastiques_telemecanique-atv18u18m2-variateur-square-d-1hp-075kw-read-desc-b704.jpg | ||
| + | }} | ||
| + | {{Tuto Step | ||
| + | |Step_Title=<translate>Commande sens de rotation</translate> | ||
| + | |Step_Content=<translate>* '''Rôle''' : Changer le sens du moteur (avant/arrière). | ||
| + | * '''Connexion''' : | ||
| + | ** Utiliser une broche Arduino (ex : D7) → relais ou transistor → '''borne de commande REV''' du variateur.</translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
| − | |Step_Title=<translate> | + | |Step_Title=<translate>Alimentation 12V externe (pour relais, module PWM, etc.)</translate> |
| − | |Step_Content=<translate></translate> | + | |Step_Content=<translate>* '''Rôle''' : Fournit une tension stable pour les composants haute puissance. |
| + | * '''Connexion''' : | ||
| + | ** GND doit être '''commun''' avec celui de l’Arduino. | ||
| + | ** Ne jamais alimenter le relais 240V ou module DFR1036 depuis la carte Arduino directement !</translate> | ||
}} | }} | ||
{{Tuto Step | {{Tuto Step | ||
| Ligne 169 : | Ligne 315 : | ||
}} | }} | ||
{{PageLang | {{PageLang | ||
| + | |Language=fr | ||
|SourceLanguage=none | |SourceLanguage=none | ||
|IsTranslation=0 | |IsTranslation=0 | ||
| − | |||
}} | }} | ||
{{Tuto Status | {{Tuto Status | ||
|Complete=Draft | |Complete=Draft | ||
}} | }} | ||
Auteur
Jzhangco | Dernière modification 26/05/2025 par Jzhangco
Pas encore d'image
Robot, Environnement, Dépollution, Nettoyage Technique
La conception du robot se fait en 3 phases dinstinctes
Phase 1 : Conception mécanique
Dimensionnement
Schéma cinématique
Motorisation (roue,moteur)
Modelisation
Simulation (RDM)
Mise en plan
Phase 2 : Conception électrique
Évaluer les besoins énergétiques
Dimension de la batterie (tension, puissance, ca...
Réaliser un schéma électrique
Simulation Proteus
Phase 3 : Conception électronique
Réaliser un schéma électrique
Algorithme
Programmation
Simulation de la programmation
Moteur, chassis, taule, relais statique
Carte arduino, capteur de force, capteur d'humidité, led rgb, bouton poussoir, ecran oled, convertisseur pwm vers analogique, relais
Découverte du sujet
Cahiers des charges
Planification du projet
Réalisation du croquis
Mis en commun des idées
Choix des composants et matériaux
Chaques étapes serviront de tutoriel pour la conception de chaque pièce, on y retrouvera les dimensions, leur utilité etc...
Boitier du bouton poussoir d'arrêt d'urgence composé de :
Capot pour refermer la boite [41.7mm x 36.7mm x 1.3mm], avec un creux pour facilité le grip à l'ouverture/fermeture [10mm x 1.5mm x 0.5mm].
Le boitier accueillera le capteur de force accompagné d'une pièce qui exercera une pression sur le capteur (pressoir)
Le cylindre pressoir [29.4mm] possède deux diamètres, un bout de 14mm pour s'introduire dans le boitier et l'autre 34mm où s'exercera la force.
**Liste de matériaux**
- Carte Arduino Uno / Mega / Nano
- Écran OLED SSD1306 (128x64, I2C)
- Capteur de force FSR402
- Capteur d’humidité SEN0114
- LED RGB
- Module PWM vers analogique DFRobot DFR1036
- Relais statique WGA5-6D25Z (ou Omron G3NA)
- Variateur de fréquence Telemecanique ATV18U18M2
Le fonctionnement du robot nettoyeur est basé sur un algorithme simple, structuré autour de la lecture de capteurs, l’analyse des données et le pilotage d’un moteur via un variateur de fréquence.
Le programme commence par la lecture de deux capteurs :
Ces données sont affichées en temps réel sur un écran OLED 128x64 pixels, ce qui permet une visualisation continue des conditions de fonctionnement.
Le taux d’humidité mesuré est représenté visuellement grâce à une LED RGB :
Cela permet un diagnostic rapide de l’environnement de travail du robot.
Si le capteur de force détecte une masse supérieure à un certain seuil (ex. > 50 g), cela indique la présence de billes plastiques.
Le programme active alors un relais statique WGA5-6D25Z pour alimenter le variateur de fréquence Schneider ATV18U18M2, qui pilote le moteur en 230 V.
La vitesse du moteur est contrôlée par un signal PWM généré par l’Arduino, converti en tension analogique 0–10 V à l’aide d’un convertisseur DFRobot DFR1036, relié à l’entrée analogique du variateur.
Le sens de rotation est défini par l’état d’une broche numérique connectée à l’entrée logique du variateur (ex. « Forward/Reverse »). Ce sens est déterminé automatiquement en fonction du taux d’humidité : le moteur tourne dans un sens pour évacuer les billes en zone sèche, et dans l’autre pour les déplacer en zone humide.
L’ensemble de ces étapes est répété en boucle dans la fonction loop() de l’Arduino, assurant un fonctionnement en continu tant que l’appareil est alimenté.
Adafruit_SSD1306, Adafruit_GFX.
fr none 0 Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #