Obsah:

WiBot: 10 kroků (s obrázky)
WiBot: 10 kroků (s obrázky)

Video: WiBot: 10 kroků (s obrázky)

Video: WiBot: 10 kroků (s obrázky)
Video: Kelowna Wibit returns for 10th year 2024, Září
Anonim
WiBot
WiBot

Tento instruktáž podrobně popisuje proces stavby robota Wi-Fi na platformě ZYBO. Tento projekt využívá operační systém v reálném čase pro detekci objektů, měření vzdálenosti a citlivé ovládání. Tato příručka se bude zabývat propojením ZYBO s periferiemi, spuštěním vlastního firmwaru a komunikací prostřednictvím aplikace Java. Následuje seznam všech klíčových komponent požadovaných pro tento projekt:

  • 1 Vývojová rada ZYBO
  • 1 bezdrátový router TL-WR802N
  • 1 Shadow Chassis
  • 2 65mm kolečka
  • 2 Převodové motory 140 ot./min
  • 2 kodéry kol
  • 1 ultrazvukový senzor HC-SR04
  • 1 Převodník logické úrovně BSS138
  • 1 Ovladač motoru L-293 H-Bridge
  • 1 měnič DC/DC na 12 V až 5 V
  • 1 LiPo baterie 2 200 mAh
  • 1 ethernetový kabel
  • 1 kabel USB Micro-B
  • 1 samičí konektor XT60
  • 2 propojovací vodiče muž-žena
  • 30 propojovacích vodičů muž-muž
  • 2 10kΩ odpory
  • 1 prkénko

Na cílovém počítači musí být navíc nainstalován následující software:

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

Krok 1: Sestavte podvozek robota

Sestavte podvozek robota
Sestavte podvozek robota
Sestavte podvozek robota
Sestavte podvozek robota
Sestavte podvozek robota
Sestavte podvozek robota

Sestavte stínový podvozek a připevněte převodové motory a kodéry ke spodnímu rámu. ZYBO, prkénko a ultrazvukový senzor lze namontovat pomocí dodaných dílů, které lze 3D vytisknout a připevnit k podvozku pomocí distančních sloupků a oboustranné pásky. Baterie by měla být namontována v blízkosti zadní části robota, nejlépe mezi horním a spodní rámy. Směrovač namontujte v blízkosti ZYBO a převodník DC/DC blízko prkénka. Na samém konci připevněte kola k převodovým motorům.

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 převodníku DC/DC připojte ke dvěma napájecím lištám na desce. Ty budou sloužit jako napájení systému 12 V a 5 V. Připojte ZYBO k 5V liště podle obrázku. Pomocí napájecího kabelu USB Micro-B připojte router také k 5V liště. Kabel XT60 by měl být připojen k liště 12V. Nezapojujte baterii, dokud není zbytek elektroniky správně zapojen. Ultrazvukový senzor by měl být připojen k 5V kolejnici. Vytvořte lištu 3,3 V na breadboardu pomocí pinu 6 Pmod portu JC na ZYBO. Vstup vysokého napětí logického převodníku by měl být zapojen na kolejnici 5V, zatímco vstup nízkého napětí logického převodníku by měl být připojen k liště 3,3V. Připojte kodéry motoru k liště 3,3V. Připojte VCC1 ovladače motoru k 5V liště a připojte VCC2 k 12V liště. Připojte všechny piny EN k 5V a uzemněte všechny piny GND.

Připojte piny TRIG a ECHO ultrazvukového senzoru k HV1 a HV2 logického převodníku. LV1 by měl být zapojen do JC4 a LV2 do JC3. Podívejte se na graf pro Pmod pinouts. Připojte motory k ovladači motoru. Y1 by měl být připojen ke kladnému pólu pravého motoru a Y2 by měl být připojen k zápornému pólu pravého motoru. Podobně by měl být Y3 připojen ke kladnému pólu levého motoru a Y4 by měl být připojen k zápornému pólu levého motoru. A1, A2, A3 a A4 by měly být mapovány na JB2, JB1, JB4 a JB3. Čísla pinů najdete ve schématu. Připojte kabel JC2 k pravému kodéru a JC1 k levému kodéru. Zajistěte, aby byly k připojení těchto signálů k liště 3,3 V použity stahovací odpory. Nakonec použijte ethernetový kabel k připojení ZYBO k routeru.

