Tartalomjegyzék:
- 1. lépés: Szerelje össze a robotvázat
- 2. lépés: Vezetékes elektronika
- 3. lépés: Blokkdiagram létrehozása a Vivadóban
- 4. lépés: A szoftverfejlesztési környezet beállítása
- 5. lépés: Módosítsa a bemutató programot
- 6. lépés: Firmware frissítése a QSPI -hez
- 7. lépés: A vezeték nélküli hozzáférési pont konfigurálása
- Lépés: Futtassa a Java programot
- 9. lépés: Kalibrálja a távolságmérőt
- 10. lépés: Kisegítő lehetőségek
Videó: WiBot: 10 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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 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
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
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
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
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:
DIY 37 LED Arduino rulett játék: 3 lépés (képekkel)
DIY 37 Leds Arduino Roulette Játék: A rulett egy kaszinójáték, amelyet a francia szóról neveztek el, jelentése kis kerék
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: 20 lépés (képekkel)
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: Helló, barátom! Ebben a kétrészes sorozatban megtanuljuk használni a Tinkercad áramköreit - ez egy szórakoztató, hatékony és oktató eszköz az áramkörök működésének megismerésére! A tanulás egyik legjobb módja, ha megteszed. Tehát először megtervezzük saját projektünket:
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is