Indholdsfortegnelse:
- Trin 1: Saml robotchassis
- Trin 2: Wire Electronics
- Trin 3: Opret blokdiagram i Vivado
- Trin 4: Opsætning af softwareudviklingsmiljø
- Trin 5: Rediger demonstrationsprogrammet
- Trin 6: Flash Firmware til QSPI
- Trin 7: Konfigurer trådløst adgangspunkt
- Trin 8: Kør Java -program
- Trin 9: Kalibrer afstandsmåler
- Trin 10: Tilgængelighed
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Denne instruktive beskriver processen med at bygge en Wi-Fi-robot på ZYBO-platformen. Dette projekt anvender et real-time operativsystem til objektdetektering, afstandsmåling og responsiv kontrol. Denne vejledning dækker grænseflade mellem ZYBO og eksterne enheder, kører brugerdefineret firmware og kommunikation via Java -applikation. Følgende er en liste over alle de nødvendige komponenter til dette projekt:
- 1 ZYBO Development Board
- 1 TL-WR802N trådløs router
- 1 skygge chassis
- 2 65 mm hjul
- 2 140 omdr./min. Gearmotorer
- 2 hjulkodere
- 1 HC-SR04 ultralydssensor
- 1 BSS138 Logic Level Converter
- 1 L293 H-bro motor driver
- 1 12V til 5V DC/DC -omformer
- 1 2200mAh LiPo batteri
- 1 Ethernet -kabel
- 1 USB Micro-B kabel
- 1 hunstik XT60
- 2 trøjer fra mand til kvinde
- 30 Jomfruwire fra mand til mand
- 2 10kΩ modstande
- 1 brødbræt
Derudover skal følgende software installeres på målcomputeren:
- Xilinx Vivado Design Suite 2018.2
- Digilent Adept 2.19.2
- FreeRTOS 10.1.1
- Java SE Development Kit 8.191
Trin 1: Saml robotchassis
Saml skygge -chassiset, og fastgør gearmotorer og encodere til bundrammen. ZYBO, brødbrættet og ultralydssensoren kan monteres med de medfølgende dele, der kan 3D-printes og fastgøres til chassiset ved hjælp af standoffs og dobbeltsidet tape. Batteriet skal monteres nær robotens bagside og helst mellem toppen og bundrammer. Monter routeren tæt på ZYBO og DC/DC -konverteren tæt på brødbrættet. Fastgør hjulene til gearmotorer i slutningen.
Trin 2: Wire Electronics
Tilslut input og output fra DC/DC -konverteren til henholdsvis de to strømskinner på brødbrættet. Disse fungerer som 12V og 5V forsyninger til systemet. Tilslut ZYBO til 5V -skinnen som vist på billedet. Brug et USB Micro-B-forsyningskabel til også at tilslutte routeren til 5V-skinnen. XT60 -kablet skal fastgøres til 12V -skinnen. Tilslut ikke batteriet, før resten af elektronikken er korrekt forbundet. Ultralydssensoren skal forbindes til 5V -skinnen. Opret en 3.3V -skinne på brødbrættet ved hjælp af pin 6 i Pmod -port JC på ZYBO. Logikomformerens højspændingsindgang skal forbindes til 5V -skinnen, mens logikomformerens lavspændingsindgang skal forbindes til 3,3V -skinnen. Led motorkoderne til 3,3V -skinnen. Tilslut motordriverens VCC1 til 5V -skinnen, og tilslut VCC2 til 12V -skinnen. Bind alle EN -ben til 5V, og jord alle GND -ben.
Forbind TRIG- og ECHO -benene på ultralydssensoren til henholdsvis HV1 og HV2 på logikomformeren. LV1 skal være tilsluttet JC4 og LV2 skal være forbundet til JC3. Se diagrammet for Pmod pinouts. Tilslut motorerne til motordriveren. Y1 skal tilsluttes den positive terminal på den højre motor, og Y2 skal være forbundet med den negative terminal på den højre motor. På samme måde skal Y3 forbindes til den positive motor på den venstre motor, og Y4 skal forbindes med den negative terminal på den venstre motor. A1, A2, A3 og A4 skal kortlægges til henholdsvis JB2, JB1, JB4 og JB3. Se skematisk for pin -numre. Led JC2 til højre encoder og JC1 til venstre encoder. Sørg for, at pull-up-modstande bruges til at binde disse signaler til 3.3V-skinnen. Til sidst skal du bruge ethernet -kablet til at slutte ZYBO til routeren.
Trin 3: Opret blokdiagram i Vivado
Opret et nyt RTL -projekt i Vivado. Sørg for ikke at angive nogen kilder på nuværende tidspunkt. Søg efter "xc7z010clg400-1" og tryk på finish. Download encoder_driver.sv og ultrasonic_driver.sv. Placer dem i deres egne mapper. Åbn IP Packager under "Værktøjer", og vælg at pakke et bestemt bibliotek. Indsæt stien til den mappe, der indeholder encoder -driveren, og tryk på "Næste". Klik på "pakke IP", og gentag processerne for ultralydssensordriveren. Bagefter navigerer du til depotstyringen under IP -underafsnittet i indstillingsmenuen. Føj stierne til drivermapperne, og tryk på Apply for at inkludere dem i IP -biblioteket.
Opret et nyt blokdiagram, og tilføj "ZYNQ7 Processing System". Dobbeltklik på blokken, og importer den medfølgende ZYBO_zynq_def.xml-fil. Under "MIO -konfiguration" skal du aktivere Timer 0 og GPIO MIO. tryk "OK" for at gemme konfigurationen. Tilføj 3 "AXI GPIO" blokke og 4 "AXI Timer" blokke. Kør blokautomatisering efterfulgt af forbindelsesautomatisering for S_AXI. Dobbeltklik på GPIO -blokke for at konfigurere dem. En blok skal være dobbeltkanal med en 4-bit input og en 4-bit output. Gør disse forbindelser eksterne og mærk dem SW for input og LED for output. Den anden blok skal også være dual channel med 2 32-bit input. Den sidste GPIO-blok vil være en enkelt 32-bit input. Gør pwm0 -output fra hver timerblok ekstern. Mærk dem PWM0, PWM1, PWM2 og PWM3.
Tilføj encoder -driveren til blokdiagrammet, og tilslut CLK til FCLK_CLK0. Tilslut OD0 og OD1 til inputkanalerne i den anden GPIO -blok. Gør ENC ekstern og omdøb ENC_0 til ENC. Tilføj ultralydsensorblokken, og tilslut CLK til FCLK_CLK0. Gør TRIG og ECHO ekstern, og omdøb TRIG_0 til TRIG og ECHO_0 til ECHO. Tilslut RF til den tredje GPIO -blok. Se det medfølgende blokdiagram for reference.
Højreklik på din blokdiagramfil i kilderuden, og opret en HDL -indpakning. Sørg for at tillade brugerredigeringer. Tilføj den medfølgende ZYBO_Master.xdc -fil som en begrænsning. Tryk på "Generer Bitstream", og tag en kaffepause.
Trin 4: Opsætning af softwareudviklingsmiljø
Gå under "File" for at eksportere hardware til Vivado SDK. Sørg for at inkludere bitstrømmen. Importer RTOSDemo -projektet inde i "CORTEX_A9_Zynq_ZC702". Det vil være placeret i FreeRTOS installationsmappe. Opret en ny Board Support Package, vælg lwip202 -biblioteket. Skift det refererede BSP i RTOSDemo -projektet til det BSP, du lige har oprettet*.
*På tidspunktet for skrivningen af denne instruktør synes FreeRTOS at have en fejl med at henvise til den korrekte BSP. For at afhjælpe dette skal du oprette en ny BSP med de samme indstillinger som den første. Skift den refererede BSP til den nye, og skift den derefter tilbage til den gamle, efter at den ikke er bygget. FreeRTOS skal nu kompilere uden fejl. Slet gerne den ubrugte BSP.
Trin 5: Rediger demonstrationsprogrammet
Opret en ny mappe kaldet "drivere" under "src" -mappen i RTOSDemo. Kopier den medfølgende gpio.h. gpio.c, pwm.h, pwm.c, kilometertæller.h, kilometertæller.c, afstandsmåler.c, afstandsmåler.h, motor.h og motor.c filer i biblioteket "drivere".
Åbn main.c og sæt mainSELECTED_APPLICATION til 2. Erstat main_lwIP.c under "lwIP_Demo" med den opdaterede version. BasicSocketCommandServer.c under "lwIP_Demo/apps/BasicSocketCommandServer" skal også opdateres med en ny version. Naviger til sidst til "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" og erstat Sample-CLI-command.c med den medfølgende version. Byg projektet, og sørg for, at alt kompileres med succes.
Trin 6: Flash Firmware til QSPI
Opret et nyt applikationsprojekt kaldet "FSBL" ved hjælp af "Zynq FSBL" -skabelonen. Efter kompilering af FSBL -projektet skal du oprette et boot -billede af RTOSDemo -projektet. Sørg for, at "FSBL/Debug/FSBL.elf" er valgt som bootloader under "Boot image partitions". Føj stien til denne fil manuelt, hvis den ikke er angivet.
Flyt JP5 -jumperen på ZYBO til "JTAG". Brug et USB Micro-B-kabel til at slutte din computer til ZYBO. Tilslut batteriet og tænd for ZYBO. Kør Adept for at sikre, at ZYBO er korrekt identificeret af computeren. Klik på "Program Flash" i Vivado SDK, og angiv stierne til BOOT.bin -filen i RTOSDemo og FSBL.elf -filen i FSBL. Sørg for at vælge "Bekræft efter flash", før du trykker på "Program". Hold øje med konsollen for at sikre, at den blinkende handling er gennemført. Bagefter skal du slukke for ZYBO'en og afbryde USB -kablet. Flyt JP5 -jumperen til "QSPI".
Trin 7: Konfigurer trådløst adgangspunkt
Med batteriet stadig tilsluttet, skal du oprette forbindelse til routerens Wi-Fi-netværk. Standard -SSID og adgangskode skal være i bunden af routeren. Bagefter skal du navigere til https://tplinkwifi.net og logge ind med "admin" for brugernavn og adgangskode. Kør guiden til hurtig opsætning for at konfigurere routeren i adgangspunkttilstand med DHCP aktiveret. Sørg også for at opdatere standardbrugernavnet og adgangskoden til enheden. Routeren skal automatisk genstarte til adgangspunkttilstand, når du er færdig.
Tænd for ZYBO, og opret forbindelse til routeren ved hjælp af det SSID, du har tildelt. Routeren vil højst sandsynligt komme op på enten IP -adresse 192.168.0.100 eller 192.160.0.101. ZYBO tildeles den adresse, routeren ikke har. For hurtigt at bestemme routerens IP -adresse kan du køre "ipconfig" fra kommandoprompten i Windows eller "ifconfig" fra terminalen i Linux eller MacOS. Hvis du stadig er tilsluttet routeren, vil du se dens IP -adresse blive vist ved siden af din trådløse grænseflade. Brug disse oplysninger til at bestemme IP -adressen på ZYBO. For at bekræfte ZYBOs IP -adresse kan du enten pinge den fra kommandolinjen eller oprette forbindelse til den via telnet.
Trin 8: Kør Java -program
Download RobotClient.java og kompilér filen ved hjælp af kommandoen "javac RobotClient.java" fra kommandolinjen. Kør kommandoen "java RobotClient", hvor "ip_address" er IP -adressen på ZYBO. Kontrol -GUI'en dukker op, hvis der etableres en vellykket forbindelse mellem computeren og ZYBO. Efter fokusering af vinduet skal robotten kunne styres ved hjælp af piletasterne på tastaturet. Tryk på Escape -knappen for at afslutte sessionen og afbryde forbindelsen til robotten.
GUI'en fremhæver de taster, der trykkes på, og viser motorudgangen øverst til højre. Afstandsmåleren til venstre fylder en bar hver 2. meter op til maksimalt 10 meter.
Trin 9: Kalibrer afstandsmåler
Kontakterne ombord på ZYBO kan bruges til at konfigurere den indbyggede afstandsmåler. Minimumsdetekteringsafstanden d er angivet som en funktion af switchindgangen i:
d = 50i + 250
Input kan variere mellem 0 og 15 i heltals trin. Dette oversætter til et afstandsområde på 0,25 meter til 1 meter. På minimumsafstanden begynder den første LED at blinke. Antallet af aktive lysdioder er proportional med objektets nærhed.
Trin 10: Tilgængelighed
Denne robot er meget let tilgængelig. På grund af enkelheden i dens kontrol kan den styres fuldt ud med kun en finger. For at forbedre tilgængeligheden kan support til yderligere inputenheder tilføjes. Dette kan give handicappede anvendelser mulighed for at styre robotten med en anden del af deres krop.
Anbefalede:
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Arduino Halloween Edition - Pop -out -skærm med zombier (trin med billeder): 6 trin
Arduino Halloween Edition - Zombies Pop -out -skærm (trin med billeder): Vil du skræmme dine venner og lave skrigende støj i Halloween? Eller vil du bare lave en god sjov? Denne pop-out-skærm fra Zombies kan gøre det! I denne Instructable vil jeg lære dig, hvordan du nemt laver jump-out zombier ved hjælp af Arduino. HC-SR0
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores