CAHIER DES CHARGES 2 Support automatisé de bagages à main pour personnes à mobilité réduite Par : Boniface Lalié et Alex Couture CÉGEP DE SHERBROOKE Date : 20/12/2013
Table des matières 1. But:... 3 2. Description fonctionnelle:... 3 3. Devis technique:... 4 a. Entrées / Sorties:... 4 Électriques:... 4 Logiciel:... 5 b. Caractéristiques désirées:... 5 Logiciels:... 5 Matériels:... 5 c. Contraintes particulières:... 7 Logiciels:... 7 Mécaniques:... 7 4. Liste des pièces pour lesquelles on doit faire des tests... 8 5. Échéancier:... 9 6. Évaluation des coûts:...10 2
1. But: Concevoir un robot support capable de suivre une personne ayant un handicap physique sur un terrain plat et pouvant transporter son bagage à main (Exemple: un aéroport international). 2. Description fonctionnelle: Le support de bagages à main est contrôlé par une manette de type «Nunchuck» sans fil accompagnée d un module récepteur, qui fonctionne en communication Bluetooth. Le support lui-même possède des capteurs ultrasons et infrarouges ainsi que deux moteurs qui vont permettre le déplacement de notre robot support tout en faisant attention à l environnement qui l entoure. Un microcontrôleur est intégré et va gérer le traitement des données envoyées par les différentes pièces ou par notre manette «Nunchuck» qui sera à la main de notre utilisateur. Figure 1. Schéma de principes de notre support Notre support automatisé de bagages à main a la possibilité d avoir un mode de fonctionnement manuel et automatique: 3
En mode automatique: L utilisateur peut, sur ligne droite seulement, dire au robot d avancer à une certaine vitesse et ne plus toucher la manette. Le robot s adapte à la vitesse et est capable d éviter les obstacles (un objet, un trou, etc.) sur une certaine distance. En mode manuel: L utilisateur prend le contrôle du robot dans des manœuvres difficiles, comme faire des virages sur lui-même ou à 90 degrés et esquiver des objets trop proches les uns des autres, etc. 3. Devis technique: a. Entrées / Sorties: Électriques: - Arduino Mega 2560 : (sera probablement remplacé par un PIC32) L Arduino mega 2560 embarque un microcontrôleur ATMEGA2560 cadencé à 16MHz. Alimentation entre 7 et 12V recommandée. Il comporte : 34 entrées/sorties digitales 12 entrées/sorties PWM 3 ports de communication série 1 port de communication type I2C 15 ports analogiques Il comporte suffisamment de ports pour de futures améliorations. - Drive L298N (pour moteur DC) La drive comporte une entrée ENABLE analogique PWM pour le contrôle sur l activation du moteur et requiert deux ports numériques pour contrôler la direction sur les broches INA1 et INA2. Le contrôle des ports ENABLE, INA1, INA2 s effectue à une tension 0 à 5V. Une entrée 12V sur la carte est présente pour l alimentation du moteur. - Drive L298N (pour moteur pas-à-pas) La drive comporte une entrée ENABLE analogique PWM pour le contrôle sur l activation du moteur pas-à-pas et requiert quatre ports numériques (INA1-4) pour le contrôle des bobines du moteur pas-à-pas. Le contrôle des ports ENABLE, INA1-4 s effectue à une tension 0 à 5V. Une entrée 12V sur la carte est présente pour l alimentation du moteur. - Capteur Ultrason HC-SR04 4
Le capteur d ultrason requiert deux entrées numériques TRIGGER et ECHO pour bien faire fonctionner le capteur. La broche TRIGGER se charge de démarrer la lecture avec un niveau haut sur une période de 10us et la broche ECHO est à un niveau haut pendant un certain temps dépendamment de la distance de l objet. - Capteur infrarouge Le capteur d infrarouge requiert une entrée analogique pour la réception d une tension variable en fonction d un objet détecté et de sa distance. - Capteur de vitesse (TIL139) Le capteur de vitesse requiert une entrée digitale sur le microcontrôleur qui reçoit les impulsions du capteur pour traiter la vitesse. - Limiteur de fin de course pour le stepper Le limiteur de fin de course requiert deux entrées digitales afin de détecter si la roue est en position maximum à droite ou à gauche. - Batterie La batterie ne requiert pas de port au microcontrôleur. - Ventilation La ventilation ne requiert pas de port au microcontrôleur. - Avertisseur sonore (Haut-parleur) L avertisseur comprend seulement deux bornes de connections «+» et «-». Logiciel: La programmation s effectue avec l application Arduino conçue pour la programmation des Arduino Mega 2560 et Nano. b. Caractéristiques désirées: Logiciels: - Il n y aura pas d interface visuelle pour notre utilisateur, le contrôle se fera Exclusivement via notre manette qu il aura en main. Matériels: - Arduino Mega 2560 : (sera probablement remplacé par un PIC32) 5
L Arduino mega est le cœur même du robot. Avec c est divers entrées et sorties, il sera en mesure de contrôler les différents capteurs ainsi que la partie motorisation. La programmation se fera en langage c. - Drive L298N (pour moteur DC) La drive permet au moteur 12V d être alimenté convenablement tout en permettant de contrôler la direction (avance / recule) du moteur avec une tension de 5V TTL. Un signal PWM entrant sur celle-ci permet le contrôle efficace de la vitesse du moteur. - Drive L298N (pour moteur pas à pas => direction droite / gauche) La drive pour le moteur pas à pas quant à elle, est utile pour contrôler les différentes bobines du moteur pas à pas pour le sens de rotation. Elle sert aussi à contrôler la vitesse de rotation par un signal PWM envoyé à la drive. - Capteur Ultrason HC-SR04 Les capteurs d ultrasons serviront pour la détection d objets et permettront de guider le robot dans un environnement pouvant contenir des obstacles. - Capteur infrarouge Les capteurs infrarouges serviront de repère de terrain afin de voir les obstacles (trou, creux, escalier, pied) qui pourraient être devant ou derrière le robot. - Capteur vitesse TIL139 Le capteur de vitesse permettra de déterminer exactement la vitesse de déplacement afin que le robot puisse se synchroniser avec la personne qui marche devant elle à une certaine distance. Si cette distance vient à changer, le robot pourra réagir en réduisant ou augmentant sa vitesse. - Limiteur de fin de course pour le stepper Les limiteurs de fin de course permettent au moteur pas-à-pas de ne pas forcer lorsqu il atteint le maximum de sa rotation afin d'éviter les bris mécaniques. -Batterie PS-1270 Une batterie 12V servira d alimentation pour l ensemble du robot. Un circuit de conversion de tension sera requis pour l alimentation de la partie circuit 5V. La batterie contient assez de charges pour fonctionner pendant au moins une journée. - Ventilation Un ventilateur sera probablement requis afin de refroidir des composantes critiques comme les drives. L utilité est à déterminer. - Manette de type «Nunchuck» sans fil La manette permettra à l utilisateur du robot d activer le contrôle manuel pour diriger le robot efficacement dans les endroits plus critiques pour les déplacements. 6
- Avertisseur sonore (Haut-parleur) L avertisseur permettra de prévenir l utilisateur si un problème est rencontré, par exemple : blocage du robot, obstacles trop importants, distance élevée, etc. Logiciels: c. Contraintes particulières: - Il n y a pas d interface visuelle pour notre utilisateur, des DELs permettront d indiquer L état de fonctionnement de notre support automatisé (connexion établie, mode manuel / Automatique). - Le déplacement du robot se limite à la vision des capteurs : il est possible que la Lumière, le type de surface et la couleur influencent les capteurs infrarouges ; les Capteurs ultrasons sont sensibles à la température et à la pression. Également Sensibles aux autres robots utilisant la même fréquence. Mécaniques: - La base de notre robot est fournie, nous devons donc nous adapter à son aspect Physique et placer nos composants en fonction de celui-ci. 7
4. Liste des pièces pour lesquelles on doit faire des tests Manette de type «Nunchuck» : Nous devons effectuer des tests sur la communication de notre manette, voir comment on reçoit les données, comment les convertir et comment les utiliser par rapport à nos objectifs concernant notre projet. On sait que notre manette utilise une communication «Bluetooth» et que la distance maximale de connection peut aller jusqu à 100 m, ce qui est largement plus que ce dont on a besoin. Notre support automatisé devra être assez proche de son utilisateur voire une distance maximum de 10m entre les deux. Avertisseur sonore (haut-parleur pour circuit imprimé) : Nous allons effectuer des tests de notre avertisseur afin de mieux connaître son fonctionnement car nous voulons qu il fonctionne comme tels : «bip» si la distance entre le robot et l utilisateur dépasse les 10 m. «bip» si le robot reste bloqué et que les moteurs forces inutilement. «bip» si le robot reste détecte un trou en de lui. 8
5. Échéancier: 9
6. Évaluation des coûts: Cela comprend: (Fournisseur: roboshop.ca) Arduino Mega 2560 = 1 x 61.04$ (sera probablement remplacé par un PIC32) Manette de type «Nunchuck» sans fil = 1 x 12,00 $ Capteur Laser = 1 x 0,00 $ Avertisseur sonore = 1 x 3,00 $ Moteur DC = 1 x 0,00 $ Moteur pas à pas = 1 x 0,00 $ L298N = 2 x 10.50$ Capteur Infrarouge = 5 x 15,68$ HC-SR04 = 3 x 3,80 $ TIL139 = 1 x 0,00 $ Limiteur fin course = 1 x 0,00 $ PS-1270 = 1 x 18,25$ (Amazon.com) Ventilation = 1 x. $ (à déterminer si nécessaire) Le coût total de notre projet sera de 205,09 $ CAD. 10