Tartalomjegyzék:

WiBot: 10 lépés (képekkel)
WiBot: 10 lépés (képekkel)

Videó: WiBot: 10 lépés (képekkel)

Videó: WiBot: 10 lépés (képekkel)
Videó: Top 10 Cooking Oils... The Good, Bad & Toxic! 2024, November
Anonim
WiBot
WiBot

Ez az útmutató részletesen leírja a Wi-Fi robot ZYBO platformon történő létrehozásának folyamatát. Ez a projekt valós idejű operációs rendszert használ az objektumok észlelésére, távolságmérésre és érzékeny vezérlésre. Ez az útmutató kitér a ZYBO perifériákkal való összekapcsolására, az egyedi firmware futtatására és a Java alkalmazáson keresztüli kommunikációra. Az alábbiakban felsoroljuk a projekthez szükséges összes fő összetevőt:

  • 1 ZYBO Fejlesztési Tanács
  • 1 TL-WR802N vezeték nélküli router
  • 1 Árnyék alváz
  • 2 db 65 mm -es kerék
  • 2 140 fordulat / perc sebességváltó
  • 2 kerék enkóder
  • 1 HC-SR04 ultrahangos érzékelő
  • 1 BSS138 logikai szintváltó
  • 1 L293 H-híd motor meghajtó
  • 1 12V -5V DC/DC átalakító
  • 1 2200 mAh LiPo akkumulátor
  • 1 Ethernet kábel
  • 1 USB Micro-B kábel
  • 1 női XT60 csatlakozó
  • 2 férfi-nő áthidaló vezeték
  • 30 férfi-férfi áthidaló vezeték
  • 2 db 10 kΩ -os ellenállás
  • 1 Kenyeretábla

Ezenkívül a következő szoftvert kell telepíteni a célszámítógépre:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE fejlesztői készlet 8.191

1. lépés: Szerelje össze a robotvázat

Szerelje össze a robotvázat
Szerelje össze a robotvázat
Szerelje össze a robotvázat
Szerelje össze a robotvázat
Szerelje össze a robotvázat
Szerelje össze a robotvázat

Szerelje össze az árnyékházat, és rögzítse a hajtóműves motorokat és a jeladókat az alsó kerethez. A ZYBO, a kenyérlap és az ultrahangos érzékelő felszerelhető a mellékelt alkatrészekkel, amelyek 3D-ben kinyomtathatók és rögzíthetők az alvázra rögzítőelemek és kétoldalas szalag segítségével. Az akkumulátort a robot hátsó részéhez, lehetőleg a teteje és alsó keretek. Szerelje fel az útválasztót a ZYBO és a DC/DC átalakító közelébe a kenyértáblához. Rögzítse a kerekeket a hajtómotorokhoz a legvégén.

2. lépés: Vezetékes elektronika

Vezetékes elektronika
Vezetékes elektronika
Vezetékes elektronika
Vezetékes elektronika
Vezetékes elektronika
Vezetékes elektronika

Csatlakoztassa az egyenáramú/egyenáramú átalakító bemenetét és kimenetét a kenyértábla két tápcsatornájához. Ezek szolgálnak a rendszer 12V és 5V tápellátásaként. Csatlakoztassa a ZYBO -t az 5V -os sínhez a képen látható módon. USB Micro-B tápkábellel csatlakoztassa az útválasztót az 5V-os sínhez is. Az XT60 kábelt a 12 V -os sínhez kell csatlakoztatni. Ne csatlakoztassa az akkumulátort, amíg a többi elektronika nincs megfelelően bekötve. Az ultrahangos érzékelőt az 5V -os sínre kell kötni. Hozzon létre egy 3.3V -os sínt a kenyértáblán a ZYBO Pmod portjának JC 6. tűje segítségével. A logikai átalakító nagyfeszültségű bemenetét az 5 V -os sínre kell kötni, míg a logikai átalakító alacsony feszültségű bemenetét a 3,3 V -os sínre. Csatlakoztassa a motorkódolókat a 3,3 V -os sínhez. Csatlakoztassa a motorvezérlő VCC1 -ét az 5V -os sínhez, és a VCC2 -t a 12V -os sínhez. Csatlakoztassa az összes EN -tűt 5V -ra, és földelje le az összes GND -tűt.

Csatlakoztassa az ultrahangos érzékelő TRIG és ECHO csapjait a logikai átalakító HV1, illetve HV2 csatlakozójához. Az LV1 -et a JC4 -hez kell kötni, az LV2 -t pedig a JC3 -hoz. Lásd a táblázatban a Pmod pinoutokat. Csatlakoztassa a motorokat a motor meghajtójához. Az Y1 -et a jobb motor pozitív pólusához, az Y2 -t pedig a jobb motor negatív pólusához kell csatlakoztatni. Hasonlóképpen, az Y3 -at a bal motor pozitív csatlakozójához, az Y4 -et a bal motor negatív kapcsához kell csatlakoztatni. Az A1, A2, A3 és A4 leképezése JB2, JB1, JB4 és JB3 lesz. A pin számokat lásd a sematikus ábrán. Csatlakoztassa a JC2 -t a jobb, a JC1 -et a bal oldali jeladóhoz. Győződjön meg arról, hogy felhúzó ellenállásokat használnak ezeknek a jeleknek a 3,3 V-os sínhez való kötéséhez. Nem tetszett, használja az ethernet kábelt a ZYBO és az útválasztó csatlakoztatásához.

3. lépés: Blokkdiagram létrehozása a Vivadóban

Blokkdiagram létrehozása a Vivadóban
Blokkdiagram létrehozása a Vivadóban

Hozzon létre egy új RTL projektet Vivadóban. Ügyeljen arra, hogy ne adjon meg semmilyen forrást. Keresse meg az "xc7z010clg400-1" kifejezést, és nyomja meg a Befejezés gombot. Töltse le az encoder_driver.sv és az ultrasonic_driver.sv fájlokat. Helyezze őket saját mappájukba. Nyissa meg az IP -csomagolót az "Eszközök" alatt, és válassza ki a megadott könyvtár csomagolását. Illessze be az útvonalat a kódoló illesztőprogramját tartalmazó mappába, és nyomja meg a "Tovább" gombot. Kattintson az "IP -csomag" elemre, és ismételje meg az ultrahangos érzékelő -illesztőprogramhoz tartozó folyamatokat. Ezután navigáljon a tárolókezelőhöz a beállítások menü IP alszakaszában. Adja hozzá az elérési útvonalakat az illesztőprogram mappáihoz, és nyomja meg az Alkalmaz gombot, hogy felvegye őket az IP -könyvtárba.

Hozzon létre egy új blokkdiagramot, és adja hozzá a "ZYNQ7 feldolgozó rendszert". Kattintson duplán a blokkra, és importálja a mellékelt ZYBO_zynq_def.xml fájlt. A "MIO konfiguráció" alatt engedélyezze a 0. időzítőt és a GPIO MIO -t. nyomja meg az "OK" gombot a konfiguráció mentéséhez. Adjon hozzá 3 "AXI GPIO" és 4 "AXI Timer" blokkot. Futtassa a blokk automatizálást, majd a kapcsolat automatizálást az S_AXI számára. A konfiguráláshoz kattintson duplán a GPIO blokkokra. Az egyik blokknak kétcsatornásnak kell lennie, 4 bites bemenettel és 4 bites kimenettel. Tedd ezeket a csatlakozásokat külsőre, és jelöld be SW -nek a bemenethez, és LED -nek a kimenethez. A második blokknak szintén kétcsatornásnak kell lennie, 2 db 32 bites bemenettel. Az utolsó GPIO blokk egyetlen 32 bites bemenet lesz. Tegye a pwm0 kimenetet minden egyes időzítőblokkból külsővé. Címkézze őket: PWM0, PWM1, PWM2 és PWM3.

Adja hozzá a kódoló meghajtót a tömbvázlathoz, és csatlakoztassa a CLK -t az FCLK_CLK0 -hoz. Csatlakoztassa az OD0 -t és az OD1 -et a második GPIO blokk bemeneti csatornáihoz. Tegye külsővé az ENC -t, és nevezze át az ENC_0 -t ENC -re. Adja hozzá az ultrahangos érzékelő blokkot, és csatlakoztassa a CLK -t az FCLK_CLK0 -hoz. A TRIG -et és az ECHO -t külsővé kell tenni, és a TRIG_0 -t át kell nevezni TRIG -re, az ECHO_0 -t pedig ECHO -ra. Csatlakoztassa az RF -t a harmadik GPIO blokkhoz. Hivatkozásként tekintse meg a mellékelt tömbvázlatot.

Kattintson a jobb gombbal a blokkdiagram -fájlra a Források panelen, és hozzon létre egy HDL -csomagolót. Ügyeljen arra, hogy engedélyezze a felhasználói szerkesztéseket. Korlátozásként adja hozzá a mellékelt ZYBO_Master.xdc fájlt. Nyomja meg a "Bitfolyam generálása" gombot, és tartson kávészünetet.

4. lépés: A szoftverfejlesztési környezet beállítása

Menjen a "Fájl" menüpontba a hardverek exportálásához a Vivado SDK -ba. Feltétlenül vegye be a bitfolyamot. Importálja az RTOSDemo projektet a "CORTEX_A9_Zynq_ZC702" -be. A FreeRTOS telepítési könyvtárában található. Hozzon létre egy új tábla támogatási csomagot, válassza ki az lwip202 könyvtárat. Módosítsa az RTOSDemo projektben hivatkozott BSP -t az imént létrehozott BSP -re*.

*Ennek az utasításnak az írásakor úgy tűnik, hogy a FreeRTOS -ban hiba van a helyes BSP hivatkozásában. Ennek orvoslására hozzon létre egy új BSP -t, ugyanazokkal a beállításokkal, mint az első. Változtassa meg a hivatkozott BSP -t az újra, majd cserélje vissza a régire, miután nem sikerült felépíteni. A FreeRTOS -nak most hiba nélkül kell fordítania. Nyugodtan törölje a fel nem használt BSP -t.

5. lépés: Módosítsa a bemutató programot

Hozzon létre egy új mappát "driver" néven az RTOSDemo "src" könyvtárában. Másolja a mellékelt gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h és motor.c fájlokat az "illesztőprogramok" könyvtárba.

Nyissa meg a main.c fájlt, és állítsa a mainSELECTED_APPLICATION értékét 2. Cserélje ki a main_lwIP.c fájlt az "lwIP_Demo" alatt a frissített verzióra. A BasicSocketCommandServer.c "lwIP_Demo/apps/BasicSocketCommandServer" alatt is frissíteni kell egy új verzióval. Legutóbb navigáljon a "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" oldalra, és cserélje ki a Sample-CLI-commands.c fájlt a mellékelt verzióra. Építse fel a projektet, és győződjön meg arról, hogy minden sikeresen összeáll.

6. lépés: Firmware frissítése a QSPI -hez

Flash firmware a QSPI -hez
Flash firmware a QSPI -hez
Flash firmware a QSPI -hez
Flash firmware a QSPI -hez
Flash firmware a QSPI -hez
Flash firmware a QSPI -hez

Hozzon létre egy új alkalmazási projektet "FSBL" néven a "Zynq FSBL" sablon használatával. Az FSBL projekt összeállítása után hozzon létre egy rendszerindító képet az RTOSDemo projektről. Győződjön meg arról, hogy az "FSBL/Debug/FSBL.elf" van kiválasztva rendszerbetöltőként a "Boot image partitions" alatt. Manuálisan adja hozzá a fájl elérési útját, ha nem szerepel a listában.

Mozgassa a ZYBO JP5 jumperjét "JTAG" állásba. USB Micro-B kábellel csatlakoztassa a számítógépet a ZYBO-hoz. Csatlakoztassa az akkumulátort, és kapcsolja be a ZYBO -t. Futtassa az Adept programot, hogy megbizonyosodjon arról, hogy a számítógép helyesen azonosította a ZYBO -t. Kattintson a "Program Flash" elemre a Vivado SDK -ban, és adja meg a BOOT.bin fájl elérési útját az RTOSDemo -ban és az FSBL.elf fájlt az FSBL -ben. Győződjön meg róla, hogy válassza a "Verify after flash" lehetőséget, mielőtt megnyomja a "Program" gombot. Figyelje a konzolt, hogy a villogó művelet sikeresen befejeződjön. Ezt követően kapcsolja ki a ZYBO -t, és húzza ki az USB -kábelt. Állítsa a JP5 jumpert "QSPI" állásba.

7. lépés: A vezeték nélküli hozzáférési pont konfigurálása

Ha az akkumulátor továbbra is csatlakoztatva van, csatlakozzon az útválasztó Wi-Fi hálózatához. Az alapértelmezett SSID -nek és jelszónak az útválasztó alján kell lennie. Ezután lépjen a https://tplinkwifi.net oldalra, és jelentkezzen be az "admin" használatával a felhasználónévhez és jelszóhoz. Futtassa a gyorsbeállítási varázslót, és konfigurálja az útválasztót hozzáférési pont módban, engedélyezve a DHCP -t. Ügyeljen arra, hogy frissítse az eszköz alapértelmezett felhasználónevét és jelszavát is. Miután befejezte, az útválasztónak automatikusan újra kell indulnia hozzáférési pont módba.

Kapcsolja be a ZYBO -t, és csatlakozzon az útválasztóhoz a hozzárendelt SSID használatával. Az útválasztó valószínűleg a 192.168.0.100 vagy 192.160.0.101 IP -címen jelenik meg. A ZYBO hozzárendelésre kerül, attól függően, hogy melyik címmel rendelkezik az útválasztó. Az útválasztó IP -címének gyors meghatározásához futtassa az "ipconfig" parancsot a Windows parancssorából vagy az "ifconfig" parancsot a terminálról Linux vagy MacOS rendszerben. Ha továbbra is csatlakozik az útválasztóhoz, az IP -címe megjelenik a vezeték nélküli interfész mellett. Ezen információk alapján határozza meg a ZYBO IP -címét. A ZYBO IP -címének megerősítéséhez pingálhatja a parancssorból, vagy csatlakozhat hozzá a telneten keresztül.

Lépés: Futtassa a Java programot

Futtassa a Java programot
Futtassa a Java programot

Töltse le a RobotClient.java programot, és fordítsa össze a fájlt a parancssorból a "javac RobotClient.java" paranccsal. Futtassa a "java RobotClient" parancsot, ahol az "ip_address" a ZYBO IP -címe. A vezérlő GUI felugrik, ha sikeres kapcsolat jön létre a számítógép és a ZYBO között. Az ablak fókuszálása után a robotnak irányíthatónak kell lennie a billentyűzet nyílbillentyűivel. A munkamenet befejezéséhez és a robot lekapcsolásához nyomja meg a menekülési gombot.

A GUI kiemeli a megnyomott gombokat, és a jobb felső sarokban mutatja a motor teljesítményét. A bal oldali távolságmérő 2 méterenként legfeljebb 10 méterig kitölt egy rudat.

9. lépés: Kalibrálja a távolságmérőt

A ZYBO fedélzeti kapcsolói használhatók a fedélzeti távolságmérő konfigurálására. A minimális d észlelési távolság az i kapcsolóbemenet függvényében van megadva:

d = 50i + 250

A bemenet 0 és 15 között változhat egész lépésekben. Ez 0,25 és 1 méter közötti távolságtartományt jelent. A minimális távolságon az első LED villogni kezd. Az aktív LED -ek száma arányos az objektum közelségével.

10. lépés: Kisegítő lehetőségek

Ez a robot nagyon könnyen hozzáférhető. Az egyszerű kezelhetőségnek köszönhetően egyetlen ujjal teljesen vezérelhető. A hozzáférhetőség javítása érdekében további beviteli eszközök támogatása is hozzáadható. Ez lehetővé teheti a fogyatékkal élők számára, hogy testük más részével irányítsák a robotot.

Ajánlott: