Les cookies assurent le bon fonctionnement de nos services. En utilisant ces derniers, vous acceptez l'utilisation des cookies. En savoir plus

Robot autonome basé sur un Attiny13a et un capteur IR

Sauvegarder: 3 J'aime

Partager:

Difficulté:

Voici un robot peu coûteux qui peut se balader dans une pièce en évitant la plus part des obstacles. Il se déplace grâce à ses deux servomoteurs de 90 grammes modifiés pour fonctionner en rotation continue, son cerveau est un microcontrôleur Attiny13A ; 8 broches et 1Ko de mémoire flash son œil unique est composé d' un détecteur IR de chez Sharp le IS471F guidé par une LED IR de 5mm, une Led de 3mm nous indique qu'il a détecté un obstacle. La réalisation du PCB ou CI (circuit imprimé en Français) demande de l'attention car il est double face et les pistes sont serrées. Coté programmation, j'ai utilisé un langage simple et performant le basic BASCOM AVR. Mon programmateur est en liaison USB c'est un USBASP destiné au microcontrôleurs de la famille AMTEL.

Matériel :

Budget : 1€

Fichiers :

Etape 1 : TEST

Voici la vidéo TinyBot13 en action.

(pour la gravure des PCB voir mon tuto Colombe sur plaque époxy cuivre LED RGB changeante)

Pour la confection des CI voir les liens vidéos que j'ai mis dans le tuto :Colombe sur plaque epoxy cuivre LED RGB .



Etape 2 : La confection du coffret:

 Pour le boîtier on peut utiliser un boitier diffuseur de parfum ou une boite à savon ronde genre qu'on trouve en pharmacie(comme le boitier bleu translucide de la photo).

J'ai utilisé un diffuseur à parfum de récup, percé le trou de 3mm pour la LED présence obstacle et percé la fenêtre pour le détecteur IS471F et la LED IR 5mm.

Le dessus repeint à la bombe en dégradé noir et en vert, j'ai ajouté un décalcomanie adhésif .


Etape 3 : le Circuit Imprimé

Le Circuit imprimé à été réalisé avec Kicad 4.02 le logiciel de confection de CI gratuit sur les photos on peut voir le   circuit en fabrication avec les deux faces superposées, la face composant en rouge, la face cuivre en vert et les vues 3D des faces composants et cuivre. Les autre photos représentent le CI Gravé et terminé avec les composants soudés.

Pour la gravure sur deux faces, il faut d'abord ôter l'adhésif de la première face (le mettre de coté), 

insoler cette face et la graver en laissant l'adhésif de protection sur l'autre face, une fois la face gravée ôter le deuxième adhésif et percer 6 trous comme sur la photo 1 (les ébavurer avec un forêt un peu plus gros) ils servirons au repérage du 2ème typon .

Si les double face vous pose problème, il faut graver chaque face un un epoxy simple face, les percer, faire coïncider les deux faces avec les trous en soudant les composants à pattes longues comme les résistances en premier puis   souder les autres composants.  

Ensuite remettre l'adhésif propre que l(on avait mis de côté) sur la face gravée puis insoler et graver la face 2.

ATTENTION :les pistes sont très proches bien contrôler à l'Ohmmètre qu'elles ne se touchent pas, contrôler  aussi s'il n'y a pas de micro coupures sur les pistes.

Bien nettoyer les deux face à l'acétone avant de souder les composants.

Tout vérifier après soudure, si tout est bon mettre sous tension 5 Volts max sans insérer les circuits intégrés (CI), vérifier que les tensions sont présentes, si tout est OK débrancher mettre les CI et programmer le microcontrôleur. 

Si la diode de détection reste allumée en permanence il faut régler l'angle en cas de difficulté, mettre un petit cache noir entre le capteur IS471F et la diode IR.


On peut télécharger Kicad 4.02 pour les différent systèmes d'exploitation ici: http://kicad-pcb.org/download/

pour ceux qui ne veulent pas utiliser Kicad ils peuvent télécharger les fichier d'impression  du CI dans le lien 

https://paperclipoam.s3.amazonaws.com/uploads/file_upload/file/540/Programme_Typons.zip

 qui contient le programme BASIC et les deux faces au format SVG 

(du navigateur internet explorer ou du logiciel vectoriel gratuit InkScape)

https://inkscape.org/fr/


Etape 4 : la Motorisation:

Pour les moteurs j'ai utilisé des servomoteurs 9 Grammes il existe une version à rotation continue que l'on trouve    chez Gotronic (FS90R).


Pour ma part il mes restait 2 servomoteurs que j'ai modifié pour une rotation continue, c'est assez délicat mais possible. 

Il plusieurs sortes de servo 9g, en général, il faut ôter le clip et le cuseur du potentiomètre intégré et couper toute l'électronique.

Sur le tower pro 9g il faut couper une petite butée sur un engrennage en plus de la modification du potentiomètre .

Tower pro 9g :https://youtu.be/jSFGBqhqvfk

Une fois les servos modifiés et remontés, il faut mettre du scotch pour qu'ils restent étanches  (surtout si vous les collez avec une colle genre cyanolite ou araldite)



Etape 5 : La Programmation:

Le programme du microcontrôleur Attiny 13A a été écrit en BASIC avec BASCOM AVR qui est performant et dont on peut télécharger une version gratuite ici :

https://www.mcselec.com/index.php?option=com_docman&task=cat_view&gid=73&Itemid=54


Pour le programmateur vous avez l'embarras du choix:

 j'ai utilisé un USBasp qu'on peut acheter sur Amazon ou Ebay.

Gotronic fait  le programmateur AVR V2 3170.

Conrad fait le programmateur mySmartUSB

Sur les photos de BASCOM AVR 

2 icônes importants : compilation qui permet de compiler le programme BASIC avant de le charger dans le microcontrôleur.

Programmation qui permet charger le programme dans la mémoire flash ou de configurer les Fusibles .

La fenêtre Lock and Fuse bits permet de configurer les paramètres du microcontrôleur


ATTENTION: Le Fusible H doit toujours être à 0 (Enable serial programming) c'est lui qui permet me dialogue entre PC et microcontrôleur (sinon la puce est bloquée et irrécupérable).

Il existe un circuit de remise à zéro pour ce genre d'incident, il est à construire soit-même, je l'ai construit, il m'a sauvé bien des fois Merci à son auteur :).

Voici le lien en Anglais :http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en



Configuration des Fuse bits Extrait du programme de ce robot :

'Programmation des Bytes fusibles: No Memory look, Enable Serial Programming,

'Watchdog Off Divide clock by 8 Off, Int RC Oscillator 4,8 MHz Start-Up14CK+65ms

'BOD disable  External Reset Enable

'$prog &H79 , &HFF                                           'fuse bits.




autres liens:

Tout ce que vous avez toujours voulu savoir sur le L293D, sans jamais avoir osé le demander.

http://perso.iut-nimes.fr/fgiamarchi/?p=740

USBasp: https://youtu.be/b9bazqLUysY

Tutoriel très complet sur  BASCOM AVR par Jean-Pierre DUVAL: 

https://1drv.ms/f/s!All38Tl2pzx-g-go9k4dDIxna9JiDA



Mic2001
16 - 05 - 2017 : 00:00

pour le programmateur USBasp on peut télécharger les pilotes à installer pour Windows ici: https://github.com/hidnseek/hidnseek/blob/master/Drivers/USBasp-win-driver-x86-x64-v3.0.7.zip

Mic2001
16 - 05 - 2017 : 00:00

pour les fichiers Kicad et le programme BASIC voir les liens Fichiers Technique au début

la.couenne
19 - 05 - 2017 : 00:00

Excellent!! et pas cher :-) Bravo pour ton tuto! Moi je suis en train d'en réaliser un, mais en Python et je galère pour faire tourner mes servo en continu... Mais je perds pas espoir mdr A tout bientôt, et bien joué encore!

Mic2001
04 - 06 - 2017 : 00:00

peut être que ce robot va t'intéresser https://www.youtube.com/watch?v=BBwEF6WBUQs il y a un code source pleinde ressources dans github

Mic2001
02 - 06 - 2017 : 00:00

pour le C le langage arduino ou amtel studio est plus simple si tu utilise un microcontrôleur AMTEL. si tu réussis poste ta réalisation :)

la.couenne
05 - 06 - 2017 : 00:00

Hello, J'ai regardé sur github le projet que tu disais, mais le raspberry est connecté à une carte Aduino qui fait tourner les servo, et il est aussi codé en C :-D Du coup j'ai feinté en utilisant des moteurs DC, mais du coup je perds bcp en précision... Si mon projet t'intéresse regarde ce lien: http://www.robot-maker.com/forum/topic/11454-mon-projet-cubdog/#entry84325 Je ne l'ai pas (encore) publié sur OAM car il n'est pas fini N'hésite pas à essayer aussi OpenCV avec une webcam, on peut faire tellement de truc :) A++

Sauvegarder: 3 J'aime

Partager:

Recevez une fois par mois les meilleurs tutoriels Déco dans votre boîte mail


Ces tutoriels devraient vous plaire

Ruban à leds RGB connecté
Comment fabriquer son filament pour imprimante 3D
Domotique Arduino Raspberry PI en 433Mhz. Comment commander son installation électrique depuis son téléphone ? ou avec la voix ?