Innholdsfortegnelse:

WiBot: 10 trinn (med bilder)
WiBot: 10 trinn (med bilder)

Video: WiBot: 10 trinn (med bilder)

Video: WiBot: 10 trinn (med bilder)
Video: ТАКОГО ЕЩЕ НИКТО НЕ ВИДЕЛ! Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! 2024, September
Anonim
WiBot
WiBot

Denne instruksen beskriver prosessen for å bygge en Wi-Fi-robot på ZYBO-plattformen. Dette prosjektet benytter et sanntidsoperativsystem for objektdeteksjon, avstandsmåling og responsiv kontroll. Denne veiledningen vil dekke grensesnitt mellom ZYBO og eksterne enheter, kjøre tilpasset fastvare og kommunisere via Java -program. Følgende er en liste over alle nøkkelkomponentene som kreves for dette prosjektet:

  • 1 ZYBO Development Board
  • 1 TL-WR802N trådløs ruter
  • 1 skyggeunderstell
  • 2 hjul på 65 mm
  • 2 140 o / min girmotorer
  • 2 hjulkodere
  • 1 ultralydsensor HC-SR04
  • 1 BSS138 Logic Level Converter
  • 1 L293 H-Bridge motorfører
  • 1 12V til 5V DC/DC -omformer
  • 1 LiPo -batteri på 2200 mAh
  • 1 Ethernet -kabel
  • 1 USB Micro-B-kabel
  • 1 kvinnelig XT60 -kontakt
  • 2 stikkontakter fra mann til kvinne
  • 30 Mann-til-mann-hoppetråder
  • 2 10kΩ motstander
  • 1 brødbrett

I tillegg må følgende programvare installeres på måldatamaskinen:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE Development Kit 8.191

Trinn 1: Monter robotchassis

Monter robotchassis
Monter robotchassis
Monter robotchassis
Monter robotchassis
Monter robotchassis
Monter robotchassis

Monter skyggekabinettet og fest girmotorene og koderne til bunnrammen. ZYBO, brødbrett og ultralydssensor kan monteres med de medfølgende delene som kan 3D-printes og festes til kabinettet ved hjelp av avstand og dobbeltsidig tape. Batteriet skal monteres nær baksiden av roboten og helst mellom toppen og bunnrammer. Monter ruteren nær ZYBO og DC/DC -omformeren nær brødbrettet. Fest hjulene til girmotorer helt på slutten.

Trinn 2: Wire Electronics

Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics

Koble inngang og utgang til DC/DC -omformeren til henholdsvis de to strømskinnene på brødbrettet. Disse vil fungere som 12V og 5V forsyninger for systemet. Koble ZYBO til 5V -skinnen som vist på bildet. Bruk en USB Micro-B-forsyningskabel for å koble ruteren også til 5V-skinnen. XT60 -kabelen skal festes til 12V -skinnen. Ikke koble til batteriet før resten av elektronikken er riktig koblet. Ultralydsensoren bør kobles til 5V -skinnen. Lag en 3.3V -skinne på brødbrettet ved hjelp av pinne 6 på Pmod -porten JC på ZYBO. Høyspenningsinngangen til den logiske omformeren bør være koblet til 5V -skinnen mens lavspenningsinngangen til den logiske omformeren skal være koblet til 3,3V -skinnen. Koble motorkoderne til 3,3V -skinnen. Koble VCC1 til motorføreren til 5V -skinnen og koble VCC2 til 12V -skinnen. Fest alle EN -pinnene til 5V og jevn alle GND -pinnene.

Koble TRIG- og ECHO -pinnene på ultralydssensoren til henholdsvis HV1 og HV2 på logikkomformeren. LV1 skal være koblet til JC4 og LV2 skal være koblet til JC3. Se diagrammet for Pmod pinouts. Koble motorene til motorføreren. Y1 skal kobles til den positive terminalen til høyre motor og Y2 skal være koblet til den negative terminalen til den høyre motoren. På samme måte bør Y3 være koblet til den positive terminalen på den venstre motoren og Y4 skal være koblet til den negative terminalen på den venstre motoren. A1, A2, A3 og A4 bør kartlegges til henholdsvis JB2, JB1, JB4 og JB3. Se skjematisk for pin -tall. Koble JC2 til høyre encoder og JC1 til venstre encoder. Sørg for at pull-up-motstander brukes til å knytte disse signalene til 3.3V-skinnen. Til slutt bruker du ethernet -kabelen til å koble ZYBO til ruteren.

Trinn 3: Lag blokkdiagram i Vivado

Lag blokkdiagram i Vivado
Lag blokkdiagram i Vivado

Lag et nytt RTL -prosjekt i Vivado. Sørg for å ikke spesifisere noen kilder for øyeblikket. Søk etter "xc7z010clg400-1" og finn finish. Last ned encoder_driver.sv og ultrasonic_driver.sv. Plasser dem i sine egne mapper. Åpne IP Packager under "Verktøy" og velg å pakke en spesifisert katalog. Lim inn banen til mappen som inneholder driveren for koderen, og klikk "Neste". Klikk "pakke IP" og gjenta prosessene for ultralydsensordriveren. Deretter navigerer du til depotbehandling under IP -underseksjonen i innstillingsmenyen. Legg til banene i drivermappene, og trykk på Apply for å inkludere dem i IP -biblioteket.

Lag et nytt blokkdiagram og legg til "ZYNQ7 Processing System". Dobbeltklikk på blokken og importer ZYBO_zynq_def.xml-filen. Under "MIO -konfigurasjon", aktiver Timer 0 og GPIO MIO. trykk "OK" for å lagre konfigurasjonen. Legg til 3 "AXI GPIO" blokker og 4 "AXI Timer" blokker. Kjør blokkautomatisering etterfulgt av tilkoblingsautomatisering for S_AXI. Dobbeltklikk på GPIO -blokkene for å konfigurere dem. En blokk skal være to kanaler med en 4-bits inngang og en 4-bits utgang. Gjør disse tilkoblingene eksterne og merk dem SW for inngang og LED for utgang. Den andre blokken bør også være tokanaler med 2 32-biters innganger. Den siste GPIO-blokken vil være en enkelt 32-biters inngang. Gjør pwm0 -utgangen fra hver timerblokk ekstern. Merk dem PWM0, PWM1, PWM2 og PWM3.

Legg til koderdriveren i blokkdiagrammet og koble CLK til FCLK_CLK0. Koble OD0 og OD1 til inngangskanalene til den andre GPIO -blokken. Gjør ENC ekstern og gi ENC_0 nytt navn til ENC. Legg til ultralydsensorblokken og koble CLK til FCLK_CLK0. Gjør TRIG og ECHO eksternt og gi nytt navn til TRIG_0 til TRIG og ECHO_0 til ECHO. Koble RF til den tredje GPIO -blokken. Se det medfølgende blokkdiagrammet for referanse.

Høyreklikk blokkeringsdiagramfilen i kilderuten og opprett en HDL -innpakning. Sørg for å tillate brukerredigeringer. Legg til den medfølgende ZYBO_Master.xdc -filen som en begrensning. Trykk "Generer Bitstream" og ta en kaffepause.

Trinn 4: Konfigurer programvareutviklingsmiljø

Gå under "File" for å eksportere maskinvare til Vivado SDK. Sørg for å inkludere bitstrømmen. Importer RTOSDemo -prosjektet inne i "CORTEX_A9_Zynq_ZC702". Den vil være plassert i FreeRTOS installasjonskatalogen. Opprett en ny Board Support Package, velg lwip202 -biblioteket. Endre referanse BSP i RTOSDemo prosjektet til BSP du nettopp opprettet*.

*Når vi skriver denne instruksjonsboken, ser det ut til at FreeRTOS har en feil med referanse til riktig BSP. For å rette opp dette, opprett en ny BSP med de samme innstillingene som den første. Endre den refererte BSP til den nye, og endre den deretter tilbake til den gamle etter at den ikke klarer å bygge. FreeRTOS skal nå kompilere uten feil. Slett gjerne den ubrukte BSP.

Trinn 5: Endre demonstrasjonsprogrammet

Lag en ny mappe kalt "drivere" under "src" -katalogen til RTOSDemo. Kopier den medfølgende gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h og motor.c filer til "drivere" -katalogen.

Åpne main.c og sett mainSELECTED_APPLICATION til 2. Erstatt main_lwIP.c under "lwIP_Demo" med den oppdaterte versjonen. BasicSocketCommandServer.c under "lwIP_Demo/apps/BasicSocketCommandServer" må også oppdateres med en ny versjon. Naviger til slutt til "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" og erstatt Sample-CLI-commands.c med den medfølgende versjonen. Bygg prosjektet og sørg for at alt blir vellykket.

Trinn 6: Flash -fastvare til QSPI

Flash -fastvare til QSPI
Flash -fastvare til QSPI
Flash -fastvare til QSPI
Flash -fastvare til QSPI
Flash -fastvare til QSPI
Flash -fastvare til QSPI

Lag et nytt applikasjonsprosjekt kalt "FSBL" ved hjelp av "Zynq FSBL" -malen. Etter å ha kompilert FSBL -prosjektet, opprett et oppstartsbilde av RTOSDemo -prosjektet. Sørg for at "FSBL/Debug/FSBL.elf" er valgt som oppstartslaster under "Boot image partitions". Legg til banen manuelt til denne filen hvis den ikke er oppført.

Flytt JP5 -jumperen på ZYBO til "JTAG". Bruk en USB Micro-B-kabel for å koble datamaskinen til ZYBO. Koble til batteriet og slå på ZYBO. Kjør Adept for å kontrollere at ZYBO er riktig identifisert av datamaskinen. Klikk "Program Flash" i Vivado SDK og oppgi banene til BOOT.bin -filen i RTOSDemo og FSBL.elf -filen i FSBL. Sørg for å velge "Bekreft etter blits" før du trykker på "Program". Se på konsollen for å sikre at den blinkende operasjonen er fullført. Slå deretter av ZYBO og koble fra USB -kabelen. Flytt JP5 -jumperen til "QSPI".

Trinn 7: Konfigurer trådløst tilgangspunkt

Med batteriet fremdeles tilkoblet, kobler du til ruteren Wi-Fi-nettverk. Standard SSID og passord bør være nederst på ruteren. Deretter navigerer du til https://tplinkwifi.net og logger på med "admin" for brukernavn og passord. Kjør hurtigoppsettveiviseren for å konfigurere ruteren i tilgangspunktmodus med DHCP aktivert. Sørg for å oppdatere standard brukernavn og passord for enheten også. Ruteren bør automatisk starte på nytt i tilgangspunktmodus etter at du er ferdig.

Slå på ZYBO og koble til ruteren ved hjelp av SSID du tildelte. Ruteren vil mest sannsynlig komme opp på enten IP -adressen 192.168.0.100 eller 192.160.0.101. ZYBO vil bli tilordnet hvilken adresse ruteren ikke har. For raskt å finne IP -adressen til ruteren kan du kjøre "ipconfig" fra ledeteksten i Windows eller "ifconfig" fra terminalen i Linux eller MacOS. Hvis du fremdeles er koblet til ruteren, vil du se IP -adressen ved siden av det trådløse grensesnittet. Bruk denne informasjonen til å bestemme IP -adressen til ZYBO. For å bekrefte IP -adressen til ZYBO kan du enten pinge den fra kommandolinjen eller koble til den via telnet.

Trinn 8: Kjør Java -program

Kjør Java -program
Kjør Java -program

Last ned RobotClient.java og kompiler filen ved hjelp av kommandoen "javac RobotClient.java" fra kommandolinjen. Kjør kommandoen "java RobotClient" der "ip_address" er IP -adressen til ZYBO. Kontrollgrensesnittet vil dukke opp hvis det opprettes en vellykket forbindelse mellom datamaskinen og ZYBO. Etter å ha fokusert vinduet, bør roboten være kontrollerbar ved hjelp av piltastene på tastaturet. Trykk på rømningsknappen for å avslutte økten og koble fra roboten.

GUI vil markere tastene som trykkes og vise motoreffekten øverst til høyre. Avstandsmåleren til venstre fyller en bar hver 2. meter opp til maksimalt 10 meter.

Trinn 9: Kalibrer avstandsmåleren

Bryterne ombord på ZYBO kan brukes til å konfigurere den innebygde avstandsmåleren. Minste deteksjonsavstand d er gitt som en funksjon av bryterinngangen i:

d = 50i + 250

Inngangen kan variere mellom 0 og 15 i heltallstrinn. Dette oversetter til et avstandsområde på 0,25 meter til 1 meter. På minimumsavstanden begynner den første LED -en å blinke. Antall lysdioder som er aktive er proporsjonal med objektets nærhet.

Trinn 10: Tilgjengelighet

Denne roboten er veldig lett tilgjengelig. På grunn av enkelheten i kontrollen, kan den kontrolleres fullt ut med bare en finger. For å forbedre tilgjengeligheten kan støtte for flere inndataenheter legges til. Dette kan tillate funksjonshemmede bruksområder å kontrollere roboten med en annen del av kroppen.

Anbefalt: