Obsah:

WiBot: 10 krokov (s obrázkami)
WiBot: 10 krokov (s obrázkami)

Video: WiBot: 10 krokov (s obrázkami)

Video: WiBot: 10 krokov (s obrázkami)
Video: 10 лет в Японии: Что изменилось? Отвечаю на популярные вопросы! 2024, November
Anonim
WiBot
WiBot

Tento návod podrobne popisuje postup pri stavaní robota Wi-Fi na platforme ZYBO. Tento projekt využíva operačný systém v reálnom čase na detekciu objektov, meranie vzdialenosti a citlivé ovládanie. Táto príručka sa bude zaoberať prepojením ZYBO s perifériami, spustením vlastného firmvéru a komunikáciou prostredníctvom aplikácie Java. Nasleduje zoznam všetkých kľúčových komponentov požadovaných pre tento projekt:

  • 1 Vývojová rada ZYBO
  • 1 bezdrôtový smerovač TL-WR802N
  • 1 Shadow Chassis
  • 2 kolieska 65 mm
  • 2 Prevodové motory 140 ot./min
  • 2 kodéry kolies
  • 1 ultrazvukový snímač HC-SR04
  • 1 Konvertor logickej úrovne BSS138
  • 1 Ovládač motora mostíka L293 H-Bridge
  • 1 Menič DC/DC na 12 V až 5 V
  • 1 2200 mAh LiPo batéria
  • 1 ethernetový kábel
  • 1 kábel USB Micro-B
  • 1 ženský konektor XT60
  • 2 prepojovacie vodiče medzi mužom a ženou
  • 30 prepojovacích káblov muž-muž
  • 2 odpory 10 kΩ
  • 1 Breadboard

Na cieľovom počítači musí byť navyše nainštalovaný nasledujúci softvér:

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

Krok 1: Zostavte podvozok robota

Zostavte podvozok robota
Zostavte podvozok robota
Zostavte podvozok robota
Zostavte podvozok robota
Zostavte podvozok robota
Zostavte podvozok robota

Zostavte podvozok tieňa a pripevnite prevodové motory a snímače na spodný rám. ZYBO, nepájivú dosku a ultrazvukový senzor je možné namontovať pomocou dodaných dielov, ktoré je možné 3D vytlačiť a pripevniť k podvozku pomocou stojok a obojstrannej pásky. Batéria by mala byť namontovaná v blízkosti zadnej časti robota, najlepšie medzi hornou a spodné rámy. Router namontujte v blízkosti ZYBO a prevodník DC/DC blízko nepájivej dosky. Na úplnom konci pripevnite kolesá k prevodovým motorom.

Krok 2: Drôtová elektronika

Drôtová elektronika
Drôtová elektronika
Drôtová elektronika
Drôtová elektronika
Drôtová elektronika
Drôtová elektronika

Vstup a výstup prevodníka DC/DC pripojte k dvom napájacím lištám na doske, resp. Budú slúžiť ako napájanie 12V a 5V systému. Pripojte ZYBO k 5V lište, ako je znázornené na obrázku. Router pripojte na 5V lištu aj pomocou napájacieho kábla USB Micro-B. Kábel XT60 by mal byť pripevnený k lište 12V. Nezapájajte batériu, kým nie je zvyšok elektroniky správne zapojený. Ultrazvukový snímač by mal byť zapojený na 5V lištu. Vytvorte lištu 3,3 V na doske pomocou kolíka 6 portu Pmod JC na ZYBO. Vstup vysokého napätia logického prevodníka by mal byť zapojený na koľajnicu 5V, zatiaľ čo vstup nízkeho napätia logického prevodníka by mal byť zapojený na lištu 3,3V. Pripojte kodéry motora k lište 3,3 V. Pripojte VCC1 vodiča motora k 5V lište a pripojte VCC2 k 12V lište. Pripojte všetky kolíky EN na 5 V a uzemnite všetky kolíky GND.

Pripojte kolíky TRIG a ECHO ultrazvukového senzora k HV1 a HV2 logického prevodníka. LV1 by mal byť zapojený do JC4 a LV2 by mal byť zapojený do JC3. Pinouty Pmod nájdete v tabuľke. Pripojte motory k ovládaču motora. Y1 by mal byť pripojený k kladnému pólu pravého motora a Y2 by mal byť pripojený k zápornému pólu pravého motora. Podobne by mal byť Y3 pripojený k kladnému pólu ľavého motora a Y4 by mal byť pripojený k zápornému pólu ľavého motora. A1, A2, A3 a A4 by mali byť mapované do JB2, JB1, JB4 a JB3. Čísla pinov nájdete v schéme. Pripojte JC2 k pravému kodéru a JC1 k ľavému kodéru. Zaistite, aby boli na pripojenie týchto signálov na lištu 3,3 V použité výsuvné odpory. Nakoniec použite ethernetový kábel na pripojenie ZYBO k smerovaču.

Krok 3: Vytvorte blokový diagram vo Vivado

Vytvorte blokový diagram vo Vivado
Vytvorte blokový diagram vo Vivado

Vytvorte nový projekt RTL vo Vivado. V tejto chvíli určite neuvádzajte žiadne zdroje. Vyhľadajte výraz „xc7z010clg400-1“a dokončite ho. Stiahnite si encoder_driver.sv a ultrasonic_driver.sv. Umiestnite ich do vlastných priečinkov. Otvorte IP Packager v časti „Nástroje“a zvoľte zabalenie určeného adresára. Vložte cestu do priečinka obsahujúceho ovládač kodéra a kliknite na „Ďalej“. Kliknite na „balík IP“a zopakujte postupy pre ovládač ultrazvukového senzora. Potom prejdite na správcu úložiska v podsekcii IP v ponuke nastavení. Pridajte cesty do priečinkov ovládačov a kliknutím na tlačidlo Použiť ich zahrňte do knižnice IP.

Vytvorte nový blokový diagram a pridajte „procesorový systém ZYNQ7“. Dvakrát kliknite na blok a importujte poskytnutý súbor ZYBO_zynq_def.xml. V časti „Konfigurácia MIO“povoľte časovač 0 a GPIO MIO. konfiguráciu uložíte kliknutím na „OK“. Pridajte 3 bloky "AXI GPIO" a 4 bloky "AXI Timer". Spustite automatizáciu blokov, po ktorej nasleduje automatizácia pripojenia pre S_AXI. Konfigurujte ich dvojitým kliknutím na bloky GPIO. Jeden blok by mal byť dvojkanálový so 4-bitovým vstupom a 4-bitovým výstupom. Vykonajte tieto pripojenia externé a označte ich SW pre vstup a LED pre výstup. Druhý blok by mal byť tiež dvojkanálový s 2 32-bitovými vstupmi. Posledným blokom GPIO bude jeden 32-bitový vstup. Externý výstup pwm0 z každého bloku časovača. Označte ich PWM0, PWM1, PWM2 a PWM3.

Pridajte ovládač kodéra do blokového diagramu a pripojte CLK k FCLK_CLK0. Pripojte OD0 a OD1 k vstupným kanálom druhého bloku GPIO. Vykonajte externé ENC a premenujte ENC_0 na ENC. Pridajte blok ultrazvukových senzorov a pripojte CLK k FCLK_CLK0. Vytvorte externý TRIG a ECHO a premenujte TRIG_0 na TRIG a ECHO_0 na ECHO. Pripojte RF k tretiemu bloku GPIO. Referenciu nájdete v dodanom blokovom diagrame.

Kliknite pravým tlačidlom myši na súbor blokového diagramu na table Zdroje a vytvorte obálku HDL. Nezabudnite povoliť úpravy používateľov. Pridajte dodaný súbor ZYBO_Master.xdc ako obmedzenie. Kliknite na „Generovať bitstream“a urobte si prestávku na kávu.

Krok 4: Nastavte prostredie pre vývoj softvéru

V časti „Súbor“exportujte hardvér do súpravy Vivado SDK. Nezabudnite zahrnúť bitový tok. Importujte projekt RTOSDemo do súboru „CORTEX_A9_Zynq_ZC702“. Bude umiestnený v inštalačnom adresári FreeRTOS. Vytvorte nový balík Board Board Package vyberte knižnicu lwip202. Zmeňte odkazovaný BSP v projekte RTOSDemo na BSP, ktorý ste práve vytvorili*.

*V čase písania tohto Návodu sa zdá, že FreeRTOS má chybu v odkazovaní na správny BSP. Ak to chcete napraviť, vytvorte nový BSP s rovnakými nastaveniami ako prvý. Zmeňte odkazovaný BSP na nový a potom ho zmeňte späť na starý, keď sa nepodarí vytvoriť. FreeRTOS by sa teraz mal kompilovať bez chýb. Neváhajte a odstráňte nepoužitý BSP.

Krok 5: Upravte ukážkový program

V adresári „src“programu RTOSDemo vytvorte nový priečinok s názvom „ovládače“. Skopírujte poskytnutý súbor gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h a motor.c súbory do adresára "ovládače".

Otvorte main.c a nastavte mainSELECTED_APPLICATION na 2. Nahraďte main_lwIP.c v časti „lwIP_Demo“aktualizovanou verziou. BasicSocketCommandServer.c v časti „lwIP_Demo/apps/BasicSocketCommandServer“je tiež potrebné aktualizovať na novú verziu. Nakoniec prejdite na „FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos“a nahraďte Sample-CLI-commands.c poskytnutou verziou. Vytvorte projekt a zaistite, aby bolo všetko úspešne zostavené.

Krok 6: Flash firmvér na QSPI

Flash firmvér na QSPI
Flash firmvér na QSPI
Flash firmvér na QSPI
Flash firmvér na QSPI
Flash firmvér na QSPI
Flash firmvér na QSPI

Vytvorte nový aplikačný projekt s názvom „FSBL“pomocou šablóny „Zynq FSBL“. Po kompilácii projektu FSBL vytvorte bootovací obraz projektu RTOSDemo. V časti „Boot image partitions“skontrolujte, či je ako bootloader vybratý „FSBL/Debug/FSBL.elf“. Ručne pridajte cestu k tomuto súboru, ak nie je uvedený.

Presuňte prepojku JP5 na ZYBO na „JTAG“. Pripojte počítač k ZYBO pomocou kábla USB Micro-B. Pripojte batériu a zapnite ZYBO. Spustite Adept a uistite sa, že počítač správne identifikuje ZYBO. V súprave Vivado SDK kliknite na „Program Flash“a zadajte cesty k súboru BOOT.bin v programe RTOSDemo a súboru FSBL.elf v programe FSBL. Predtým, ako kliknete na „Program“, vyberte možnosť „Overiť po blesku“. Sledujte konzolu, aby ste zaistili úspešné dokončenie operácie blikania. Potom vypnite ZYBO a odpojte kábel USB. Presuňte prepojku JP5 na „QSPI“.

Krok 7: Konfigurujte bezdrôtový prístupový bod

Keď je batéria stále pripojená, pripojte sa k sieti Wi-Fi smerovača. Predvolené SSID a heslo by mali byť v spodnej časti smerovača. Potom prejdite na https://tplinkwifi.net a prihláste sa pomocou „admin“ako používateľské meno a heslo. Spustite sprievodcu rýchlym nastavením a nakonfigurujte smerovač v režime prístupového bodu s povoleným DHCP. Nezabudnite tiež aktualizovať predvolené používateľské meno a heslo pre zariadenie. Router by sa mal po dokončení automaticky reštartovať do režimu prístupového bodu.

Zapnite ZYBO a pripojte sa k smerovaču pomocou priradeného SSID. Router pravdepodobne bude mať buď adresu IP 192.168.0.100, alebo 192.160.0.101. ZYBO bude priradená adresa, ktorú router nemá. Na rýchle určenie IP adresy smerovača môžete spustiť „ipconfig“z príkazového riadka v systéme Windows alebo „ifconfig“z terminálu v systéme Linux alebo MacOS. Ak ste stále pripojení k smerovaču, vedľa bezdrôtového rozhrania sa zobrazí jeho IP adresa. Tieto informácie použite na určenie IP adresy ZYBO. Ak chcete potvrdiť IP adresu ZYBO, môžete ju pingnúť z príkazového riadku alebo sa k nej pripojiť prostredníctvom telnetu.

Krok 8: Spustite program Java

Spustite program Java
Spustite program Java

Stiahnite si RobotClient.java a skompilovajte súbor pomocou príkazu „javac RobotClient.java“z príkazového riadka. Spustite príkaz „java RobotClient“, kde „ip_address“je adresa IP ZYBO. Ak sa medzi počítačom a ZYBO nadviaže úspešné spojenie, ovládací panel GUI sa otvorí. Po zaostrení okna by mal byť robot ovládateľný pomocou klávesov so šípkami na klávesnici. Reláciu ukončíte a odpojíte sa od robota stlačením únikového tlačidla.

GUI zvýrazní stlačené klávesy a vpravo hore zobrazí výkon motora. Merač vzdialenosti vľavo napĺňa lištu každé 2 metre až do maximálne 10 metrov.

Krok 9: Kalibrujte diaľkomer

Prepínače na palube ZYBO je možné použiť na konfiguráciu palubného diaľkomera. Minimálna detekčná vzdialenosť d je daná funkciou spínacieho vstupu i:

d = 50i + 250

Vstup sa môže pohybovať od 0 do 15 v celočíselných krokoch. To znamená vzdialenosť od 0,25 metra do 1 metra. Na minimálnu vzdialenosť začne blikať prvá LED dióda. Počet aktívnych LED diód je úmerný blízkosti objektu.

Krok 10: Prístupnosť

Tento robot je veľmi ľahko dostupný. Vzhľadom na jednoduchosť ovládania je možné ho úplne ovládať jediným prstom. Na zlepšenie dostupnosti by mohla byť pridaná podpora ďalších vstupných zariadení. To by mohlo umožniť zdravotne postihnutým osobám ovládať robota inou časťou ich tela.

Odporúča: