Taula de continguts:

Feu un robot Maze Runner: 3 passos (amb imatges)
Feu un robot Maze Runner: 3 passos (amb imatges)

Vídeo: Feu un robot Maze Runner: 3 passos (amb imatges)

Vídeo: Feu un robot Maze Runner: 3 passos (amb imatges)
Vídeo: Он вам не Димон 2024, Desembre
Anonim
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner
Feu un robot Maze Runner

Els robots de resolució de laberints s’originen a partir dels anys setanta. Des de llavors, l’IEEE celebra concursos de resolució de laberints anomenats Micro Mouse Contest. L’objectiu del concurs és dissenyar un robot que trobi el punt mig d’un laberint tan aviat com sigui possible. Els algoritmes utilitzats per resoldre ràpidament el laberint normalment es divideixen en tres categories; cerca aleatòria, mapatge de laberint i paret dreta o esquerra seguint mètodes.

El més funcional d'aquests mètodes és el mètode de seguiment de la paret. En aquest mètode, el robot segueix la paret lateral dreta o esquerra del laberint. Si el punt de sortida està connectat a les parets exteriors del laberint, el robot trobarà la sortida. Aquesta nota de l'aplicació utilitza el mètode següent de la paret dreta.

Maquinari

Aquesta aplicació utilitza:

  • 2 Sensors de distància analògics nítids
  • Sensor de seguiment
  • Codificador
  • Motors i conductor de motor
  • Silego GreenPAK SLG46531V
  • Regulador de tensió, xassís robot.

Utilitzarem el sensor de distància analògic per determinar les distàncies a la paret dreta i frontal. Els sensors de distància Sharp són una opció popular per a molts projectes que requereixen mesures de distància exactes. Aquest sensor IR és més econòmic que els telèmetres sonars, però ofereix un rendiment molt millor que altres alternatives IR. Hi ha una relació inversa i no lineal entre la tensió de sortida del sensor i la distància mesurada. La gràfica que mostra la relació entre la sortida del sensor i la distància mesurada es mostra a la figura 1.

Es fixa com a objectiu una línia blanca contra un terra de color negre. Utilitzarem el sensor de seguiment per detectar la línia blanca. El sensor del rastrejador té cinc sortides analògiques i les dades transmeses estan influïdes per la distància i el color de l’objecte detectat. Els punts detectats amb reflectància infraroja més alta (blanc) causaran un valor de sortida més alt i la reflectància infraroja inferior (negre) provocarà un valor de sortida inferior.

Utilitzarem el codificador de rodes pololu per calcular la distància que recorre el robot. Aquesta placa de codificació de quadratura està dissenyada per funcionar amb motorreductors de micro metall pololu. Funciona mantenint dos sensors de reflectància d’infrarojos a l’interior del hub d’una roda Pololu de 42 × 19 mm i mesurant el moviment de les dotze dents al llarg de la vora de la roda.

Per controlar els motors s’utilitza una placa de circuit de controlador de motor (L298N). Els pins INx s’utilitzen per dirigir els motors i els pins ENx s’utilitzen per configurar la velocitat dels motors.

A més, s’utilitza un regulador de tensió per reduir el voltatge de la bateria fins a 5V.

Pas 1: descripció de l'algorisme

Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme
Descripció de l'algorisme

Aquest instructable incorpora el mètode següent de la paret dreta. Això es basa en organitzar la prioritat de direcció preferint la direcció més dreta possible. Si el robot no pot detectar la paret de la dreta, gira a la dreta. Si el robot detecta la paret dreta i no hi ha cap paret al davant, aquest avançarà. Si hi ha una paret a la dreta del robot i la part frontal, gira cap a l’esquerra.

Una nota important és que no hi ha cap paret de referència després que el robot acabi de girar cap a la dreta. Per tant, "girar a la dreta" s'aconsegueix en tres passos. Avança, gira a la dreta, avança.

A més, el robot ha de mantenir la distància de la paret quan avança. Això es pot fer ajustant un motor perquè sigui més ràpid o més lent que l’altre. L'estat final del diagrama de flux es mostra a la figura 10.

Un robot Maze Runner es pot implementar molt fàcilment amb un únic IC de senyal mixt configurable (CMIC) de GreenPAK. Podeu seguir tots els passos per entendre com s’ha programat el xip GreenPAK per controlar el robot Maze Runner. Tot i això, si només voleu crear fàcilment el robot Maze Runner sense entendre tots els circuits interns, descarregueu-vos el programari GreenPAK per veure el fitxer de disseny GreenPAK de Maze Runner Robot ja completat. Connecteu l'ordinador al kit de desenvolupament de GreenPAK i premeu el programa per crear un IC personalitzat per controlar el robot Maze Runner. El següent pas parlarà de la lògica que hi ha dins del fitxer de disseny GreenPAK de Maze Runner Robot per a aquells que estiguin interessats a entendre com funciona el circuit.

Pas 2: disseny de GreenPAK

Disseny GreenPAK
Disseny GreenPAK
Disseny GreenPAK
Disseny GreenPAK
Disseny GreenPAK
Disseny GreenPAK

El disseny GreenPAK consta de dues parts. Aquests són:

  • Interpretació / processament de dades a partir de sensors de distància
  • Estats ASM i sortides del motor

Interpretació / processament de dades a partir de sensors de distància

És important interpretar les dades dels sensors de distància. Els moviments del robot es deliberen d’acord amb les sortides dels sensors de distància. Com que els sensors de distància són analògics, utilitzarem els ACMP. La posició del robot respecte a la paret es determina comparant les tensions dels sensors amb les tensions de llindar predeterminades.

Utilitzarem 3 ACMP;

  • Per detectar la paret frontal (ACMP2)
  • Per detectar la paret dreta (ACMP0)
  • Per protegir la distància de la paret dreta (ACMP1)

Com que ACMP0 i ACMP1 depenen del mateix sensor de distància, hem utilitzat la mateixa font IN + per als dos comparadors. Es pot evitar un canvi constant de senyal donant a ACMP1 25mv d’histèresi.

Podem determinar els senyals de direcció en funció de les sortides dels ACMP. El circuit mostrat a la figura 12 representa el diagrama de flux que es mostra a la figura 7.

De la mateixa manera, el circuit que indica la posició del robot respecte a la paret dreta es mostra a la figura 13.

Estats ASM i sortides del motor

Aquesta aplicació utilitza la màquina d’estats asíncrons, o ASM, per controlar el robot. Hi ha 8 estats a l'ASM i 8 sortides a cada estat. La memòria RAM de sortida es pot utilitzar per ajustar aquestes sortides. A continuació es detallen els estats:

  • Començar
  • Control
  • Allunyeu-vos de la paret dreta
  • Prop de la paret dreta
  • Giri a l'esquerra
  • Avança-1
  • Giri a la dreta
  • Avança-2

Aquests estats determinen la sortida al controlador del motor i dirigeixen el robot. Hi ha 3 sortides del GreenPAK per a cada motor. Dos determinen la direcció del motor i l’altra sortida determina la velocitat del motor. El moviment del motor segons aquestes sortides es mostra a les següents taules:

La memòria RAM de sortida ASM es deriva d’aquestes taules. Es mostra a la figura 14. A més dels controladors de motor, hi ha dues sortides més. Aquestes sortides van als blocs de retard corresponents per permetre al robot recórrer una certa distància. Les sortides d’aquests blocs de retard també estan connectades a les entrades ASM.

Es feien servir PWM per ajustar la velocitat dels motors. L'ASM es va utilitzar per determinar amb quin PWM funcionaria el motor. Els senyals PWMA-S i PWMB-S s’estableixen als bits de selecció mux.

Pas 3:

Imatge
Imatge

En aquest projecte, vam crear un robot de resolució de laberints. Vam interpretar les dades de múltiples sensors, vam controlar l’estat del robot amb l’ASM de GreenPAK i vam conduir els motors amb un controlador de motor. Generalment, els microprocessadors s’utilitzen en aquests projectes, però un GreenPAK té alguns avantatges respecte a una MCU: és més petit, més assequible i pot processar la sortida del sensor més ràpidament que una MCU.

Recomanat: