Accueil _ News _ Tutoriels _ Forums _ Mes projets _ Livre d'or

Easybot

Note : Si après lecture, ce robot vous fait envie, vous pouvez le construire grâce au tutoriel d'Easybot !

 

Pour commencer une petite vue d'ensemble :

Je vais déjà vous dire ce que fait ce petit robot. C'est tout simple, il avance (tout droit), dès qu'il rencontre un obstacle, le bouton poussoir avant s'enclenche, le "cerveau" du robot (pour simplifier)le détecte et ordonne au robot de reculer et vice et versa à l'arrière. Certes c'est ultra basique (c'est pour cette raison que je lui est donné le nom "easybot"), mais pour le construire, je suis parti de zéro ! A part pour le châssis, qui lui est acheté de toute pièce (par mon père ^^).

Naissance de l'idée : Décembre 2006 - Accouchement : Juillet 2007 - Je sais, ça fait long !

Partie électronique

Le robot est géré par le micro contrôleur pic 16F877 de microchip. C'est en fait le "cerveau" du robot qui gère les moteurs et les boutons poussoirs. Les moteurs sont contrôlés par une interface de puissance : Le L293D. Le L293D est un double pont en h intégré composé de 4 transistors. On dit L293"D" car les diodes de protections à éviter les pics de tension du moteur, sont déjà intégrées dans le L293D.

Voici un petit schéma du pont :

Fonctionnement des broches :

-Enable 1 et Enable 2 : Si on leur met un 1 logique (donc provenant du micro contrôleur), les 2 moteurs tourneront, dans le cas contraire ils ne tourneront pas.

-Input 1,2,3,4 : Avec ces broches, on fait deux choses en même temps, on détermine la vitesse de rotation des moteurs en envoyant un signal PWM (pulse wide modulation encore provenant du micro contrôleur), et le sens des moteurs. Si on envoie un signal PWM de la valeur décimale 127 (propre à MikroC) dans enable 1, le moteur aura une tension de moitié de celle de la batterie et tournera dans un sens donné. Maintenant si on envoie le même signal à enable 2, le moteur tournera dans l'autre sens, c'est là tout le principe de easybot.

-Output 1,2,3,4 : Ce sont les sorties moteurs.

-Gnd : Ground, veut dire "masse" en anglais, c'est la masse du L293D, donc il faut tous les relier et les brancher à la masse de la batterie. NB : On peut brancher un "radiateur" à ces 4 broches pour refroidir le L293D.

-Vs et Vss : Ce sont les 2 "plus", Ne vous embêtez pas à savoir pourquoi il y'en a deux, ils vont tous les 2 au + de la batterie.

Voilà pour le L293D, un conseil, ne vous fiez pas entièrement à mes explications, si vous avez des doutes ou si vous voulez en savoir plus, jetez un coup d'oeuil sur le datasheet (choisissez l'un des trois constructeurs, les 3 sont pratiquement pareil, il faut Acrobat reader) : http://www.datasheetcatalog.net/datasheets_pdf/L/2/9/3/L293D.shtml

Je ne vais pas faire de description en détail du pic 16877, car il est décrit dans la rubrique "tutoriels".

Voici le typon :

Côté cuivre :

Côté composant :

Partie mécanique

En fait, je n'ai pas fait grand chose du point de vue de la mécanique. J'ai juste monté les boutons poussoirs et le circuit imprimé sur le châssis, le reste est neuf.

Partie programmation

Le programme gérant le robot est en langage C. J'utilise le compilateur MikroC de MikroElektronica, qui est franchement génial ! Il comporte énormément de fonctions qui simplifient beaucoup la vie !

Ex : -Delay_ms(x); x étant le nombre de secondes à attendre. Bien pratique pour faire des tempos rapides et faciles sans faire appel au timer du pic !!

Egalement des fonctions avec l'écran Lcd comme : int_to_string; qui transforme un entier "int" en une chaîne de caractères "char", aussi très pratique pour traiter des variables et les afficher sur l'écran Lcd. Je ne vais pas toutes vous les lister car il y'en a un grand nombre! Bref je vous le conseille vivement, il est certes payant (150 €) mais très bien !

Pour faire mes essais, j'utilise la platine d'essais Easypic4 de mon père (attention aux courts circuits, sinon aie!) qui est aussi de MikroElektronica. C'est ultra bien pour commencer dans l'électronique numérique, tu tapes ton programme dans MikroC, tu le compiles, et tu le flash directement dans ton pic qui est sur la platine ! C'est pas génial ça ! Et si il y'a des bugs, tu fais des tests pour les corriger sur ta platine et c'est comme ça que t'apprends... Enfin comme j'ai appris ! Une petite photo ?

En bas à gauche, se trouvent pleins de boutons poussoirs pour imiter un clavier ou pleins d'autres systèmes qui en nécessitent. A gauche, une armée de leds pour s'amuser à faire des chenillards, des dés électroniques, faire clignoter une led, bref pleins de petits programmes (qui ne sont pas forcément simples) vous attendent. Un peu plus au dessus, un écran Lcd, pour afficher des textes, un programme qui affiche l'heure (aie compliqué ça !)... Encore plus au dessus, le module USB (ça change du RS232 !), au mileu notre fameux pic 16F877 (dip 40), qui est le coeur de la carte, on peut aussi placer d'autres microcontrôleurs comme des dip 28, 18, 20... En dessous du pic, un écran graphique un peu plus élaboré que l'écran lcd, pour afficher des dessins, des photos (qualité très basse), et pleins d'autres bidules ! A droite, vous avez toutes les sorties des pics sur connecteurs HE10. En haut à droite, il y a à votre disposition un afficheur sept segments (le même que dans la plupart des réveils), surtout pour afficher l'heure. On peut également brancher une prise USB, une prise Rs232 et un clavier en haut ! Voilà pour la description, si vous voulez de plus amples informations, rendez-vous sur :http://www.mikroe.com/fr/

Concernant maintenant mon programme, voici en sois sa structure :

Maintenant, Il n'y a plus qu'à le "traduire" en C, mais ça je ne vais pas vous le donner ! Sinon, si vous voulez apprendre (on sait jamais), allez faire un petit tour dans la rubrique tutoriels-programmation.

Photos

Petite vue du microcontrôleur et de son quartz (horloge) à droite, et du L293D à gauche :

Bouton-poussoir avant :

Intérieur du châssis :

Vidéo

Easybot.mpg

Easybot.wmv

PS : Un grand merci à mon père qui m'a beaucoup aidé dans ce projet !

 

 

Signaler un bug, une faute d'orthographe | Me contacter | Plan du site | Partenaires | En savoir plus

Haut de page