Sadržaj:
- Korak 1: Sastavite šasiju robota
- Korak 2: Elektronika žice
- Korak 3: Izradite blok dijagram u Vivadu
- Korak 4: Postavljanje okruženja za razvoj softvera
- Korak 5: Izmijenite demo program
- Korak 6: Flash firmver na QSPI
- Korak 7: Konfigurirajte bežičnu pristupnu točku
- Korak 8: Pokrenite Java program
- Korak 9: Kalibrirajte daljinomer
- Korak 10: Pristupačnost
Video: WiBot: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ovo uputstvo detaljno opisuje postupak izgradnje Wi-Fi robota na platformi ZYBO. Ovaj projekt koristi operativni sustav u stvarnom vremenu za otkrivanje objekata, mjerenje udaljenosti i osjetljivu kontrolu. Ovaj vodič će obuhvatiti povezivanje ZYBO -a s perifernim uređajima, pokretanje prilagođenog firmvera i komunikaciju putem Java aplikacije. Slijedi popis svih ključnih komponenti potrebnih za ovaj projekt:
- 1 Odbor za razvoj ZYBO -a
- 1 bežični usmjerivač TL-WR802N
- 1 Shadow Chassis
- 2 kotača 65 mm
- 2 zupčanika sa 140 okretaja u minuti
- 2 kodera kotača
- 1 HC-SR04 ultrazvučni senzor
- 1 BSS138 Pretvarač logičke razine
- 1 L293 Vozač motora s H-mostom
- 1 DC/DC pretvarač 12V u 5V
- 1 LiPo baterija od 2200 mAh
- 1 Ethernet kabel
- 1 USB Micro-B kabel
- 1 ženski XT60 konektor
- 2 žice kratkospojnika muško-žensko
- 30 muških spojnih žica
- 2 otpornika od 10 kΩ
- 1 Oglasna ploča
Osim toga, na ciljno računalo mora biti instaliran sljedeći softver:
- Xilinx Vivado Design Suite 2018.2
- Digilent Adept 2.19.2
- FreeRTOS 10.1.1
- Java SE Development Kit 8.191
Korak 1: Sastavite šasiju robota
Sastavite šasiju sjene i pričvrstite motore zupčanika i davače na donji okvir. ZYBO, matična ploča i ultrazvučni senzor mogu se montirati s isporučenim dijelovima koji se mogu 3D ispisati i pričvrstiti na šasiju pomoću rastojanja i dvostrane trake. Bateriju treba postaviti blizu stražnje strane robota i po mogućnosti između vrha i donji okviri. Usmjerivač postavite blizu ZYBO -a, a DC/DC pretvarač blizu matične ploče. Pričvrstite kotače na motore zupčanika na samom kraju.
Korak 2: Elektronika žice
Spojite ulaz i izlaz DC/DC pretvarača na dvije vodilice za napajanje na matičnoj ploči. Oni će poslužiti kao 12V i 5V opskrba za sustav. Spojite ZYBO na 5V vodilicu kao što je prikazano na slici. Pomoću USB Micro-B kabela za napajanje spojite usmjerivač i na 5V šinu. Kabel XT60 treba pričvrstiti na 12V tračnicu. Nemojte priključivati bateriju sve dok ostatak elektronike nije ispravno ožičen. Ultrazvučni senzor treba spojiti na 5V tračnicu. Napravite 3.3V vodilicu na ploči koristeći pin 6 Pmod priključka JC na ZYBO -u. Visokonaponski ulaz logičkog pretvarača trebao bi biti ožičen na 5V šinu, dok bi niskonaponski ulaz logičkog pretvarača trebao biti ožičen na 3,3 V tračnicu. Spojite davače motora na šinu 3.3V. Spojite VCC1 pogonitelja motora na 5V tračnicu i spojite VCC2 na 12V tračnicu. Priključite sve EN pinove na 5V i uzemljite sve GND pinove.
Spojite TRIG i ECHO pinove ultrazvučnog senzora na HV1 odnosno HV2 logičkog pretvarača. LV1 treba spojiti na JC4, a LV2 na JC3. Pmod iscrtavanja potražite na grafikonu. Spojite motore na upravljački program motora. Y1 treba spojiti na pozitivni priključak desnog motora, a Y2 na negativni priključak desnog motora. Slično, Y3 treba spojiti na pozitivni terminal lijevog motora, a Y4 na negativni terminal lijevog motora. A1, A2, A3 i A4 treba mapirati u JB2, JB1, JB4 i JB3. Za brojeve pinova pogledajte shemu. Ožičite JC2 na desni davač, a JC1 na lijevi davač. Pobrinite se da se za povezivanje ovih signala na šinu od 3,3 V koriste pull-up otpornici. U posljednje vrijeme upotrijebite ethernet kabel za povezivanje ZYBO -a s usmjerivačem.
Korak 3: Izradite blok dijagram u Vivadu
Izradite novi RTL projekt u Vivadu. U ovom trenutku ne navodite nikakve izvore. Potražite "xc7z010clg400-1" i pritisnite završiti. Preuzmite encoder_driver.sv i ultrasonic_driver.sv. Stavite ih u vlastite mape. Otvorite IP Packager pod "Alati" i odaberite pakiranje određenog direktorija. Zalijepite put do mape koja sadrži upravljački program kodera i pritisnite "Dalje". Pritisnite "paket IP" i ponovite procese za upravljački program ultrazvučnog senzora. Nakon toga idite do upravitelja spremišta u pododjeljku IP u izborniku postavki. Dodajte staze u mape upravljačkog programa i pritisnite Primijeni da biste ih uključili u IP biblioteku.
Napravite novi blok dijagram i dodajte "ZYNQ7 procesni sustav". Dvaput kliknite blok i uvezite isporučenu datoteku ZYBO_zynq_def.xml. Pod "MIO konfiguracija" omogućite Timer 0 i GPIO MIO. pritisnite "OK" za spremanje konfiguracije. Dodajte 3 bloka "AXI GPIO" i 4 bloka "AXI Timer". Pokrenite automatizaciju blokova nakon koje slijedi automatizacija veze za S_AXI. Dvaput kliknite GPIO blokove da biste ih konfigurirali. Jedan blok trebao bi biti dvokanalni s 4-bitnim ulazom i 4-bitnim izlazom. Učinite ove veze vanjskim i označite ih SW za ulaz i LED za izlaz. Drugi blok bi također trebao biti dvokanalni s 2 32-bitna ulaza. Posljednji GPIO blok bit će jedan 32-bitni ulaz. Učinite izlaz pwm0 iz svakog vremenskog bloka vanjskim. Označite ih PWM0, PWM1, PWM2 i PWM3.
Dodajte upravljački program kodera u blok dijagram i spojite CLK na FCLK_CLK0. Spojite OD0 i OD1 na ulazne kanale drugog GPIO bloka. Učinite ENC vanjskim i preimenujte ENC_0 u ENC. Dodajte ultrazvučni senzorski blok i spojite CLK na FCLK_CLK0. Učinite TRIG i ECHO vanjskim i preimenujte TRIG_0 u TRIG, a ECHO_0 u ECHO. Spojite RF na treći GPIO blok. Za referencu pogledajte priloženi blok dijagram.
Desnom tipkom miša kliknite datoteku blok dijagrama u oknu Izvori i stvorite HDL omot. Dopustite korisnička uređivanja. Dodajte priloženu datoteku ZYBO_Master.xdc kao ograničenje. Pritisnite "Generiraj Bitstream" i napravite pauzu za kavu.
Korak 4: Postavljanje okruženja za razvoj softvera
Idite pod "Datoteka" za izvoz hardvera u Vivado SDK. Uključite tok bitova. Uvezite projekt RTOSDemo unutar datoteke "CORTEX_A9_Zynq_ZC702". Nalazit će se unutar instalacijskog direktorija FreeRTOS. Izradite novi paket podrške za ploču, odaberite knjižnicu lwip202. Promijenite referencirani BSP u projektu RTOSDemo u BSP koji ste upravo stvorili*.
*Čini se da je u vrijeme pisanja ovog uputstva FreeRTOS imao grešku u referenciranju ispravnog BSP -a. Da biste to riješili, izradite novi BSP s istim postavkama kao i prvi. Promijenite referencirani BSP na novi, a zatim ga vratite na stari nakon što se ne uspije izgraditi. FreeRTOS bi se sada trebao kompajlirati bez grešaka. Slobodno izbrišite neiskorišteni BSP.
Korak 5: Izmijenite demo program
Izradite novu mapu pod nazivom "drivers" u direktoriju RTOSDemo "src". Kopirajte priloženi gpio.h. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h i motor.c datoteke u direktorij "drivers".
Otvorite main.c i postavite mainSELECTED_APPLICATION na 2. Zamijenite main_lwIP.c pod "lwIP_Demo" ažuriranom verzijom. BasicSocketCommandServer.c pod "lwIP_Demo/apps/BasicSocketCommandServer" također se mora ažurirati novom verzijom. U posljednje vrijeme idite na "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" i zamijenite Sample-CLI-commands.c ponuđenom verzijom. Izgradite projekt i pobrinite se da se sve uspješno sastavi.
Korak 6: Flash firmver na QSPI
Izradite novi aplikacijski projekt pod nazivom "FSBL" pomoću predloška "Zynq FSBL". Nakon sastavljanja projekta FSBL, izradite sliku pokretanja projekta RTOSDemo. Provjerite je li "FSBL/Debug/FSBL.elf" odabrano kao bootloader pod "Boot image partitions". Ručno dodajte put ovoj datoteci ako nije navedena.
Premjestite kratkospojnik JP5 na ZYBO -u u "JTAG". USB Micro-B kabelom spojite računalo na ZYBO. Spojite bateriju i uključite ZYBO. Pokrenite Adept da biste provjerili je li računalo ispravno prepoznalo ZYBO. Kliknite "Program Flash" u Vivado SDK -u i unesite staze do datoteke BOOT.bin u RTOSDemu i datoteke FSBL.elf u FSBL -u. Prije nego pritisnete "Program", svakako odaberite "Verify after flash". Gledajte konzolu kako biste provjerili je li operacija treptanja uspješno završena. Nakon toga isključite ZYBO i odspojite USB kabel. Pomaknite kratkospojnik JP5 na "QSPI".
Korak 7: Konfigurirajte bežičnu pristupnu točku
Dok je baterija još uvijek spojena, povežite se s Wi-Fi mrežom usmjerivača. Zadani SSID i lozinka trebali bi biti na dnu usmjerivača. Nakon toga idite na https://tplinkwifi.net i prijavite se pomoću "admin" za korisničko ime i lozinku. Pokrenite čarobnjaka za brzo postavljanje da biste konfigurirali usmjerivač u načinu pristupne točke s omogućenim DHCP -om. Ažurirajte i zadano korisničko ime i lozinku za uređaj. Usmjerivač bi se trebao automatski ponovno pokrenuti u način pristupne točke nakon što završite.
Uključite ZYBO i povežite se s usmjerivačem pomoću dodijeljenog SSID -a. Ruter će se najvjerojatnije pojaviti na bilo kojoj IP adresi 192.168.0.100 ili 192.160.0.101. ZYBO će biti dodijeljen onoj adresi koju usmjerivač nema. Da biste brzo odredili IP adresu usmjerivača, možete pokrenuti "ipconfig" iz naredbenog retka u prozorima ili "ifconfig" s terminala u Linuxu ili MacOS -u. Ako ste još povezani s usmjerivačem, vidjet ćete njegovu IP adresu pored bežičnog sučelja. Pomoću ovih podataka odredite IP adresu ZYBO -a. Da biste potvrdili IP adresu ZYBO -a, možete ga pingati iz naredbenog retka ili se povezati s njim putem telneta.
Korak 8: Pokrenite Java program
Preuzmite RobotClient.java i sastavite datoteku pomoću naredbe "javac RobotClient.java" iz naredbenog retka. Pokrenite naredbu "java RobotClient" gdje je "ip_address" IP adresa ZYBO -a. Kontrolni GUI pojavit će se ako se uspostavi uspješna veza između računala i ZYBO -a. Nakon fokusiranja prozora, robotom bi se trebalo upravljati pomoću tipki sa strelicama na tipkovnici. Pritisnite gumb za bijeg da biste završili sesiju i odspojili se s robotom.
GUI će označiti pritisnute tipke i prikazati izlaz motora u gornjem desnom kutu. Mjerač udaljenosti s lijeve strane ispunjava šipku svaka 2 metra do maksimalno 10 metara.
Korak 9: Kalibrirajte daljinomer
Prekidači na ZYBO -u mogu se koristiti za konfiguriranje unutarnjeg daljinomera. Minimalna udaljenost detekcije d dana je kao funkcija ulaza prekidača i:
d = 50i + 250
Unos može varirati između 0 do 15 u cjelobrojnim koracima. To znači raspon udaljenosti od 0,25 do 1 metar. Na minimalnoj udaljenosti prva LED dioda će početi treptati. Broj LED dioda koje su aktivne proporcionalan je blizini objekta.
Korak 10: Pristupačnost
Ovaj robot je vrlo lako dostupan. Zbog jednostavnosti upravljanja njime se može u potpunosti kontrolirati samo jednim prstom. Kako bi se poboljšala pristupačnost, mogla bi se dodati podrška za dodatne ulazne uređaje. To bi moglo omogućiti osobama s invaliditetom upravljanje robotom različitim dijelovima tijela.
Preporučeni:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovno početi vježbati. Koju opremu trebam pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekt će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kad se Micro: Bit protrese, zbroju ćemo dodati 2 i prikazati ga na ekranu
Atari Punk konzola s bebom Sekvencer za 8 koraka: 7 koraka (sa slikama)
Atari Punk konzola s Baby 8 Step Sequencer-om: Ova srednja verzija je sve-u-jednom Atari Punk Console i Baby 8 Step Sequencer koje možete glodati na stolnom PCB glodalici Bantam Tools. Sastoji se od dvije ploče: jedna je ploča korisničkog sučelja (UI), a druga je pomoćna bo
Kako rastaviti računalo jednostavnim koracima i slikama: 13 koraka (sa slikama)
Kako rastaviti računalo jednostavnim koracima i slikama: Ovo uputstvo o tome kako rastaviti računalo. Većina osnovnih komponenti je modularna i lako se uklanja. Međutim, važno je da se oko toga organizirate. To će vam pomoći da spriječite gubitak dijelova, a također i prilikom ponovnog sastavljanja