Satura rādītājs:

WiBot: 10 soļi (ar attēliem)
WiBot: 10 soļi (ar attēliem)

Video: WiBot: 10 soļi (ar attēliem)

Video: WiBot: 10 soļi (ar attēliem)
Video: Eazy-E - Real Muthaphuckkin G's (Music Video) 2024, Novembris
Anonim
WiBot
WiBot

Šajā pamācībā ir sīki aprakstīts Wi-Fi robota izveides process ZYBO platformā. Šis projekts izmanto reāllaika operētājsistēmu objektu noteikšanai, attāluma mērīšanai un reaģējošai vadībai. Šajā rokasgrāmatā tiks apskatīta ZYBO saskarne ar perifērijas ierīcēm, pielāgotas programmaparatūras palaišana un saziņa, izmantojot Java lietojumprogrammu. Tālāk ir uzskaitītas visas šim projektam nepieciešamās galvenās sastāvdaļas:

  • 1 ZYBO attīstības padome
  • 1 TL-WR802N bezvadu maršrutētājs
  • 1 ēnu šasija
  • 2 65 mm riteņi
  • 2 140 apgr./min reduktori
  • 2 riteņu kodētāji
  • 1 HC-SR04 ultraskaņas sensors
  • 1 BSS138 loģikas līmeņa pārveidotājs
  • 1 L293 H-tilta motora vadītājs
  • 1 12V līdz 5V DC/DC pārveidotājs
  • 1 2200mAh LiPo akumulators
  • 1 Ethernet kabelis
  • 1 USB Micro-B kabelis
  • 1 sieviešu XT60 savienotājs
  • 2 džemperu vadi no vīriešiem līdz sievietēm
  • 30 vadi no vīrieša līdz vīrietim
  • 2 10 kΩ rezistori
  • 1 Maizes dēlis

Turklāt mērķa datorā ir jāinstalē šāda programmatūra:

  • Xilinx Vivado dizaina komplekts 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE izstrādes komplekts 8.191

1. darbība: samontējiet robota šasiju

Salieciet robotu šasiju
Salieciet robotu šasiju
Salieciet robotu šasiju
Salieciet robotu šasiju
Salieciet robotu šasiju
Salieciet robotu šasiju

Salieciet ēnu šasiju un piestipriniet reduktorus un kodētājus pie apakšējā rāmja. ZYBO, maizes dēli un ultraskaņas sensoru var uzstādīt ar komplektā ietilpstošajām detaļām, kuras var izdrukāt 3D formātā un piestiprināt pie šasijas, izmantojot atdalītājus un abpusēju lenti. Akumulators jāuzstāda robota aizmugures tuvumā un vēlams starp augšpusi un apakšējie rāmji. Uzstādiet maršrutētāju tuvu ZYBO un līdzstrāvas/līdzstrāvas pārveidotāju netālu no maizes dēļa. Piestipriniet riteņus pie reduktoriem pašās beigās.

2. darbība: vadu elektronika

Vadu elektronika
Vadu elektronika
Vadu elektronika
Vadu elektronika
Vadu elektronika
Vadu elektronika

Pievienojiet līdzstrāvas/līdzstrāvas pārveidotāja ieeju un izeju attiecīgi divām maizes dēļa barošanas sliedēm. Tie kalpos kā sistēmas 12V un 5V barošanas avoti. Pievienojiet ZYBO 5V sliedei, kā parādīts attēlā. Izmantojiet USB Micro-B barošanas kabeli, lai arī savienotu maršrutētāju ar 5V sliedi. Kabelis XT60 jāpiestiprina pie 12V sliedes. Nepievienojiet akumulatoru, kamēr pārējā elektronika nav pareizi pievienota vadiem. Ultraskaņas sensoram jābūt pieslēgtam pie 5V sliedes. Izveidojiet 3.3V sliedi uz maizes dēļa, izmantojot ZYBO Pmod porta JC 6. tapu. Loģiskā pārveidotāja augstsprieguma ieejai jābūt pieslēgtai pie 5V sliedes, savukārt loģiskā pārveidotāja zemsprieguma ieejai jābūt pieslēgtai pie 3.3V sliedes. Pievienojiet motora kodētājus pie 3.3V sliedes. Pievienojiet motora vadītāja VCC1 5V sliedei un pievienojiet VCC2 12V sliedei. Piesaistiet visas EN tapas pie 5 V un iezemējiet visas GND tapas.

Pievienojiet ultraskaņas sensora TRIG un ECHO tapas attiecīgi loģiskā pārveidotāja HV1 un HV2. LV1 jāpievieno JC4, bet LV2 - JC3. Pmod pinouts skatiet diagrammā. Pievienojiet motorus motora vadītājam. Y1 jāpievieno labā motora pozitīvajam spailim, bet Y2 - labā motora negatīvajam spailim. Līdzīgi Y3 jāpievieno kreisā motora pozitīvajam spailim, bet Y4 - kreisā motora negatīvajam spailim. A1, A2, A3 un A4 ir attiecīgi jāattēlo uz JB2, JB1, JB4 un JB3. Pin numurus skatiet shēmā. Pievienojiet JC2 labajam kodētājam un JC1 kreisajam kodētājam. Pārliecinieties, ka tiek izmantoti pievilkšanas rezistori, lai šos signālus savienotu ar 3.3V sliedi. Nepatīkami, izmantojiet Ethernet kabeli, lai savienotu ZYBO ar maršrutētāju.

3. darbība: izveidojiet bloka diagrammu programmā Vivado

Izveidojiet bloka diagrammu Vivado
Izveidojiet bloka diagrammu Vivado

Izveidojiet jaunu RTL projektu Vivado. Noteikti nenorādiet nevienu avotu. Meklējiet "xc7z010clg400-1" un nospiediet pabeigt. Lejupielādējiet encoder_driver.sv un ultrasonic_driver.sv. Ievietojiet tos savās mapēs. Atveriet IP pakotāju sadaļā "Rīki" un izvēlieties iesaiņot norādīto direktoriju. Ielīmējiet ceļu uz mapi, kurā atrodas kodētāja draiveris, un nospiediet "Tālāk". Noklikšķiniet uz "pakotnes IP" un atkārtojiet ultraskaņas sensora draivera darbības. Pēc tam iestatījumu izvēlnē dodieties uz krātuves pārvaldnieku IP apakšsadaļā. Pievienojiet ceļus draivera mapēm un nospiediet Lietot, lai tos iekļautu IP bibliotēkā.

Izveidojiet jaunu blokshēmu un pievienojiet "ZYNQ7 apstrādes sistēmu". Veiciet dubultklikšķi uz bloka un importējiet piedāvāto ZYBO_zynq_def.xml failu. Sadaļā "MIO konfigurācija" iespējojiet taimeri 0 un GPIO MIO. nospiediet "OK", lai saglabātu konfigurāciju. Pievienojiet 3 blokus "AXI GPIO" un 4 blokus "AXI taimeris". Palaidiet bloka automatizāciju, kam seko savienojuma automatizācija S_AXI. Veiciet dubultklikšķi uz GPIO blokiem, lai tos konfigurētu. Vienam blokam jābūt divkanālu ar 4 bitu ieeju un 4 bitu izeju. Padariet šos savienojumus ārējus un atzīmējiet tos SW ievadam un LED izvadam. Otrajam blokam jābūt arī divkanālu ar 2 32 bitu ieejām. Pēdējais GPIO bloks būs viena 32 bitu ievade. Padariet pwm0 izvadi no katra taimera bloka ārēju. Iezīmējiet tos kā PWM0, PWM1, PWM2 un PWM3.

Pievienojiet kodētāja draiveri blokshēmai un savienojiet CLK ar FCLK_CLK0. Pievienojiet OD0 un OD1 otrā GPIO bloka ievades kanāliem. Padariet ENC ārēju un pārdēvējiet ENC_0 par ENC. Pievienojiet ultraskaņas sensoru bloku un savienojiet CLK ar FCLK_CLK0. Padariet TRIG un ECHO ārēju un pārdēvējiet TRIG_0 par TRIG un ECHO_0 uz ECHO. Pievienojiet RF trešajam GPIO blokam. Atsaucei skatiet pievienoto blokshēmu.

Ar peles labo pogu noklikšķiniet uz bloka diagrammas faila avotu rūtī un izveidojiet HDL iesaiņojumu. Noteikti atļaujiet lietotāja labojumus. Pievienojiet pievienoto ZYBO_Master.xdc failu kā ierobežojumu. Noklikšķiniet uz "Ģenerēt bitu plūsmu" un paņemiet kafijas pauzi.

4. solis: iestatiet programmatūras izstrādes vidi

Atveriet sadaļu “Fails”, lai eksportētu aparatūru uz Vivado SDK. Noteikti iekļaujiet bitu plūsmu. Importējiet RTOSDemo projektu "CORTEX_A9_Zynq_ZC702". Tas atradīsies FreeRTOS instalācijas direktorijā. Izveidojiet jaunu valdes atbalsta pakotni, atlasiet bibliotēku lwip202. Nomainiet atsauces BSP projektā RTOSDemo uz tikko izveidoto BSP*.

*Rakstot šo pamācību, šķiet, ka FreeRTOS ir kļūda ar atsauci uz pareizo BSP. Lai to novērstu, izveidojiet jaunu BSP ar tādiem pašiem iestatījumiem kā pirmais. Nomainiet atsauces BSP uz jauno un pēc tam mainiet to atpakaļ uz veco, kad tas neizdodas izveidot. FreeRTOS tagad vajadzētu apkopot bez kļūdām. Jūtieties brīvi izdzēst neizmantoto BSP.

5. darbība: modificējiet demonstrācijas programmu

RTOSDemo direktorijā "src" izveidojiet jaunu mapi ar nosaukumu "draiveri". Kopējiet sniegto gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h un motor.c faili "draiveru" direktorijā.

Atveriet main.c un iestatiet mainSELECTED_APPLICATION uz 2. Aizstājiet main_lwIP.c sadaļā "lwIP_Demo" ar atjaunināto versiju. BasicSocketCommandServer.c sadaļā "lwIP_Demo/apps/BasicSocketCommandServer" arī ir jāatjaunina ar jaunu versiju. Pēdējā laikā dodieties uz "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" un nomainiet parauga-CLI-komandas.c ar piedāvāto versiju. Izveidojiet projektu un pārliecinieties, ka viss ir veiksmīgi apkopots.

6. solis: Flash programmaparatūras atjaunināšana uz QSPI

Flash programmaparatūra uz QSPI
Flash programmaparatūra uz QSPI
Flash programmaparatūra uz QSPI
Flash programmaparatūra uz QSPI
Flash programmaparatūra uz QSPI
Flash programmaparatūra uz QSPI

Izveidojiet jaunu lietojumprogrammu projektu ar nosaukumu "FSBL", izmantojot veidni "Zynq FSBL". Pēc FSBL projekta apkopošanas izveidojiet RTOSDemo projekta sāknēšanas attēlu. Pārliecinieties, ka sadaļā "Boot image partitions" kā sāknēšanas ielādētājs ir atlasīts "FSBL/Debug/FSBL.elf". Manuāli pievienojiet ceļu šim failam, ja tas nav norādīts.

Pārvietojiet JPY džemperi uz ZYBO uz "JTAG". Lai savienotu datoru ar ZYBO, izmantojiet USB Micro-B kabeli. Pievienojiet akumulatoru un ieslēdziet ZYBO. Palaidiet Adept, lai pārliecinātos, ka dators ir pareizi identificējis ZYBO. Noklikšķiniet uz "Program Flash" Vivado SDK un norādiet ceļus uz BOOT.bin failu RTOSDemo un FSBL.elf failu FSBL. Pirms noklikšķināt uz "Programma", noteikti izvēlieties "Pārbaudīt pēc zibspuldzes". Skatieties konsoli, lai pārliecinātos, ka mirgošanas darbība ir veiksmīgi pabeigta. Pēc tam izslēdziet ZYBO un atvienojiet USB kabeli. Pārvietojiet JP5 džemperi uz "QSPI".

7. darbība: konfigurējiet bezvadu piekļuves punktu

Kad akumulators joprojām ir pievienots, izveidojiet savienojumu ar maršrutētāja Wi-Fi tīklu. Noklusējuma SSID un parolei jābūt maršrutētāja apakšā. Pēc tam dodieties uz vietni https://tplinkwifi.net un piesakieties, izmantojot lietotājvārdu un paroli, izmantojot "admin". Palaidiet ātrās iestatīšanas vedni, lai konfigurētu maršrutētāju piekļuves punkta režīmā ar iespējotu DHCP. Noteikti atjauniniet arī ierīces noklusējuma lietotājvārdu un paroli. Kad esat pabeidzis, maršrutētājam automātiski jāpārstartē piekļuves punkta režīmā.

Ieslēdziet ZYBO un izveidojiet savienojumu ar maršrutētāju, izmantojot jūsu piešķirto SSID. Maršrutētājs, visticamāk, parādīsies vai nu IP adresē 192.168.0.100, vai 192.160.0.101. ZYBO tiks piešķirta neatkarīgi no adreses, kas nav maršrutētājam. Lai ātri noteiktu maršrutētāja IP adresi, varat palaist "ipconfig" no komandrindas logos vai "ifconfig" no termināļa Linux vai MacOS. Ja joprojām esat izveidojis savienojumu ar maršrutētāju, blakus bezvadu interfeisam tiks parādīta tā IP adrese. Izmantojiet šo informāciju, lai noteiktu ZYBO IP adresi. Lai apstiprinātu ZYBO IP adresi, varat to pingēt no komandrindas vai izveidot savienojumu ar to, izmantojot telnet.

8. solis: palaidiet Java programmu

Palaidiet Java programmu
Palaidiet Java programmu

Lejupielādējiet RobotClient.java un apkopojiet failu, izmantojot komandrindas komandu "javac RobotClient.java". Palaidiet komandu "java RobotClient", kur "ip_address" ir ZYBO IP adrese. Vadības GUI tiks parādīts, ja starp datoru un ZYBO ir izveidots veiksmīgs savienojums. Pēc loga fokusēšanas robotu vajadzētu vadīt, izmantojot tastatūras bulttaustiņus. Nospiediet evakuācijas pogu, lai beigtu sesiju un atvienotos no robota.

GUI iezīmēs nospiestos taustiņus un augšējā labajā stūrī parādīs motora jaudu. Attāluma mērītājs kreisajā pusē aizpilda joslu ik pēc 2 metriem līdz maksimāli 10 metriem.

9. darbība. Kalibrējiet attāluma meklētāju

ZYBO slēdžus var izmantot, lai konfigurētu borta tālmēru. Minimālais noteikšanas attālums d ir norādīts kā slēdža ieejas i funkcija:

d = 50i + 250

Ievades vērtība var mainīties no 0 līdz 15 ar veselu skaitli. Tas nozīmē attāluma diapazonu no 0,25 metriem līdz 1 metram. Pēc minimālā attāluma pirmā gaismas diode sāks mirgot. Aktīvo gaismas diožu skaits ir proporcionāls objekta tuvumam.

10. darbība. Pieejamība

Šis robots ir ļoti viegli pieejams. Vadības vienkāršības dēļ to var pilnībā kontrolēt tikai ar vienu pirkstu. Lai uzlabotu pieejamību, varētu pievienot atbalstu papildu ievades ierīcēm. Tas ļautu cilvēkiem ar invaliditāti kontrolēt robotu ar citu ķermeņa daļu.

Ieteicams: