![Fabriquez une fourmi robotisée: 9 étapes Fabriquez une fourmi robotisée: 9 étapes](https://img.gwsigeps.com/img/circuits/make-a-robot-ant-10.jpg)
Table des matières:
- Provisions:
- Étape 1: Comment ça marche
- Étape 2: Pièces et pièces
- Étape 3: Fabriquer un robot préhenseur
- Étape 4: Microcontrôleur Picaxe 20x-2
- Étape 5: Contrôleur de moteur en série
- Étape 6: Capteur de distance infrarouge
- Étape 7: Schéma de la fourmi robotique
- Étape 8: Programmation de la fourmi du robot
- Étape 9: Autres possibilités
Bien qu'il s'agisse d'un robot relativement complexe, certaines techniques et certains circuits moteurs peuvent être utilisés pour d'autres robots plus simples.
Cette instructable montre comment:
1-Utilisez un contrôleur Picaxe pour recevoir les signaux de télécommande d'une télécommande universelle standard.
2-Utilisez un contrôleur Picaxe pour vous connecter à un capteur de distance infrarouge.
3-Envoyez les commandes série à un contrôleur de moteur série ou à un servo-contrôleur série.
4-Fabriquez un simple préhenseur robot.
La vidéo montre le robot utilisant l'infrarouge pour localiser et ramasser un bloc de bois. Cela montre également que, comme la plupart des fourmis, la fourmi robotique a un certain dédain pour ses chétifs maîtres humains.
18+
Provisions:
Étape 1: Comment ça marche
Un microcontrôleur Picaxe 20x-2 contrôle un capteur de distance infrarouge pour localiser et prendre des objets. Il utilise des commandes en série pour contrôler un contrôleur de moteur qui actionne les deux moteurs à engrenages qui déplacent les bandes de roulement du réservoir pour propulser le robot.
Il utilise également des commandes en série pour contrôler un servo-contrôleur qui positionne les trois servos qui gèrent les mouvements du corps, de la tête et des pinces.
Il peut être contrôlé par une télécommande de téléviseur standard ou peut fonctionner de manière autonome.
La fourmi du robot utilise une construction modulaire. Chaque circuit est un module qui se branche dans des connecteurs d’en-tête.1 ". Il est donc facile de tester chaque circuit sur une maquette avant son installation. Il rend également les modules disponibles pour le prochain robot ou un autre projet.
Pour plus de détails sur la fabrication de ces modules, voir:
La fourmi du robot mesure environ 12 pouces de long et a été conçue intentionnellement plus grande que nécessaire pour laisser plus de place à plus de circuits. J'ai l'intention de l'utiliser comme plate-forme de test pour les capteurs de peau et les capteurs d'antenne sur lesquels je travaille.
Étape 2: Pièces et pièces
Pièces de Sparkfun:http://www.sparkfun.com/index
Microcontrôleur PICAXE 20X2
www.sparkfun.com/products/9432
Chargeur Lithium Polymère
www.sparkfun.com/products/8293
2- 3.7v. Batterie lithium-ion polymère - 110mAh
www.sparkfun.com/products/731
2-3.7v. Batterie lithium-ion polymère - 1000mAh
www.sparkfun.com/products/339
Ces piles LiPo sont légères, peu encombrantes et ne se déchargent pas rapidement lorsqu'elles ne sont pas utilisées, contrairement aux piles au lithium ordinaires. Ils ont également un circuit intégré qui protège contre les courts-circuits et les décharges excessives.
Pièces de Polulu:
Contrôleur de moteur double série Pololu Micro - Ce très petit contrôleur de moteur n'est plus disponible, mais pourrait être remplacé par ceci: Contrôleur de moteur série double Pololu Qik 2s9v1 - http: //www.pololu.com/catalog/product/1110
Servo-contrôleur Micro Serial Pololu (kit partiel) -http: //www.pololu.com/catalog/product/208
Régulateur abaisseur de tension Pololu D15V35F5S3
Capteur de distance analogique Sharp GP2Y0A21YK0F
www.pololu.com/catalog/product/136
Pièces de Tower Hobbies:
3- Servos micro à couple élevé Futaba S3114
www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXNCV6&P=ML
Ce sont des servos très petits et puissants pour leur poids.
Motoréducteurs et bandes de roulement des réservoirs de Solarbotics:
Moteur à engrenage et groupe de roulement-http: //www.solarbotics.com/products/gmtpkg/
Module récepteur IR Panasonic PNA4602M à partir de:
www.hobbyengineering.com/H1527.html
Pièces de Mouser.com:
Divers condensateurs, résistances et LED
PERF BOARD SOUDABLE, LINE PATTERN - Utilisé pour la fabrication de modules et la carte mère du robot:
www.allelectronics.com/make-a-store/item/ECS-4/SOLDERABLE-PERF-BOARD-LINE-PATTERN//1.html
La deuxième étape montre les trois dômes en polycarbonate qui protègent l'abdomen, le thorax et la tête du robot. Ils ont été sciés, puis le disque de puissance a été poncé. Ils ont été fabriqués à partir de pièces d'un kit de fabrication de globe de neige qui n'est plus disponible. Quelque chose de similaire pourrait être fait en utilisant des pièces de verres à vin en plastique. Ou bien, une coque opaque plus souple pourrait être fabriquée à partir d'Oogoo:
Étape 3: Fabriquer un robot préhenseur
Comment ça marche
La mandibule de la fourmi est une pince très simple qui fonctionne en étant tenue fermée par un ressort. Une came sur le côté inférieur est tournée par un servo pour l'ouvrir. Ainsi, lorsque la pince ouverte est fermée, elle saisit la force du ressort et se tient fermement sur des objets de différents diamètres. Les deux côtés de la pince sont assez lisses et tirent l’objet saisi en direction d’un pare-chocs en caoutchouc qui l’empêche de glisser vers le bas lorsqu’il est soulevé.
Cette conception permet au servo de pivoter librement dans le sens contraire des aiguilles d'une montre ou dans le sens contraire des aiguilles d'une montre et aucun capteur de pression ni interrupteur d'arrêt n'est nécessaire pour saisir un objet.
Les doigts et le corps de la pince à fourmis ont été fabriqués avec un matériau de carte de circuit imprimé FRS revêtu de cuivre. Les roulements de pivot ne sont que 4 à 40 boulons à travers les trous percés dans le circuit imprimé.
Les images step3 montrent le haut et le bas de la pince.
Étape 4: Microcontrôleur Picaxe 20x-2
Les microcontrôleurs Picaxe sont, à mon avis, très sous-estimés. Ils ont un très petit facteur de forme qui nécessite un minimum de pièces externes. Ils sont peu coûteux et très faciles à programmer dans le langage de programmation BASIC intuitivement évident. En bref, ce sont les microcontrôleurs les plus faciles à apprendre à se connecter et à programmer.
Le Picaxe 20x-2 est mon microcontrôleur préféré. Il a beaucoup d'entrées et de sorties et de nombreuses entrées ADC. Il peut fonctionner jusqu'à 64 MH. De plus, il ne faut pas plus d'une résistance (pour empêcher Serin de flotter) pour créer un module autonome.
Contrôler la fourmi du robot
Le Picaxe envoie des commandes série au contrôleur de moteur et au servo-contrôleur. Ils continuent à maintenir la dernière commande reçue. Cela permet au Picaxe de passer son temps à scanner ses capteurs pour déterminer la réponse suivante.
Pièce d'expansion
Dans cette application, environ un tiers seulement de l'espace de programmation était utilisé. Moins d’un tiers des broches d’entrée et de sortie ont été utilisées, ce qui laisse beaucoup de place pour davantage de capteurs ou d’actionneurs.
Pour plus de détails sur la création de modules Picaxe rapides avec Perfboard, voir:
www.instructables.com/id/Picaxe-Projects-1-Making-Fast-Printed-Circuit-Mo/
Pour un micro robot très petit contrôlé par un Picaxe, voir:
www.instructables.com/id/Building-Small-Robots-Making-One-Cubic-Inch-Micro/
Pour un robot encore plus petit contrôlé par un Picaxe, voir:
www.instructables.com/id/Build-a-Very-Small-Robot-Make-The-Worlds-Smalles/
Les images miniatures de l’étape 4 montrent le haut et le bas du module Picaxe.
Étape 5: Contrôleur de moteur en série
Le contrôleur de moteur Polulu reçoit des commandes série du contrôleur Picaxe pour contrôler les deux moteurs à engrenages qui déplacent les bandes de roulement du réservoir. Une fois qu'une commande série est envoyée pour activer un moteur, le moteur se déplace comme indiqué jusqu'à ce qu'une nouvelle commande soit envoyée par le Picaxe. Cela permet au microcontrôleur Picaxe d'envoyer des commandes, puis de revenir à la détection du capteur. Les moteurs peuvent être contrôlés pour la vitesse et la direction.
Les bandes de roulement du réservoir sont livrées dans un kit et peuvent être configurées comme un réservoir ordinaire ou dans la version à trois roues comme je le faisais. Pour ce faire, j'ai dû acheter deux roues de renvoi supplémentaires.La roue motrice et les roues libres ont été montées sur une carte de circuit imprimé en fibre de verre FRS revêtue de cuivre et peinte.
Étape 6: Capteur de distance infrarouge
J'ai expérimenté plusieurs capteurs à ultrasons et bien qu'ils soient utiles pour détecter des objets plus volumineux tels que des murs ou des personnes, ils émettent un faisceau relativement large qui ne dispose pas de la précision nécessaire pour aligner une pince sur un petit objet.
Le capteur de distance infrarouge Sharp envoie un faisceau infrarouge invisible, puis mesure l'angle de la lumière réfléchie pour détecter la présence d'un objet et sa distance. Il est assez précis et sensible et peut détecter un crayon vertical à un pied de distance. Il peut détecter un objet ou un mur de 4 à 32 pouces.
Il mesure la distance à l'objet puis génère une tension proportionnelle à la distance. Celui-ci alimente une entrée du contrôleur Picaxe et son convertisseur analogique-numérique (ADC) est utilisé pour convertir la tension en un nombre interprété par le programme pour indiquer au robot la distance qui le sépare de l'objet.
L’étape 6 montre le capteur pointu qui est le rectangle noir avec deux lentilles.
Étape 7: Schéma de la fourmi robotique
Voici le schéma de la fourmi du robot. Les images miniatures montrent qu'il est agrandi.
Éléments à prendre en compte lors de l’interfaçage des différents modules:
Il est généralement judicieux de garder des alimentations séparées pour les circuits de commande et les moteurs. Les moteurs et les servos peuvent être électriquement bruyants, ce qui peut perturber le fonctionnement d'un microcontrôleur. Il est également judicieux de maintenir les microcontrôleurs à bonne distance des moteurs et des servos afin d'éviter les champs magnétiques.
Bien qu'il ne soit pas nécessaire de disposer d'un contrôleur de tension pour les moteurs, cela permet un mouvement plus cohérent si la tension reste constante
Conservez une résistance de 270 ohms à 1kohm entre les sorties des capteurs et les entrées Picaxe afin d'éviter tout court-circuit accidentel de l'un ou l'autre périphérique.
Le capteur de distance infrarouge Sharp s'est avéré extrêmement bruyant électriquement. Lorsque je me suis connecté sur une planche à pain au Picaxe, cela a bien fonctionné. Dès qu'il a été installé dans le robot, le Picaxe a cessé de fonctionner. J'ai résolu le problème en mettant un condensateur de 10 uf sur les entrées d'alimentation du capteur Sharp. Cela a permis de réduire les fluctuations de tension de l'alimentation créée.
Étape 8: Programmation de la fourmi du robot
Comment ça marche
En mode de ramassage autonome, le robot pivote vers la droite pour rechercher un objet. S'il ne trouve rien, il s'arrête après une rotation de 360 degrés. Lorsqu'un objet est détecté, il s'arrête et corrige le braquage excessif. En utilisant la distance mesurée pour l'objet détecté, il avance d'une distance spécifique. Il ferme ensuite la pince et soulève.
Télécommande
En mode de contrôle à distance, le robot attend un signal, qu'il s'agisse d'un mouvement tel que le transfert ou d'une commande en mode autonome. Une télécommande de téléviseur universelle standard peut être configurée pour émettre le code de téléviseur Sony que le Picaxe peut décoder. L’infrarouge de la télécommande est reçu par le module récepteur Panasonic.
Voici le code de programmation de la fourmi du robot:
'robot fourmi, Picaxe 20x-2
laisser dirsc =% 00000000
setfreq m8
pause 2000
'loop22:' test du capteur de distance infrarouge
'readadc 7, b4
'debug b4
'goto loop22
startreset: 'reset for start
serout c.0, t2400, (80 $, 01 $, 01,2,30 $) 'set4 pour servo #, vitesse set5 de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,2,26,30 $) 'body down 26
pause 200
serout c.0, t2400, (80 $, 01 $, 01,1,30 $) 'vitesse réglée le dernier # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,1,26,127 $) 'fermer pince 26
pause 200
serout c.0, t2400, (80 $, 01 $, 01,0,20 $) 'vitesse réglée le dernier # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,0,26,127 $) 'centre de la tête
pause 1000
loopinfra: 'contrôle à distance des mouvements ou activer des séquences autonomes
oeil bleu bas c.1 '
oeil bleu haut c.2 '
irin c.5, b6
si b6 = 0 alors act1 'remote button1 = 0
si b6 = 1 alors forw 'b2
si b6 = 2 alors act2 'b3
si b6 = 3 alors à gauche 'b4
si b6 = 4 alors stop1 'b5
si b6 = 5 alors à droite 'b6
si b6 = 6 alors act3 'b7
si b6 = 7 alors rev1 'b8
si b6 = 8 alors attaque 'biteme'
'si b6 = 59 alors attaque' biteme '
si b6 = 11, alors putdwn 'entrer déposer
si b6 = 21 alors startreset 'réinitialiser les servos
'debug b6
aller au loopinfra
act1: 'le robot fourmille le monde
gosub forw2
pause 2500
gosub bodyup2
gosub left2
gosub headleft2
pause 300
gosub forw2
pause 1200
gosub stop2
gosub forw2
pause 500
gosub stop2
gosub headright2
oeil rouge élevé c.1 'l
oeil rouge faible c.2 'r
pause 1000
gosub right2
pause 2500
Gosub Headcenter2
gosub bodydwn2
gosub rev2
pause 2500
gosub stop2
gosub leftfast
pause 500
gosub stop2
Gosub droit
pause 500
gosub leftfast
pause 500
gosub stop2
Gosub droit
pause 500
gosub stop2
pause 2200
gosub forw2
gosub bodyup2
pause 3500
gosub opengrip2
pause 500
gosub stop2
aller au loopinfra
mords moi:
gosub forw2
b8 = 1
pour b8 = 1 à 175
'trouver un obstacle
oeil rouge élevé c.2 'l
oeil rouge faible c.1 'r
readadc 7, b4
si b4> 60 et b4 <135 alors next3
pause 30
prochain b8
aller au loopinfra
next3:
gosub stop2
gosub bodydwn2
gosub opengrip2
'pause 100
gosub bodyup2
gosub forw2
pause 300
gosub closegrip2
pause 900
gosub stop2
gosub rev2
gosub bodydwn2
pause 6000
gosub stop2
aller au loopinfra
act2: 'Pickup, putdown
'vers l'avant
serout c.0, t2400, (128,0,1,100) 'avant droite 20min à 127
serout c.0, t2400, (128,0,2,100) 'avant gauche 20min
pause 4500
gosub stop2
pause 100
'trouver le bloc
b8 = 1
pour b8 = 1 à 75
'trouver un bloc et ramasser
haute c.2
faible c.1
gosub right2
readadc 7, b4
si b4> 61 et b4 <164, alors detect0 '34 -75
pause 50
prochain b8
gosub stop2
aller au loopinfra
detect0: 'arrête et corrige
gosub stop2
'tournez à gauche lente
serout c.0, t2400, (128,0,1,60) 'avant droite 20min à 127
serout c.0, t2400, (128,0,3,60) 'tour à gauche 20min
pause 240
gosub stop2
pause 100
oeil rouge faible c.2 '
oeil rouge élevé d'environ 1 '
'en avant, ramassage
gosub opengrip2
pause 1000
gosub forw2
si b4 <50 alors pa1
si b4 <60 alors pa2
si b4 <70 alors pa3
si b4 <80 alors pa4
si b4 <90 alors pa5
si b4 <104 alors pa6
pa1:
pause 9000
aller au stopat
pa2:
pause 5920
aller au stopat
pa3:
pause 3800
aller au stopat
pa4:
pause 2800
aller au stopat
pa5:
pause 2100
aller au stopat
pa6:
pause 980
aller au stopat
arrêté à:
gosub stop2
pause 200
'closegrip
serout c.0, t2400, (80 $, 01 $, 01,1,30 $) 'réglage de la vitesse du dernier # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,1,26,127 $) 'fermer pince 26
pause 2000
gosub bodyup2
'déposer
gosub leftfast
pause 1400
gosub stop2
gosub forw2
pause 1800
gosub stop2
gosub bodydwn2
gosub opengrip2
pause 500
'jubiler
gosub rev2
pause 2000
gosub stop2
gosub bodyup2
gosub headleft2
gosub headright2
Gosub Headcenter2
oeil bleu bas c.1 '
oeil bleu haut c.2 '
aller au loopinfra
act3: 'pince ouverte et en avant
'en avant, ramassage
gosub opengrip2
pause 400
gosub forw2
pause 280
gosub stop2
aller au loopinfra
act4: 'fermez la pince et soulevez
gosub closegrip2
pause 600
gosub bodyup2
aller au loopinfra
*** gosubs
leftslow:
'tournez à gauche lente
serout c.0, t2400, (128,0,1,60) 'avant droite 20min à 127
serout c.0, t2400, (128,0,3,60) 'tour à gauche 20min
pause 220
gosub stop2
revenir
stop2:
serout c.0, t2400, (128,0,0,0) 'butée à droite
serout c.0, t2400, (128,0,6,0) 'butée gauche
revenir
forw2:
serout c.0, t2400, (128,0,1,100) 'avant droite 20min à 127
serout c.0, t2400, (128,0,2,100) 'avant gauche 20min
revenir
left2:
serout c.0, t2400, (128,0,1,100) 'avant droite 20min
serout c.0, t2400, (128,0,3,100) 'tour à gauche 20min
revenir
right2:
serout c.0, t2400, (128,0,2,100) 'avant gauche 20min
service c.0, t2400, (128,0,0,100) 'rev droite 20min
revenir
rev2:
'Arrêtez
serout c.0, t2400, (128,0,0,0) 'butée à droite
serout c.0, t2400, (128,0,6,0) 'butée gauche
pause 50
'sens inverse
service c.0, t2400, (128,0,0,100) 'rev droite 20min
serout c.0, t2400, (128,0,3,100) 'tour à gauche 20min
revenir
opengrip2:
serout c.0, t2400, (80 $, 01 $, 01,1,30 $) 'set4 pour servo #, vitesse set5 de 0 à 127
serout c.0, t2400, ($ 80, 01 $, 04,1,13,127 $) 'pince ouverte, 13
pause 1000
revenir
closegrip2:
serout c.0, t2400, (80 $, 01 $, 01,1,30 $) 'vitesse réglée le dernier # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,1,26,127 $) 'fermer pince 26
pause 2000
revenir
headleft2:
serout c.0, t2400, ($ 80, $ 01, $ 01,0,20) 'set4 pour servo #, vitesse set5 de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,0,15,127 $) 'tête gauche 15
pause 800
revenir
headright2:
'serout c.0, t2400, (80 $, 01 $, 01,0,20 $)' indique la dernière vitesse # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,0,32,127 $) 'tête droite 30
pause 1600
revenir
centre de tête2:
serout c.0, t2400, (80 $, 01 $, 01,0,20 $) 'vitesse réglée le dernier # de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,0,26,127 $) 'centre de la tête
pause 500
revenir
bodyup2:
serout c.0, t2400, (80 $, 01 $, 01,2,30 $) 'set4 pour servo #, vitesse set5 de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,2,13,30 $) body up, 13
pause 220
revenir
bodydwn2:
serout c.0, t2400, (80 $, 01 $, 01,2,30 $) 'set4 pour servo #, vitesse set5 de 0 à 127
serout c.0, t2400, (80 $, 01 $, 04,2,26,30 $) 'body down 26
pause 200
revenir
à gauche:
serout c.0, t2400, (128,0,1,127) 'avant droite 20min
serout c.0, t2400, (128,0,3,127) 'tour à gauche 20min
revenir
droit:
serout c.0, t2400, (128,0,2,127) 'avant gauche 20min
serout c.0, t2400, (128,0,0,127) 'à droite 20min
revenir
Étape 9: Autres possibilités
Petits circuits
Une version pour montage en surface du Picaxe 20x-2 est disponible pour réaliser des modules de microcontrôleur encore plus petits. Pour plus de détails sur le soudage facile des composants de montage en surface, voir ici:
www.instructables.com/id/Advanced-Soldering-Fast-and-Easy-Soldering-of-Sur/
Anneau de contrôle à distance
Le robot ant peut être contrôlé par d'autres contrôleurs Picaxe configurés pour émettre des signaux Sony infrarouges. Pour plus de détails sur la création d'un anneau de commande à distance pouvant contrôler le robot, voir ici:
Neurones de robot
Une fourmi biologique a entre 200 et 3000 neurones travaillant en parallèle pour contrôler ses mouvements. Si nous considérons un microcontrôleur comme un neurone très grossier, le robot a l'équivalent de 4 neurones. Le Picaxe, le servo-contrôleur, le contrôleur de moteur et le capteur infrarouge ont chacun un microcontrôleur faisant partie du module. Il faudra bien plus de microcontrôleurs pour réaliser l'incroyable traitement en parallèle de systèmes biologiques, même les plus simples.
Poils de fourmi
Les fourmis biologiques ont des centaines de poils fins et chacun est un capteur tactile. Le principal problème des robots d'aujourd'hui n'est pas le manque de puissance de traitement, mais le manque de capteurs sensibles en grande quantité. Beaucoup plus de capteurs seront nécessaires pour que ce robot se rapproche des manipulations incroyablement fines d'une vraie fourmi.
Laser Cutter et petits robots
Un cutter laser pourrait être utilisé pour fabriquer des pièces de précision afin de créer une micro-imprimante 3D. L’imprimante serait alors utilisée pour fabriquer des pièces encore plus petites pour un robot microscopique. Le robot microscopique pourrait alors être utilisé pour manipuler des objets à l'échelle de molécules.
Troisième prix au
Concours de robots de la Semaine nationale de la robotique