Krok 3: Vytvořte blokový diagram ve Vivado

Vytvořte blokový diagram ve Vivado
Vytvořte blokový diagram ve Vivado

Vytvořte nový projekt RTL ve Vivado. V tuto chvíli nezadávejte žádné zdroje. Vyhledejte „xc7z010clg400-1“a stiskněte Dokončit. Stáhněte si encoder_driver.sv a ultrasonic_driver.sv. Umístěte je do vlastních složek. Otevřete IP Packager v části „Nástroje“a zvolte zabalení určeného adresáře. Vložte cestu do složky obsahující ovladač kodéru a klikněte na „Další“. Klikněte na „balíček IP“a zopakujte postup pro ovladač ultrazvukového senzoru. Poté přejděte do správce úložiště v podsekci IP v nabídce nastavení. Přidejte cesty do složek ovladačů a kliknutím na Použít je zahrnete do knihovny IP.

Vytvořte nový blokový diagram a přidejte „Systém zpracování ZYNQ7“. Poklepejte na blok a importujte poskytnutý soubor ZYBO_zynq_def.xml. V části „Konfigurace MIO“povolte časovač 0 a GPIO MIO. kliknutím na „OK“konfiguraci uložíte. Přidejte 3 bloky "AXI GPIO" a 4 bloky "AXI Timer". Spusťte automatizaci bloků následovanou automatizací připojení pro S_AXI. Poklepáním na bloky GPIO je nakonfigurujte. Jeden blok by měl být dvoukanálový se 4bitovým vstupem a 4bitovým výstupem. Tato připojení proveďte jako externí a označte je SW pro vstup a LED pro výstup. Druhý blok by měl být také dvoukanálový se 2 32bitovými vstupy. Poslední blok GPIO bude jeden 32bitový vstup. Externí výstup pwm0 z každého bloku časovače. Označte je PWM0, PWM1, PWM2 a PWM3.

Přidejte ovladač kodéru do blokového schématu a připojte CLK k FCLK_CLK0. Připojte OD0 a OD1 ke vstupním kanálům druhého bloku GPIO. Změňte ENC na externí a přejmenujte ENC_0 na ENC. Přidejte blok ultrazvukových senzorů a připojte CLK k FCLK_CLK0. Udělejte TRIG a ECHO externí a přejmenujte TRIG_0 na TRIG a ECHO_0 na ECHO. Připojte RF ke třetímu bloku GPIO. Reference najdete v dodaném blokovém schématu.

Klikněte pravým tlačítkem na soubor blokového diagramu v podokně Zdroje a vytvořte obal HDL. Nezapomeňte povolit uživatelské úpravy. Přidejte dodaný soubor ZYBO_Master.xdc jako omezení. Klikněte na „Generovat bitstream“a dejte si přestávku na kávu.

Krok 4: Nastavení prostředí pro vývoj softwaru

Přejděte do části „Soubor“a exportujte hardware do sady Vivado SDK. Nezapomeňte zahrnout bitový tok. Importujte projekt RTOSDemo do „CORTEX_A9_Zynq_ZC702“. Bude umístěn v instalačním adresáři FreeRTOS. Vytvořte nový balíček podpory desek vyberte knihovnu lwip202. Změňte odkazovaný BSP v projektu RTOSDemo na BSP, který jste právě vytvořili*.

*V době psaní tohoto Instructable se zdá, že FreeRTOS má chybu s odkazováním na správný BSP. Chcete -li to napravit, vytvořte nový BSP se stejným nastavením jako první. Změňte odkazovaný BSP na nový a poté jej změňte zpět na starý poté, co se nepodaří vytvořit. FreeRTOS by se nyní měl kompilovat bez chyb. Neváhejte odstranit nepoužitý BSP.

Krok 5: Upravte ukázkový program

V adresáři „src“aplikace RTOSDemo vytvořte novou složku s názvem „ovladače“. Zkopírujte poskytnutý soubor gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h a motor.c soubory do adresáře "ovladače".

Otevřete main.c a nastavte mainSELECTED_APPLICATION na 2. Nahraďte main_lwIP.c pod „lwIP_Demo“aktualizovanou verzí. BasicSocketCommandServer.c pod "lwIP_Demo/apps/BasicSocketCommandServer" musí být také aktualizován s novou verzí. Nakonec přejděte na „FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos“a nahraďte Sample-CLI-commands.c poskytnutou verzí. Vytvořte projekt a zajistěte, aby se vše úspěšně kompilovalo.

Krok 6: Flash 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

Vytvořte nový aplikační projekt s názvem „FSBL“pomocí šablony „Zynq FSBL“. Po kompilaci projektu FSBL vytvořte spouštěcí bitovou kopii projektu RTOSDemo. Zkontrolujte, zda je jako zavaděč v části „Boot image partitions“vybráno „FSBL/Debug/FSBL.elf“. Ručně přidejte cestu k tomuto souboru, pokud není uveden.

Přesuňte propojku JP5 na ZYBO na „JTAG“. Pomocí kabelu USB Micro-B připojte počítač k ZYBO. Připojte baterii a zapněte ZYBO. Spusťte Adept a ujistěte se, že počítač správně identifikuje ZYBO. V sadě Vivado SDK klikněte na „Program Flash“a zadejte cesty k souboru BOOT.bin v RTOSDemo a souboru FSBL.elf v FSBL. Než stisknete „Program“, nezapomeňte vybrat „Ověřit po blesku“. Sledujte konzolu, abyste zajistili úspěšné dokončení operace blikání. Poté vypněte ZYBO a odpojte USB kabel. Přesuňte propojku JP5 na „QSPI“.

Krok 7: Konfigurace bezdrátového přístupového bodu

Když je baterie stále připojena, připojte se k síti Wi-Fi routeru. Výchozí SSID a heslo by měly být ve spodní části routeru. Poté přejděte na https://tplinkwifi.net a přihlaste se pomocí „admin“pro uživatelské jméno a heslo. Spusťte průvodce rychlým nastavením a nakonfigurujte router v režimu přístupového bodu s povoleným DHCP. Nezapomeňte také aktualizovat výchozí uživatelské jméno a heslo pro zařízení. Router by se měl po dokončení automaticky restartovat do režimu přístupového bodu.

Zapněte ZYBO a připojte se k routeru pomocí přiřazeného SSID. Směrovač se s největší pravděpodobností objeví na adrese IP 192.168.0.100 nebo 192.160.0.101. ZYBO bude přiřazena adresa, kterou router nemá. Chcete -li rychle určit IP adresu routeru, můžete spustit „ipconfig“z příkazového řádku v systému Windows nebo „ifconfig“z terminálu v systému Linux nebo MacOS. Pokud jste stále připojeni k routeru, zobrazí se vedle vašeho bezdrátového rozhraní jeho IP adresa. Tyto informace použijte k určení IP adresy ZYBO. Chcete -li potvrdit IP adresu ZYBO, můžete ji pingnout z příkazového řádku nebo se k ní připojit pomocí telnetu.

Krok 8: Spusťte program Java

Spusťte program Java
Spusťte program Java

Stáhněte si RobotClient.java a zkompilujte soubor pomocí příkazu „javac RobotClient.java“z příkazového řádku. Spusťte příkaz „java RobotClient“, kde „ip_address“je IP adresa ZYBO. Pokud se mezi počítačem a ZYBO naváže úspěšné spojení, objeví se vyskakovací ovládací GUI. Po zaostření okna by měl být robot ovladatelný pomocí kláves se šipkami na klávesnici. Stisknutím tlačítka Escape relaci ukončíte a odpojíte se od robota.

GUI zvýrazní stisknuté klávesy a zobrazí výstup motoru vpravo nahoře. Měřič vzdálenosti nalevo zaplňuje lištu každé 2 metry až do maxima 10 metrů.

Krok 9: Kalibrujte dálkoměr

Přepínače na palubě ZYBO lze použít ke konfiguraci palubního dálkoměru. Minimální detekční vzdálenost d je dána funkcí spínacího vstupu i:

d = 50i + 250

Vstup se může pohybovat od 0 do 15 v celočíselných krocích. To znamená vzdálenost od 0,25 metru do 1 metru. Na minimální vzdálenost začne první LED blikat. Počet LED, které jsou aktivní, je úměrný blízkosti objektu.

Krok 10: Usnadnění

Tento robot je velmi snadno dostupný. Díky jednoduchosti ovládání je možné jej plně ovládat jediným prstem. Pro zlepšení přístupnosti by mohla být přidána podpora pro další vstupní zařízení. To by umožnilo znevýhodněnému použití ovládat robota jinou částí jejich těla.

Doporučuje: