Inhoudsopgave:

Maak een Maze Runner-robot: 3 stappen (met afbeeldingen)
Maak een Maze Runner-robot: 3 stappen (met afbeeldingen)

Video: Maak een Maze Runner-robot: 3 stappen (met afbeeldingen)

Video: Maak een Maze Runner-robot: 3 stappen (met afbeeldingen)
Video: Mario wordt gearresteerd 😂 #mario #peaches 2024, November
Anonim
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot
Maak een Maze Runner-robot

Doolhofoplossende robots stammen uit de jaren 70. Sindsdien houdt de IEEE doolhofoplossende wedstrijden, de Micro Mouse Contest. Het doel van de wedstrijd is om een robot te ontwerpen die zo snel mogelijk het middelpunt van een doolhof vindt. De algoritmen die worden gebruikt om het doolhof snel op te lossen, vallen meestal in drie categorieën; willekeurig zoeken, doolhoftoewijzing en volgende methoden voor de rechter- of linkermuur.

De meest functionele van deze methoden is de muurvolgmethode. Bij deze methode volgt de robot de rechter- of linkerzijwand in het doolhof. Als het uitgangspunt is verbonden met de buitenmuren van het doolhof, zal de robot de uitgang vinden. Deze app-notitie gebruikt de juiste muurvolgmethode.

Hardware

Deze applicatie maakt gebruik van:

  • 2 Sharp analoge afstandssensoren
  • Tracker-sensor
  • Encoder
  • Motoren en motorbestuurder
  • Silego GreenPAK SLG46531V
  • Spanningsregelaar, robotchassis.

We zullen de analoge afstandssensor gebruiken om de afstanden tot de rechter- en voormuren te bepalen. De Sharp-afstandssensoren zijn een populaire keuze voor veel projecten die nauwkeurige afstandsmetingen vereisen. Deze IR-sensor is zuiniger dan sonarafstandsmeters, maar levert toch veel betere prestaties dan andere IR-alternatieven. Er is een niet-lineaire, omgekeerde relatie tussen de uitgangsspanning van de sensor en de gemeten afstand. De grafiek die de relatie tussen de sensoroutput en de gemeten afstand laat zien, wordt weergegeven in figuur 1.

Een witte lijn tegen een zwarte ondergrond wordt als doel ingesteld. We zullen de tracker-sensor gebruiken om de witte lijn te detecteren. De trackersensor heeft vijf analoge uitgangen en de uitgevoerde gegevens worden beïnvloed door de afstand en de kleur van het gedetecteerde object. De gedetecteerde punten met een hogere infraroodreflectie (wit) zullen een hogere uitgangswaarde veroorzaken en de lagere infraroodreflectie (zwart) zal een lagere uitgangswaarde veroorzaken.

We zullen de pololu-wiel-encoder gebruiken om de afstand te berekenen die de robot aflegt. Dit kwadratuur-encoderbord is ontworpen om te werken met pololu micro-metalen motorreductoren. Het functioneert door twee infraroodreflectiesensoren in de naaf van een Pololu 42 × 19 mm wiel te houden en de beweging van de twaalf tanden langs de velg van het wiel te meten.

Een motorstuurprintplaat (L298N) wordt gebruikt om de motoren aan te sturen. De INx-pinnen worden gebruikt om de motoren aan te sturen en de ENx-pinnen worden gebruikt om de snelheid van de motoren in te stellen.

Er wordt ook een spanningsregelaar gebruikt om de spanning van de batterij terug te brengen tot 5V.

Stap 1: Beschrijving van het algoritme

Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving
Algoritme Beschrijving

Dit Instructable bevat de juiste muur volgende methode. Dit is gebaseerd op het organiseren van richtingsprioriteit door de voorkeur te geven aan de meest rechtse richting. Als de robot de muur aan de rechterkant niet kan detecteren, draait hij naar rechts. Als de robot de juiste muur detecteert en er geen muur voor staat, gaat hij vooruit. Als er een muur rechts van de robot en de voorkant is, draait deze naar links.

Een belangrijke opmerking is dat er geen muur is voor referentie nadat de robot net naar rechts is gedraaid. Daarom wordt "rechts afslaan" in drie stappen bereikt. Ga vooruit, draai naar rechts, ga vooruit.

Bovendien moet de robot afstand houden van de muur bij het vooruitrijden. Dit kan worden gedaan door de ene motor aan te passen om sneller of langzamer te zijn dan de andere. De uiteindelijke toestand van het stroomschema is weergegeven in figuur 10.

Een Maze Runner Robot kan heel eenvoudig worden geïmplementeerd met een enkele GreenPAK configureerbare mixed-signal IC (CMIC). U kunt alle stappen doorlopen om te begrijpen hoe de GreenPAK-chip is geprogrammeerd om Maze Runner Robot te besturen. Als u echter eenvoudig de Maze Runner Robot wilt maken zonder alle interne circuits te begrijpen, download dan GreenPAK-software om het reeds voltooide Maze Runner Robot GreenPAK-ontwerpbestand te bekijken. Sluit uw computer aan op de GreenPAK Development Kit en druk op programma om het aangepaste IC te maken om uw Maze Runner-robot te besturen. De volgende stap zal de logica bespreken die zich in het Maze Runner Robot GreenPAK-ontwerpbestand bevindt voor diegenen die geïnteresseerd zijn om te begrijpen hoe het circuit werkt.

Stap 2: GreenPAK-ontwerp

GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp
GreenPAK-ontwerp

Het ontwerp van GreenPAK bestaat uit twee delen. Dit zijn:

  • Interpretatie / verwerking van gegevens van afstandssensoren
  • ASM-statussen en motoruitgangen

Interpretatie / verwerking van gegevens van afstandssensoren

Het is belangrijk om de gegevens van de afstandssensoren te interpreteren. De bewegingen van de robot worden bepaald op basis van de output van de afstandssensoren. Omdat de afstandssensoren analoog zijn, zullen we de ACMP's gebruiken. De positie van de robot ten opzichte van de muur wordt bepaald door de spanningen van de sensoren te vergelijken met de vooraf bepaalde drempelspanningen.

We zullen 3 ACMP's gebruiken;

  • De voorwand detecteren (ACMP2)
  • Om de juiste muur te detecteren (ACMP0)
  • Om de afstand van de rechtermuur te beschermen (ACMP1)

Omdat ACMP0 en ACMP1 afhankelijk zijn van dezelfde afstandssensor, hebben we dezelfde IN+-bron gebruikt voor beide comparatoren. Constante signaalverandering kan worden voorkomen door ACMP1 25mv hysterese te geven.

We kunnen de richtingsignalen bepalen op basis van de uitgangen van de ACMP's. Het circuit weergegeven in figuur 12 geeft het stroomschema weer dat is weergegeven in figuur 7.

Op dezelfde manier wordt het circuit weergegeven dat de positie van de robot ten opzichte van de rechterwand aangeeft in figuur 13.

ASM-statussen en motoruitgangen

Deze applicatie maakt gebruik van de Asynchronous State Machine, of ASM, om de robot te besturen. Er zijn 8 toestanden in de ASM en 8 uitgangen in elke toestand. Het Output RAM kan gebruikt worden om deze outputs aan te passen. De staten worden hieronder vermeld:

  • Begin
  • Controle
  • Ga weg van de rechtermuur
  • Dicht bij de juiste muur
  • Sla linksaf
  • Ga vooruit-1
  • Sla rechtsaf
  • Ga vooruit-2

Deze toestanden bepalen de output naar de motorbestuurder en sturen de robot aan. Er zijn 3 uitgangen van de GreenPAK voor elke motor. Twee bepalen de richting van de motor en de andere uitgang bepaalt de snelheid van de motor. De motorbeweging volgens deze uitgangen wordt weergegeven in de volgende tabellen:

De ASM Output RAM is afgeleid van deze tabellen. Het wordt getoond in figuur 14. Naast de motordrivers zijn er nog twee uitgangen. Deze uitgangen gaan naar de bijbehorende vertragingsblokken om de robot een bepaalde afstand te laten afleggen. De uitgangen van deze vertragingsblokken zijn ook verbonden met ASM-ingangen.

PWM's werden gebruikt om de snelheid van de motoren aan te passen. De ASM werd gebruikt om te bepalen op welke PWM de motor zou draaien. De PWMA-S- en PWMB-S-signalen zijn ingesteld op de mux select-bits.

Stap 3:

Afbeelding
Afbeelding

In dit project hebben we een doolhofoplossende robot gemaakt. We interpreteerden gegevens van meerdere sensoren, controleerden de status van de robot met de ASM van de GreenPAK en stuurden de motoren aan met een motordriver. Over het algemeen worden bij dergelijke projecten microprocessors gebruikt, maar een GreenPAK heeft een aantal voordelen ten opzichte van een MCU: hij is kleiner, betaalbaarder en kan de sensoruitvoer sneller verwerken dan een MCU.

Aanbevolen: