1.01k likes | 1.16k Views
RCVA 2007. Sommaire. diapositives Introduction ………………………………………... 03 - Description mécanique sommaire …………………04 Présentation générale ……………………………..08 La carte mère ……………………………………... 09 La carte de puissance ……………………………. 40 Les cartes d’interface …………………………….. 62
E N D
RCVA 2007
Sommaire • diapositives • Introduction ………………………………………... 03 • -Description mécanique sommaire…………………04 • Présentation générale ……………………………..08 • La carte mère ……………………………………... 09 • La carte de puissance ……………………………. 40 • Les cartes d’interface …………………………….. 62 • Le programme …………………………………….. 74 • Organisation de l’équipe……………………………91
Introduction Cette année le thème est le « tri sélectif ». Deux robots, s’affrontent pendant un match de 90 secondes, l’objectif étant de mettre le maximum de déchets dans les poubelles appropriées. Ville d’Avray entame sa 10ème participation dans ce concours. Pour 2007 l’ équipe est constituée de 8 étudiants.
DESCRIPTION MECANIQUE SOMMAIRE Disposition symétrique Toute la partie mécanique présente une symétrie par rapport à un axe vertical passant par le milieu de l’essieu. Les masses ont été réparties de sorte que le centre de gravité soit situé le plus proche possible de cet axe vertical (et le plus bas possible) Les 2 bras et leurs accessoires respectent cette symétrie. Les roues motrices et roues folles sont alignées sur l’axe de l’essieu parfaitement perpendiculaire à l’axe longitudinal du robot. La batterie est placée au centre, au dessus des roues. Les pompes à vide au dessus de la batterie. Les 2 cartes mère et puissance sont placées symétriquement par rapport à la cloison verticale de séparation dont le plan passe par l’axe de l’essieu. Une seule exception à la règle est liée à la présence des 4 ventouse magnétiques dont le rôle est de stocker les piles. Ces ventouses sont placées du côté considéré arbitrairement comme l’arrière du robot. Mais cette masse est en partie compensée par le laser bas et un capteur US supplémentaire, situés à l’avant du robot. Cloison verticale Compartiment batterie Axe de l’essieu
DESCRIPTION MECANIQUE SOMMAIRE Le chassis La partie basse est réalisée en tôle d’aluminium. Elle constitue la base roulante. La cloison centrale de séparation des 2 cartes mère et puissance est également en aluminium. Tout le reste est réalisé en planches stratifiées verre-epoxy et carbone-epoxy
DESCRIPTION MECANIQUE SOMMAIRE Les capteurs et leurs fonctionnalités Laser haut repérage du bac et recalage Laser bas repérage des déchets 2 débit-mètres mesure du débit des pompes à vide 4 codeurs incrémentaux mesure rotation roues et bras Tourelle infra rouge repérage lointain adversaire Tirette de départ (fourche optique) Choix couleur (interrupteur simple) Choix stratégiques (tétons reliés à micro-switchs) De chaque côté du robot: - 3 ou 4 US bas repérage des déchets - 4 US haut repérage proximité adversaire - barrière optique (à l’arrière) présence pile Sur chacun des 2 bras: - rampe optique de 6 capteurs réflexes sensibles à la distance centrage de la ventouse sur le centre du déchet et repérage de l’orientation du déchet - 1 capteur couleur situé à proximité de la ventouse repérage du type de déchet pour le tri -1 micro_switch présence d’objet dans la pince
DESCRIPTION MECANIQUE SOMMAIRE Les actionneurs 2 moto réducteurs roues 20 watts réduction 4/1 2 moto réducteurs bras 20 watts réduction 50/1 2 pompes à vide aspiration ventouse 4 ventouses magnétiques collage piles 2 servo-moteurs axe 1 ventouses 2 servo-moteurs axe 2 ventouses 2 servo-moteurs pinces déchet 1 Batterie 29 volts NI MH 4300 mAh 1.8 kg
PRESENTATION GENERALE • L’électronique est répartie sur plusieurs cartes : • La carte mère • La carte de puissance • Les 4 cartes interfaces
Introduction Ce chapitre concerne la réalisation de la carte mère. Elle doit gérer plusieurs taches : • la stratégie • les déplacements du robot • le traitement des déchets • la gestion de l’adversaire • - l’interface de communication hommes/machine Nous avons dû concevoir la carte mère en essayant de prévoir les besoins futurs et les évolutions possibles.
I) Système multi processeurs On utilise le principe multi taches / multi processeurs : • Processeur central qui gère stratégie, déplacements, asservissement, contrôle de l’environnement. • Processeur servo qui gère les servos moteurs. • Processeur tourelle qui gère la tourelle. Les 3 processeurs échanges leurs informations en parallèle, à travers leur bus données 8 bits, par l’intermédiaire de registres tampons situés dans 2 CPLD. La procédure d’échange utilise le principe de l’adressage externe : Les données circulant sur les bus P0 Les adresses circulant sur les bus P2 Cette procédure est illustrée par l’animation suivante :
Exemple de gestion multi-tâches CENTRAL Asservissements Déplacements Stratégies Fech=250Hz TOURELLE GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz
MICRO-CENTRAL Asservissements Déplacements Stratégies Fech=250Hz TOURELLE BUS-DATA 8 bits MICRO-SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon
1er exemple: Liaison tourelleCENTRAL
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz 1er temps: Le processeur tourelle écrit dans le tampon TOURELLE BUS DATA 8 bits GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon write Décodage d’adresse BUS ADRESSE
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz BUS ADRESSE 2eme temps: Le processeur CENTRAL lit le tampon Décodage d’adresse TOURELLE read BUS DATA 8 bits GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon write Décodage d’adresse BUS ADRESSE
2eme exemple: Liaison CENTRAL SERVO
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz BUS ADRESSE 1er temps: CENTRAL écrit dans tampon Décodage d’adresse TOURELLE BUS DATA 8 bits write GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz BUS ADRESSE 2eme temps: SERVO lit le tampon Décodage d’adresse TOURELLE BUS DATA 8 bits write GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon read Décodage d’adresse BUS ADRESSE
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz BUS ADRESSE Décodage d’adresse TOURELLE read BUS DATA 8 bits write GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon read Décodage d’adresse write BUS ADRESSE Décodage d’adresse BUS ADRESSE
CENTRAL Asservissements Déplacements Stratégies Fech=250Hz BUS ADRESSE Décodage d’adresse TOURELLE CPLD read BUS DATA 8 bits write GESTION SERVOS Génération de signaux PWM à 50 Hz GESTION TOURELLE Récupération des diodes infrarouge Filtrage Calcul cap & distance à 120Hz tampon tampon tampon read Décodage d’adresse write BUS ADRESSE Décodage d’adresse BUS ADRESSE
II) Les différents blocs 1) Le µcontrôleur central Le microcontrôleur utilisé est un ATMEL 89C51 RD2 en boîtier PLCC 44 broches. ->Famille Intel 8 bits noyau 80C52 -> 64 ko de mémoire Flash -> 2 ko de RAM -> 4 ports dont 2 ports P0 et P2 dédiés à l’adressage externe -> Mode 6 cycles avec quartz à 22 Mhz -> 4 sorties PWM disponibles On appelle ce composant µcontrôleur central car il contient le programme qui gère la stratégie et les déplacements (asservissement). Le DATA BUS P0_central permet de communiquer avec divers composants tels que les CPLD, les CAN, les PE12316, par le procédé de l’adressage externe. Le micro peut contenir 2 Ko de RAM interne dédiée aux variables déclarées dans le programme. Au delà de 2 Ko, les données sont considérées comme externes et disponibles sur le port P0 et leurs adresses sur le port P2.
-P0 est utilisé en entrée ou sortie suivant le cycle Read ou Write (par exemple en entrée quand les CANs lui renvoient des informations) -P1 est utilisé en sortie, il envoie les commandes des actionneurs à la carte de puissance. -P2 permet l’adressage externe de P2.0 à P2.5, alors que P2.6 et P2.7 permettent de sélectionner les deux composants PE dédiés aux codeurs incrémentaux. -P3 : de P3.2 à P3.5, le port est utilisé comme (entrée/sortie), le signal P3.6 est utiliser pour l’écriture WR et P3.7 pour la lecture RD -RD ; ce bit indique la lecture d’une adresse externe. -WR : ce bit indique l’écriture dans une adresse externe.
2) Les CPLD Fonction : Ces deux composants programmables servent à effectuer le décodage d’adresse évoqué précédemment. Leur programmation est réalisée en VHDL. PROBLEME DU ROUTAGE: Pour chaque bloc, la première chose à faire c’est le boîtier : Ici il a fallut dessiner le contour puis les 84 broches en les espaçant de 0.1 Inch (mesures retrouvé dans la documentation constructeur).
Une fois le boîtier fini il faut créer le symbole que l’on va utiliser pour la connectique : Il faut ensuite relier le symbole au boîtier (assigner les broches du symbole à celles du boîtier). En créant le symbole il ne faut pas oublier de nommer les 84 broches pour pouvoir mieux s’y retrouver sur le schéma.
Une fois la connexion finie, les composants sont prêts à être utilisés dans un schéma.
Une fois la connexion finie, les composants sont prêts à être utilisés dans un schéma.
3) Le micro processeur servos Les servomoteurs sont commandés par un signal PWM. Le rapport cyclique de la commande impose une position au servomoteur. Les commandes des servos moteurs sont issues du programme du microcontrôleur central. Celui-ci mémorise ces commandes dans un tampon situé dans un CPLD. Le microcontrôleur servo les récupère ensuite par lecture du tampon puis génère une commande PWM interprétable par les servos.
4) Le micro processeur Tourelle • Principe de la tourelle infrarouge : • Une balise infrarouge positionnée sur l’adversaire émet en permanence vers notre tourelle constituée de diodes réceptrices. • L’état des diodes nous informe sur le cap et la distance de l’adversaire : • - le cap est donné par la bissectrice de l’arc éclairé. • - la distance par le nombre de diodes éclairées.
Entrée : Connect_tourelle, octet venant de la tourelle qui indique quels sont les capteurs ‘éclairés’ par la balise Sortie : Po_tourelle, mot sur 8 bits, après traitement par le µC, qui envoie les informations distance et cap au CPLD.
5) Les CANs Le robot est équipé de deux lasers, le laser bas pour le repérage des déchets, le laser haut pour le repérage du bac et le recalage. Ces lasers délivrent une information distance sous forme d’une tension variant de 0 à 10V. Cette tension est convertie en numérique par deux Convertisseurs Analogique-Numérique. Nous utilisons des ADS7806P : Résolution: 12 bits tconv: 20us Interfaçable sur bus 8 bits Vcc: 5V
Les lasers fournissent une tension de 0 à 10V. Les CANs en mode unipolaire ne peuvent recevoir qu’une tension comprise entre 0-5V. Il faut donc ajouter un pont diviseur de tension. Entrées : CS_CAN : bit de sélection de CAN, il permet d’accéder au DATA_BUS (entrée/sortie) Byte : bit permettant de sélectionner les 8 bits msb ou les 4 bits lsb. R/C : bit permettant d’autoriser une conversion (R/C=’0’) ou autorise une lecture de conversion (R/C=’1’). Sorties : DATA_BUS relié au bus data P0 du uC central, il permet à celui-ci de récupérer les conversions fournies par le CAN.
1 -> Début de conversion 2 -> Conversion 3 -> Lecture des msb 4 -> Lecture des lsb Quand le bit /CS=’0’, une conversion débute, le bit /Busy quant à lui est à ‘0’ le temps de la conversion. Si Byte=’0’ et /Busy=’1’ alors on lit les 8 msb. Si Byte=’1’ et /Busy=’1’ alors on lit les 4 lsb.
6) Le Buffer 74HCT573 Diodes diagnostique : Les 8 diodes diagnostiques contribuent au débugging en permettant d’afficher des octets d’information. Le buffer a deux intérêts : - Il peux mémoriser l’information. - Il augmente le fan-out, ce qui permet d’alimenter en courant les diodes.
7) Les PE12316 (Gestion des codeurs incrémentaux) a) Introduction Le PE12316 gère 3 axes: (les 2 roues et un bras) Le PE12024 gère 1 axe (l’autre bras) Ils permettent de compter les impulsions issues des codeurs incrémentaux (roues et bras) et de renvoyer l’information au microcontrôleur central par le bus P0. Exemple pour les roues On pourra ainsi après traitement connaître la position des deux roues et des 2 bras. Ce qui permet l’asservissement de cette position sur des consignes stratégiques.
b) Etude des signaux CHA et CHB Chacun des deux capteurs incrémentaux délivre deux signaux CHA et CHB en quadrature de phase. Ces deux signaux nous permettent de connaître le sens de rotation des roues en observant l’avance ou le retard de CHA par rapport à CHB de ± Π/4 et on connaît la valeur de cette rotation en comptant le nombre d’impulsions envoyées. Nous utiliserons les PE en mode 2 (M2 = ‘1’, M1 = ‘0’ et M0=‘1’), ce qui permet de comptabiliser les fronts montants et descendants sur chacune des 2 voies. (Soit un facteur 4 sur la fréquence des impulsions).
8) Le MAX 235 Le MAX235 sert assurer la transmission des informations envoyées en séries entre les trois microcontrôleurs RD2 et le PC. En effet les μ contrôleurs utilisent des niveaux TTL et la liaison RS232 des niveaux +-10V. Le MAX235 assure donc cette mise à niveau. La liaison est bi-directionnelle: PC vers μ contrôleurspour la programmation IN SITU μ contrôleurs vers PC en mode débugging
Nous avons choisi la version 235 du MAXIM au lieu de la version 233 car nous avons besoin de trois transformations séries. On peut ainsi obtenir : -Sur le connecteur 1 une liaison μ central ↔ PC -Sur le connecteur 2 une liaison μ tourelle ↔ PC -Sur le connecteur 3 une liaison μ servos ↔ PC Par ailleurs des programmes diagnostic, permettent de récupérer les infos des 3 micros sur le PC. C’est ainsi qu’on peut récupérer un tableau de nombres, tracer une courbe de réponse d’un asservissement, visualiser l’état de la tourelle, représenter sur un terrain virtuel l’emplacement des déchets …
I) La carte de puissance 1) Présentation La carte de puissance est un élément essentiel du robot. Elle doit adapter et redistribuer la tension de la batterie afin d'alimenter le robot. La tension de la batterie étant de l'ordre de 30V, il est nécessaire d'abaisser cette tension pour alimenter les composants numériques en 5v et les capteurs en 15v. La carte doit aussi fournir la puissance pour les moteurs des roues et des bras du robot à partir de commandes envoyées par la carte mère. La réalisation de cette carte n'est pas aisée car d'importants problèmes apparaissent rapidement: un espace réduit, l'accessibilité de certaines parties, les problèmes électromagnétiques dus aux forts courants...
2) Espace réduit Des modifications presque constantes du robot ont nécessité à plusieurs reprises de réadapter la position des composants sur la carte. Toutes ces évolutions ont permis d’obtenir une carte qui réponde a toutes les exigences. Une grande partie de la superficie de la carte est prise par les radiateurs qui servent à dissiper la chaleur des amplificateurs de puissance. La forme de la carte qui n'est pas rectangulaire est déterminée par la mécanique, l'emplacement de la batterie, l'arrêt d'urgence, le laser... 3) Accessibilité Les interrupteurs sont montés sur une petite carte à part, fixée sur la carte de puissance par des entretoises. La batterie placée au centre du robot doit se connecter facilement sur la carte. On utilise pour cela une prise rapide mais les pastilles sur la carte doivent être proches de la batterie et placées de telle sorte que le câble possède un accès direct. La carte doit pouvoir être démontée rapidement sans avoir à dessouder ou à démonter tout le robot. Il faut utiliser des connecteurs et les placer de façon à pouvoir les défaire aisément et ce, sans que les câbles traversent d’un bout à l’autre.
4) Problèmes physiques Lors de la réalisation de la carte, il faut faire face à différents problèmes physiques. La carte de puissance transporte de forts courants et à cause des moteurs on peut atteindre des courants maximums élevés au démarrage. Il faut alors des pistes larges qui rendent le routage plus difficile et diminuent la place possible pour les composants. Etant donné qu'il s'agit d'une carte double couche, il est nécessaire d'éviter de faire passer deux pistes l'une au-dessus de l'autre ce qui crée des couplages capacitifs. A éviter aussi, les angles droits et les vias afin de garder des signaux les plus propres possibles. La carte comporte plusieurs masses : celle de la batterie, puis en sortie des trois convertisseurs DC/DC. Pour éviter les problèmes de masse, il faut toutes les relier entres elles en un point sur la carte (principe de l’étoile). On place aussi un condensateur de découplage à l’arrivée de la batterie sur la carte. Celui ci doit avoir une valeur importante et a donc une taille importante. Les signaux de sortie des convertisseurs DC/DC nécessitent de mettre un condensateur de lissage pour obtenir une allure de signal convenable.
II) Schémas fonctionnels 1) Niveau A0 Le niveau 0 représente les liaisons entre la carte de puissance et le reste du robot. La carte mère envoie les ordres PWM des moteurs à la carte de puissance. Celle-ci va traiter ces signaux et délivrer la puissance adéquate aux moteurs. La carte de puissance distribue également l’alimentation du robot à partir de la batterie 30V.