INHOUDSOPGAWE:

WiBot: 10 stappe (met foto's)
WiBot: 10 stappe (met foto's)

Video: WiBot: 10 stappe (met foto's)

Video: WiBot: 10 stappe (met foto's)
Video: (siaran ulang TVRI)Rabu 15April2020 Sahabat Pelangi kelas 1-3 SD| 2024, September
Anonim
WiBot
WiBot

Hierdie instruksies beskryf die proses vir die bou van 'n Wi-Fi-robot op die ZYBO-platform. Hierdie projek gebruik 'n intydse bedryfstelsel vir voorwerpopsporing, afstandmeting en responsiewe beheer. Hierdie gids dek die koppelvlak van die ZYBO met randapparatuur, die gebruik van persoonlike firmware en kommunikasie via Java -toepassing. Die volgende is 'n lys van al die belangrikste komponente wat vir hierdie projek benodig word:

  • 1 ZYBO -ontwikkelingsraad
  • 1 TL-WR802N draadlose router
  • 1 skaduwee onderstel
  • 2 wiele van 65 mm
  • 2 140 rpm ratmotors
  • 2 wiel encoders
  • 1 Ultrasoniese sensor vir HC-SR04
  • 1 BSS138 Logic Level Converter
  • 1 L293 H-Bridge motorbestuurder
  • 1 12V tot 5V DC/DC -omskakelaar
  • 1 LiPo -battery van 2200 mAh
  • 1 Ethernet -kabel
  • 1 USB-mikro-B-kabel
  • 1 vroulike XT60 -aansluiting
  • 2 Man-tot-vroulike springdrade
  • 30 Man-tot-man trui
  • 2 10kΩ weerstande
  • 1 Broodbord

Boonop moet die volgende sagteware op die doelrekenaar geïnstalleer word:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • Gratis RTOS 10.1.1
  • Java SE -ontwikkelingsstel 8.191

Stap 1: Monteer die robot -onderstel

Monteer robot onderstel
Monteer robot onderstel
Monteer robot onderstel
Monteer robot onderstel
Monteer robot onderstel
Monteer robot onderstel

Monteer die skaduwee onderstel en bevestig die ratmotors en encoders aan die onderkant. Die ZYBO-, broodbord- en ultrasoniese sensor kan gemonteer word met die meegeleverde onderdele wat 3D-gedruk en aan die onderstel vasgemaak kan word met behulp van afstande en dubbelzijdige band. Die battery moet naby die agterkant van die robot gemonteer word, verkieslik tussen die bokant en die onderste rame. Monteer die router naby die ZYBO en die DC/DC -omskakelaar naby die broodbord. Maak die wiele aan die einde aan die ratmotors vas.

Stap 2: Draadelektronika

Draadelektronika
Draadelektronika
Draadelektronika
Draadelektronika
Draadelektronika
Draadelektronika

Koppel die in- en uitset van die DC/DC -omskakelaar onderskeidelik aan die twee kragrails op die broodbord. Dit sal dien as die 12V- en 5V -voorraad vir die stelsel. Koppel die ZYBO aan die 5V -rail soos op die foto getoon. Gebruik 'n USB Micro-B-toevoerkabel om die router ook aan die 5V-spoor te koppel. Die XT60 -kabel moet aan die 12V -spoor geheg word. Sluit die battery nie aan totdat die res van die elektronika korrek bedraad is nie. Die ultrasoniese sensor moet aan die 5V -spoor gekoppel word. Skep 'n 3.3V -spoor op die broodbord met behulp van pen 6 van Pmod -poort JC op die ZYBO. Die hoogspanningsingang van die logika -omskakelaar moet aan die 5V -spoor gekoppel word, terwyl die laagspanningsingang van die logika -omskakelaar aan die 3.3V -spoor gekoppel moet word. Draai die motorkoders aan die 3.3V -spoor. Koppel VCC1 van die motorbestuurder aan die 5V -rail en koppel VCC2 aan die 12V -rail. Bind alle EN -penne aan 5V vas en maak alle GND -penne fyn.

Koppel die TRIG- en ECHO -penne van die ultrasoniese sensor onderskeidelik aan HV1 en HV2 van die logiese omskakelaar. LV1 moet aan JC4 gekoppel wees en LV2 aan JC3. Raadpleeg die grafiek vir Pmod pinouts. Koppel die motors aan die motorbestuurder. Y1 moet aan die positiewe aansluiting van die regtermotor gekoppel word en Y2 aan die negatiewe aansluiting van die regtermotor. Net so moet Y3 aan die positiewe aansluiting van die linkermotor gekoppel word en Y4 aan die negatiewe aansluiting van die linkermotor. A1, A2, A3 en A4 moet onderskeidelik op JB2, JB1, JB4 en JB3 gekarteer word. Verwys na die skema vir speldnommers. Draai JC2 na die regter encoder en JC1 na die linker encoder. Maak seker dat trekweerstands gebruik word om hierdie seine aan die 3.3V-spoor te koppel. Gebruik laastens die ethernetkabel om die ZYBO aan die router te koppel.

Stap 3: Skep 'n blokdiagram in Vivado

Skep 'n blokdiagram in Vivado
Skep 'n blokdiagram in Vivado

Skep 'n nuwe RTL -projek in Vivado. Maak seker dat u op die oomblik geen bronne spesifiseer nie. Soek vir "xc7z010clg400-1" en druk op finish. Laai encoder_driver.sv en ultrasonic_driver.sv af. Plaas dit in hul eie vouers. Open die IP Packager onder "Tools" en kies om 'n gespesifiseerde gids te verpak. Plak die pad na die gids met die encoder driver en druk "Next". Klik op "pakket IP" en herhaal die prosesse vir die ultrasoniese sensorbestuurder. Gaan daarna na die bewaarplekbestuurder onder die IP -onderafdeling in die instellingsmenu. Voeg die paaie by die bestuurdervouers en klik op Apply om dit in die IP -biblioteek op te neem.

Skep 'n nuwe blokdiagram en voeg die "ZYNQ7 Processing System" by. Dubbelklik op die blok en voer die ZYBO_zynq_def.xml-lêer in. Skakel Timer 0 en GPIO MIO in onder "MIO -konfigurasie". druk "OK" om die konfigurasie te stoor. Voeg 3 "AXI GPIO" blokke en 4 "AXI Timer" blokke by. Begin blokoutomatisering, gevolg deur outomatiese verbinding vir S_AXI. Dubbelklik op die GPIO -blokke om dit op te stel. Een blok moet 'n tweekanaal wees met 'n 4-bis-invoer en 'n 4-bis-uitvoer. Maak hierdie verbindings ekstern en merk hulle SW vir invoer en LED vir uitvoer. Die tweede blok moet ook 'n tweekanaal wees met 2 32-bis insette. Die laaste GPIO-blok sal 'n enkele 32-bis-invoer wees. Maak die pwm0 -uitset van elke timerblok ekstern. Benoem hulle PWM0, PWM1, PWM2 en PWM3.

Voeg die encoder -bestuurder by die blokdiagram en verbind CLK met FCLK_CLK0. Koppel OD0 en OD1 aan die ingangskanale van die tweede GPIO -blok. Maak ENC ekstern en hernoem ENC_0 na ENC. Voeg die ultrasoniese sensorblok by en koppel CLK aan FCLK_CLK0. Maak TRIG en ECHO ekstern en hernoem TRIG_0 na TRIG en ECHO_0 na ECHO. Koppel RF aan die derde GPIO -blok. Verwys na die meegeleverde blokdiagram vir verwysing.

Klik met die rechtermuisknop op u blokdiagramlêer in die bronne -paneel en skep 'n HDL -omslag. Laat gebruikersbewerkings toe. Voeg die verskafde ZYBO_Master.xdc -lêer as 'n beperking by. Druk 'Generate Bitstream' en neem 'n koffiepauze.

Stap 4: Stel sagteware -ontwikkelingsomgewing op

Gaan onder "File" om hardeware na die Vivado SDK uit te voer. Maak seker dat u die bitstroom insluit. Voer die RTOSDemo -projek binne die "CORTEX_A9_Zynq_ZC702" in. Dit sal geleë wees in die FreeRTOS installasie gids. Skep 'n nuwe raadsondersteuningspakket, kies die lwip202 -biblioteek. Verander die BSP waarna verwys word in die RTOSDemo -projek na die BSP wat u so pas geskep het*.

*Ten tyde van die skryf van hierdie instruksie, lyk dit of FreeRTOS 'n fout het met die verwysing na die korrekte BSP. Om dit reg te stel, skep 'n nuwe BSP met dieselfde instellings as die eerste. Verander die BSP waarna verwys word na die nuwe en verander dit dan na die ou nadat dit nie gebou is nie. FreeRTOS moet nou sonder foute saamstel. Vee die ongebruikte BSP uit.

Stap 5: Pas die demonstrasieprogram aan

Skep 'n nuwe gids genaamd "bestuurders" onder die "src" -gids van RTOSDemo. Kopieer die verskafde gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h en motor.c lêers in die gids "bestuurders".

Maak main.c oop en stel mainSELECTED_APPLICATION op 2. Vervang main_lwIP.c onder "lwIP_Demo" met die opgedateerde weergawe. BasicSocketCommandServer.c onder "lwIP_Demo/apps/BasicSocketCommandServer" moet ook opgedateer word met 'n nuwe weergawe. Gaan laastens na "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" en vervang Sample-CLI-commands.c met die weergawe wat verskaf word. Bou die projek en sorg dat alles suksesvol saamgestel word.

Stap 6: Flits firmware na QSPI

Flash -firmware na QSPI
Flash -firmware na QSPI
Flash -firmware na QSPI
Flash -firmware na QSPI
Flash -firmware na QSPI
Flash -firmware na QSPI

Skep 'n nuwe toepassingsprojek genaamd "FSBL" met behulp van die "Zynq FSBL" -sjabloon. Nadat u die FSBL -projek saamgestel het, kan u 'n selfbeeld van die RTOSDemo -projek skep. Maak seker dat "FSBL/Debug/FSBL.elf" gekies is as die selflaaiprogram onder "Boot image partitions". Voeg die pad handmatig by hierdie lêer as dit nie gelys word nie.

Beweeg die JP5 -trui op die ZYBO na "JTAG". Gebruik 'n USB Micro-B-kabel om u rekenaar aan die ZYBO te koppel. Koppel die battery aan en skakel die ZYBO aan. Begin Adept om seker te maak dat die ZYBO korrek deur die rekenaar geïdentifiseer is. Klik op "Program Flash" in die Vivado SDK en gee die paaie na die BOOT.bin -lêer in RTOSDemo en die FSBL.elf -lêer in FSBL. Kies 'Verifieer na flits' voordat u 'Program' druk. Kyk na die konsole om te verseker dat die flits suksesvol afgehandel is. Skakel daarna die ZYBO uit en ontkoppel die USB -kabel. Beweeg die JP5 -trui na "QSPI".

Stap 7: Stel die draadlose toegangspunt op

Verbind die battery met die Wi-Fi-netwerk van die router terwyl die battery nog steeds verbind is. Die standaard SSID en wagwoord moet onderaan die router wees. Gaan daarna na https://tplinkwifi.net en meld aan met 'admin' vir die gebruikersnaam en wagwoord. Begin die vinnige opstellingsassistent om die router in die toegangspuntmodus op te stel met DHCP aangeskakel. Maak seker dat u ook die standaard gebruikersnaam en wagwoord vir die toestel opdateer. Die router moet outomaties herlaai na die toegangspuntmodus nadat u klaar is.

Skakel die ZYBO aan en maak verbinding met die router met behulp van die SSID wat u toegeken het. Die router sal waarskynlik op die IP -adres 192.168.0.100 of 192.160.0.101 verskyn. Die ZYBO kry die adres wat die router nie het nie. Om die IP -adres van die router vinnig te bepaal, kan u 'ipconfig' vanaf die opdragprompt in Windows of 'ifconfig' vanaf die terminale in Linux of MacOS uitvoer. As u nog steeds aan die router gekoppel is, sal u IP -adres langs u draadlose koppelvlak verskyn. Gebruik hierdie inligting om die IP -adres van die ZYBO te bepaal. Om die IP -adres van die ZYBO te bevestig, kan u dit vanaf die opdragreël ping of dit via telnet aanskakel.

Stap 8: Begin Java -program

Begin Java -program
Begin Java -program

Laai RobotClient.java af en stel die lêer saam met die opdrag "javac RobotClient.java" vanaf die opdragreël. Voer die opdrag "java RobotClient" uit waar "ip_address" die IP -adres van die ZYBO is. Die beheer -GUI sal verskyn as 'n suksesvolle verbinding tussen die rekenaar en die ZYBO tot stand kom. Nadat die venster gefokus is, moet die robot beheerbaar wees met behulp van die pyltjie sleutels op die sleutelbord. Druk op die ontsnappingsknoppie om die sessie te beëindig en van die robot af te skakel.

Die GUI sal die sleutels wat ingedruk word, uitlig en die motoruitset regs bo wys. Die afstandmeter aan die linkerkant vul elke 2 meter 'n balk tot 'n maksimum van 10 meter.

Stap 9: Kalibreer afstandmeter

Die skakelaars aan boord van die ZYBO kan gebruik word om die afstandsmeter aan boord op te stel. Die minimum opsporingsafstand d word gegee as 'n funksie van die skakelaarinvoer i:

d = 50i + 250

Die invoer kan wissel tussen 0 tot 15 in heelgetalstappe. Dit beteken 'n afstand van 0,25 tot 1 meter. Op die minimum afstand sal die eerste LED begin flikker. Die aantal LED's wat aktief is, is eweredig aan die nabyheid van die voorwerp.

Stap 10: Toeganklikheid

Hierdie robot is baie maklik toeganklik. Vanweë die eenvoud van die beheer, kan dit volledig met net een vinger beheer word. Om toeganklikheid te verbeter, kan ondersteuning vir ekstra invoertoestelle bygevoeg word. Hierdeur kan gestremde gebruike die robot met 'n ander deel van hul liggaam beheer.

Aanbeveel: