Sisukord:

WiBot: 10 sammu (piltidega)
WiBot: 10 sammu (piltidega)

Video: WiBot: 10 sammu (piltidega)

Video: WiBot: 10 sammu (piltidega)
Video: Kuidas voltida paberlindu? 2024, September
Anonim
WiBot
WiBot

See juhend annab üksikasjaliku ülevaate ZYBO platvormile Wi-Fi-roboti loomise protsessist. See projekt kasutab reaalajas operatsioonisüsteemi objektide tuvastamiseks, kauguse mõõtmiseks ja reageerimiseks. See juhend hõlmab ZYBO ühendamist välisseadmetega, kohandatud püsivara käitamist ja Java -rakenduse kaudu suhtlemist. Allpool on loetletud kõik selle projekti jaoks vajalikud põhikomponendid:

  • 1 ZYBO arendusnõukogu
  • 1 traadita ruuter TL-WR802N
  • 1 Varikatus
  • 2 65 mm ratast
  • 2 140 p / min reduktorit
  • 2 ratta kodeerijat
  • 1 ultraheli HC-SR04
  • 1 BSS138 loogika taseme muundur
  • 1 L293 H-silla mootorijuht
  • 1 12V kuni 5V DC/DC muundur
  • 1 2200mAh LiPo aku
  • 1 Etherneti kaabel
  • 1 USB Micro-B kaabel
  • 1 naissoost XT60 pistik
  • 2 meessoost naissoost juhtmestikku
  • 30 meessoost mehele džemprijuhet
  • 2 10 kΩ takisti
  • 1 Leivalaud

Lisaks tuleb sihtarvutisse installida järgmine tarkvara:

  • Xilinx Vivado disainikomplekt 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE arenduskomplekt 8.191

Samm: pange kokku robotraam

Pange kokku robotraam
Pange kokku robotraam
Pange kokku robotraam
Pange kokku robotraam
Pange kokku robotraam
Pange kokku robotraam

Pange variraam kokku ja kinnitage reduktorid ja kodeerijad alumise raami külge. ZYBO, leivaplaadi ja ultraheli anduri saab paigaldada kaasasolevate osadega, mida saab 3D-printida ja kinnitada korpusele, kasutades eraldusjooni ja kahepoolset teipi. Aku tuleb paigaldada roboti tagaosa lähedale ja eelistatavalt ülaosa ja alumised raamid. Paigaldage ruuter ZYBO lähedale ja DC/DC muundur leivaplaadi lähedale. Kinnitage rattad käigumootorite külge kõige lõpus.

2. samm: juhtmeelektroonika

Juhtmeelektroonika
Juhtmeelektroonika
Juhtmeelektroonika
Juhtmeelektroonika
Juhtmeelektroonika
Juhtmeelektroonika

Ühendage alalisvoolu/alalisvoolu muunduri sisend ja väljund vastavalt kahe leivaplaadil oleva toitesiini külge. Need toimivad süsteemi 12V ja 5V toiteallikana. Ühendage ZYBO 5V rööpaga, nagu pildil näidatud. Ühendage ruuter 5V rööpaga ka USB Micro-B toitekaabli abil. XT60 kaabel tuleb kinnitada 12 V rööpa külge. Ärge ühendage akut enne, kui ülejäänud elektroonika on korralikult ühendatud. Ultraheli andur tuleks ühendada 5 V rööpaga. Looge leivaplaadile 3,3 V rööbas, kasutades ZYBO Pmod -pordi JC tihvti 6. Loogikamuunduri kõrgepinge sisend tuleks ühendada 5 V rööpaga, loogikamuunduri madalpinge sisend aga 3,3 V rööpaga. Ühendage mootori kodeerijad 3,3 V rööpaga. Ühendage mootorijuhi VCC1 5V rööpaga ja ühendage VCC2 12V rööpaga. Siduge kõik EN -tihvtid 5 V külge ja maandage kõik GND -tihvtid.

Ühendage ultrahelianduri TRIG- ja ECHO -tihvtid vastavalt loogikamuunduri HV1 ja HV2 -ga. LV1 tuleks ühendada JC4 ja LV2 juhtmega JC3. Pmod pistikute leidmiseks vaadake diagrammi. Ühendage mootorid mootorijuhiga. Y1 tuleks ühendada parema mootori positiivse klemmiga ja Y2 parempoolse mootori negatiivse klemmiga. Samamoodi tuleks Y3 ühendada vasaku mootori positiivse klemmiga ja Y4 vasaku mootori negatiivse klemmiga. A1, A2, A3 ja A4 tuleks kaardistada vastavalt JB2, JB1, JB4 ja JB3. Pin -numbrite kohta vaadake skeemi. Ühendage JC2 parema kodeerijaga ja JC1 vasakpoolse kodeerijaga. Veenduge, et nende signaalide sidumiseks 3,3 V rööpaga kasutatakse tõmbetakistusi. Viimasel juhul kasutage ZYBO ruuteriga ühendamiseks Etherneti kaablit.

Samm: looge plokkskeem Vivados

Looge plokkskeem Vivados
Looge plokkskeem Vivados

Looge Vivados uus RTL -projekt. Veenduge, et te ei täpsustaks praegu ühtegi allikat. Otsige "xc7z010clg400-1" ja klõpsake nuppu Lõpeta. Laadige alla kooder_driver.sv ja ultrasonic_driver.sv. Asetage need oma kaustadesse. Avage IP Packager jaotises "Tools" ja valige pakendatud kataloog. Kleepige tee kodeerimisdraiverit sisaldavasse kausta ja klõpsake nuppu "Järgmine". Klõpsake "paketi IP" ja korrake ultraheli anduri draiveri jaoks vajalikke toiminguid. Seejärel navigeerige seadete menüü IP -alajaotisesse hoidlahaldurisse. Lisage teed draiverikaustadesse ja klõpsake nuppu Rakenda, et need IP -teeki lisada.

Looge uus plokkskeem ja lisage töötlemissüsteem "ZYNQ7". Topeltklõpsake plokki ja importige pakutav fail ZYBO_zynq_def.xml. Luba jaotises "MIO konfiguratsioon" taimer 0 ja GPIO MIO. klõpsake konfiguratsiooni salvestamiseks nuppu "OK". Lisage 3 "AXI GPIO" ja 4 "AXI Timer" plokki. Käivitage plokkide automaatika, millele järgneb ühenduse automatiseerimine S_AXI jaoks. Nende konfigureerimiseks topeltklõpsake GPIO plokke. Üks plokk peaks olema kahe kanaliga, millel on 4-bitine sisend ja 4-bitine väljund. Tehke need ühendused välised ja märkige need sisendiks SW ja väljundiks LED. Teine plokk peaks olema ka kahe kanaliga, millel on 2 32-bitist sisendit. Viimane GPIO plokk on üks 32-bitine sisend. Muutke iga taimeriploki väljund pwm0 väliseks. Märgistage need PWM0, PWM1, PWM2 ja PWM3.

Lisage plokkskeemile kodeerija draiver ja ühendage CLK FCLK_CLK0 -ga. Ühendage OD0 ja OD1 teise GPIO ploki sisendkanalitega. Muutke ENC väliseks ja nimetage ENC_0 ümber ENC -ks. Lisage ultrahelianduri plokk ja ühendage CLK FCLK_CLK0 -ga. Muutke TRIG ja ECHO väliseks ning nimetage TRIG_0 ümber TRIGiks ja ECHO_0 ümber ECHOks. Ühendage RF kolmanda GPIO plokiga. Viitamiseks vaadake lisatud plokkskeemi.

Paremklõpsake paanil Allikad oma plokkskeemi faili ja looge HDL -ümbris. Lubage kasutajal kindlasti muuta. Lisage piiranguna kaasasolev fail ZYBO_Master.xdc. Vajutage "Generate Bitstream" ja tehke kohvipaus.

4. samm: tarkvaraarenduskeskkonna seadistamine

Riistvara eksportimiseks Vivado SDK -sse minge jaotisse „Fail”. Lisage kindlasti bitivoog. Importige RTOSDemo projekt kaustast "CORTEX_A9_Zynq_ZC702". See asub FreeRTOS -i installikataloogis. Looge uus juhatuse tugipakett, valige teek lwip202. Muutke viidatud BSP projektis RTOSDemo äsja loodud BSP -ks*.

*Selle juhendi kirjutamise ajal näib FreeRTOSel olevat viga õigele BSP -le viitamisel. Selle parandamiseks looge uus BSP, millel on samad seaded kui esimesel. Muutke viidatud BSP uueks ja muutke see tagasi vanaks, kui seda ei õnnestu luua. FreeRTOS peaks nüüd kompileerima ilma vigadeta. Kustutage kasutamata BSP julgelt.

Samm: muutke demoprogrammi

Looge RTOSDemo kataloogi "src" all uus kaust nimega "draiverid". Kopeerige pakutav gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h ja motor.c failid kataloogi "drivers".

Avage main.c ja määrake mainSELECTED_APPLICATION väärtuseks 2. Asendage main_lwIP.c jaotises "lwIP_Demo" värskendatud versiooniga. BasicSocketCommandServer.c jaotises "lwIP_Demo/apps/BasicSocketCommandServer" tuleb samuti uuendada uue versiooniga. Viivitamatult liikuge jaotisse "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" ja asendage Sample-CLI-commands.c kaasasoleva versiooniga. Koostage projekt ja veenduge, et kõik kompileerub edukalt.

Samm: välkmälu püsivara QSPI -le

Flash püsivara QSPI -le
Flash püsivara QSPI -le
Flash püsivara QSPI -le
Flash püsivara QSPI -le
Flash püsivara QSPI -le
Flash püsivara QSPI -le

Looge uus rakendusprojekt nimega "FSBL", kasutades malli "Zynq FSBL". Pärast FSBL projekti koostamist looge RTOSDemo projekti alglaadimispilt. Veenduge, et jaotises "Boot image partitions" oleks alglaadijaks valitud "FSBL/Debug/FSBL.elf". Lisage selle faili tee käsitsi, kui seda pole loendis.

Liigutage ZYBO JP5 hüppaja asendisse "JTAG". Ühendage arvuti ZYBO-ga USB Micro-B kaabli abil. Ühendage aku ja lülitage ZYBO sisse. Käivitage Adept, veendumaks, et arvuti on ZYBO õigesti tuvastanud. Klõpsake Vivado SDK -s "Program Flash" ja sisestage RTOSDemo faili BOOT.bin ja FSBL -i faili FSBL.elf teed. Enne kui vajutate nuppu "Programm", valige kindlasti "Kinnita pärast välklampi". Jälgige konsooli, et vilkuv toiming oleks edukalt lõpule viidud. Seejärel lülitage ZYBO välja ja ühendage USB -kaabel lahti. Liigutage JP5 hüppaja asendisse "QSPI".

Samm: seadistage traadita pääsupunkt

Kui aku on endiselt ühendatud, looge ühendus ruuteri WiFi-võrguga. Vaikimisi SSID ja parool peaksid olema ruuteri allosas. Seejärel liikuge saidile https://tplinkwifi.net ja logige kasutajanime ja parooli saamiseks sisse administraatoriga. Käivitage kiirseadistusviisard, et konfigureerida ruuter pääsupunkti režiimis, kui DHCP on lubatud. Värskendage kindlasti ka seadme vaikenime ja parooli. Pärast lõpetamist peaks ruuter automaatselt taaskäivitama pääsupunkti režiimi.

Lülitage ZYBO sisse ja ühendage ruuteriga, kasutades määratud SSID -d. Ruuter ilmub tõenäoliselt kas IP -aadressile 192.168.0.100 või 192.160.0.101. ZYBO -le määratakse see aadress, mida ruuteril pole. Ruuteri IP -aadressi kiireks määramiseks võite käivitada käsu "ipconfig" Windowsi käsurealt või "ifconfig" terminalist Linuxis või MacOS -is. Kui olete endiselt ruuteriga ühendatud, näete selle IP -aadressi traadita liidese kõrval. Kasutage seda teavet ZYBO IP -aadressi määramiseks. ZYBO IP -aadressi kinnitamiseks võite seda pingida käsurealt või ühendada sellega telneti kaudu.

Samm: käivitage Java programm

Käivitage Java programm
Käivitage Java programm

Laadige alla RobotClient.java ja kompileerige fail käsurealt käsu "javac RobotClient.java" abil. Käivitage käsk "java RobotClient", kus "ip_address" on ZYBO IP -aadress. Juhtimisliides avaneb, kui arvuti ja ZYBO vahel luuakse edukas ühendus. Pärast akna fokuseerimist peaks robot olema klaviatuuri nooleklahvide abil juhitav. Seansi lõpetamiseks ja robotist lahtiühendamiseks vajutage põgenemisnuppu.

GUI tõstab esile vajutatud klahvid ja näitab paremas ülanurgas mootori väljundit. Vasakpoolne kaugusemõõtja täidab riba iga 2 meetri järel kuni maksimaalselt 10 meetrini.

Samm: kalibreerige kaugusmõõtja

ZYBO pardal olevaid lüliteid saab kasutada pardakaugusmõõturi konfigureerimiseks. Minimaalne tuvastuskaugus d on antud lüliti sisendi i funktsioonina:

d = 50i + 250

Sisend võib täisarvulistes sammudes varieeruda vahemikus 0 kuni 15. See tähendab vahemikku 0,25 meetrit kuni 1 meeter. Minimaalse vahemaa tagant hakkab esimene LED vilkuma. Aktiivsete valgusdioodide arv on võrdeline objekti lähedusega.

10. toiming: juurdepääsetavus

See robot on väga kergesti ligipääsetav. Juhtimise lihtsuse tõttu saab seda täielikult juhtida vaid ühe sõrmega. Juurdepääsetavuse parandamiseks võiks lisada täiendavate sisendseadmete toe. See võib võimaldada puuetega inimestel robotit juhtida erineva kehaosaga.

Soovitan: