IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Projet robot aspirateur autonome


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut Projet robot aspirateur autonome
    Bonjour à tous,
    Dans le cadre de nos études, nous devons mener un projet. Ainsi, nous devons créer un robot aspirateur autonome, et donc concevoir son programme de déplacement (entre autres) à l'aide du logiciel Arduino. Notre robot possède les caractéristiques suivantes :
    - Il avance à une vitesse de 20cm/s
    - Il est de forme circulaire
    - Il possède deux capteurs infrarouges Arduino positionnés sur les cotés à l'avant du robot (ils sont orientés de façon a se croiser car , si un seul des capteur est à l'état haut le robot tournera pour éviter l'obstacle et si les deux sont à l'état haut cela signifie que l'obstacle se trouve à l'avant, il devra donc tourner)
    - Le robot change de direction lorsque l'obstacle est à 3cm

    Pour l'instant nous travaillons sur le programme de déplacement du robot et non celui de la rotation des brosses (nettoyage du sol). Voici ce que nous avons fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    const int capteur1 = 2; // broche du capteur PIR
    const int capteur2 = 
    int etat_capteur1 = 0; // etat de la sortie du capteur
    int etat_capteur2 = 0;
    int E1 = 5;  
    int M1 = 4; 
    int E2 = 6;                      
    int M2 = 7;  
     
     
     
    void setup() 
    {
     
        pinMode(capteur1, INPUT); //la broche du capteur1 est mise en entree
        pinMode(capteur2, INPUT); //la broche du capteur2 est mise en entree
        pinMode(M1, OUTPUT);   //la broche du moteur 1 est mise en sortie
        pinMode(M2, OUTPUT);  //la broche du moteur 2 est mise en sortie
    }
     
     
     
    void loop() 
     
    {
     
        do
        {
          digitalWrite(M1,HIGH);   
          digitalWrite(M2, HIGH);       
          analogWrite(E1, value);   //PWM Speed Control
          analogWrite(E2, value);   //PWM Speed Control
        }
        while(digitalRead(capteur1)==LOW && digitalRead(capteur2)==LOW); 
     
        if digitalRead(capteur1)==HIGH or digitalRead(capteur2)==HIGH
        {
          digitalWrite(M1,HIGH);   
          digitalWrite(M2, HIGH);       
          analogWrite(E1, value);   //PWM Speed Control
          analogWrite(E2, value);   //PWM Speed Control
          delay()
     
     
        }
    Les problèmes que nous rencontrons sont les suivants :
    -Nous ne savons pas comment faire pour que le robot avance à une vitesse de 20cm/s grâce aux rapports cycliques des signaux (PWM)
    -Nous ne savons pas comment faire pour que le robot tourne seulement lorsque il est situé à une distance de 3cm de l'obstacle et non dès que celui-ci est détecté par le capteur.

    Pourriez-vous nous aider à terminer ce programme ? Si vous n'avez pas compris quelque chose n'hésitez à nous en faire part.
    Cordialement
    Jean-Frédéric.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 279
    Par défaut
    Bonjour Jean-Frédéric

    Citation Envoyé par Jean-Frédéric Voir le message
    -Nous ne savons pas comment faire pour que le robot avance à une vitesse de 20cm/s grâce aux rapports cycliques des signaux (PWM)
    La vitesse est déterminée par la caractéristique des moteurs, le rapport de transmission et la taille des roues. Pour ce genre d'application en tout ou rien, les moteurs devraient être dimensionnés pour travailler en plein tension. L'utilisation du PWM permet de réduire la vitesse, par exemple à l’approche des obstacle, ou pour tourner en courbure de cercle (et non sur place), ce qui ne semble pas être le cas ici. Faire travailler les moteurs en tout ou rien avec un PWM (comme le fait supposé ta demande) c'est des pertes en plus (hacheur et perte fer des moteur) et une sous-utilisation des moteurs résultant d'un surdimensionnement de ceux-ci (donc plus cher que le bon choix).
    A titre d'expérimentation, il faut soit déterminer quel taux de PWM donne une vitesse de 20cm/s.
    Ou pour faire du plaqué or, il faut mettre un capteur de position sur les roues pour réguler la vitesse par le micro, mais cela ne doit pas être le cas de beaucoup d'aspirateur autonome.

    Citation Envoyé par Jean-Frédéric Voir le message
    -Nous ne savons pas comment faire pour que le robot tourne seulement lorsque il est situé à une distance de 3cm de l'obstacle et non dès que celui-ci est détecté par le capteur.
    Il faut des capteurs qui s'activent à 3cm, des capteurs réglables que l'on réglera à 3cm, ou des capteurs analogiques qui renvoient au micro la valeur de la distance jusqu'à l'obstacle (mais ceux-ci c'est le plus souvent des capteurs à Ultrason).

    Delias

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 250
    Par défaut
    Salut,
    En complément des très bonnes remarques de Delias et en fonction de ce tu écris :
    Citation Envoyé par Jean-Frédéric Voir le message
    Si vous n'avez pas compris quelque chose n'hésitez à nous en faire part.
    Il manque... presque tout

    En effet, il est inutile de regarder le soft alors qu'on ne connait pas le hard. Delias t'interpelle là dessus justement.

    Exemples basés sur ses remarques :
    Avec une explication ou un schéma du hard qui montrerait la présence d'un motoréducteur alors la réponse est immédiate : prendre un motoréducteur, en fonction des spécs du moteur, qui fasse avancer le robot à 20cm/s
    Avec une explication ou un schéma du hard qui ne montrerait pas la présence d'un motoréducteur alors la réponse est immédiate : pas d'autre choix que d'ajuster la vitesse des moteurs par PWM
    Avec une explication ou un schéma du hard qui montrerait la référence du capteur infrarouge, les réponses seront peut être plus pertinentes (imagine ça http://www.sharp-world.com/products/...2y0a51sk_e.pdf)

    Tu vois ce que je veux dire ?

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut
    D'accord merci beaucoup!
    A bientôt
    Jean-Frédéric

Discussions similaires

  1. projet Robot : thread ou multiprocessing ?
    Par cosmoff dans le forum Général Python
    Réponses: 3
    Dernier message: 24/05/2015, 11h13
  2. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  3. Robot suiveur de lignes projet finalisé
    Par artiom dans le forum Robotique
    Réponses: 5
    Dernier message: 29/05/2012, 10h12
  4. Projet sur Robot avec detecteur à ultrasons
    Par nats16 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 08/03/2010, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo