Sadržaj:

WiBot: 10 koraka (sa slikama)
WiBot: 10 koraka (sa slikama)

Video: WiBot: 10 koraka (sa slikama)

Video: WiBot: 10 koraka (sa slikama)
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Studeni
Anonim
WiBot
WiBot

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 robota
Sastavite šasiju robota
Sastavite šasiju robota
Sastavite šasiju robota
Sastavite šasiju robota
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

Žičana elektronika
Žičana elektronika
Žičana elektronika
Žičana elektronika
Žičana elektronika
Žičana elektronika

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 blok dijagram u Vivadu
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

Flash Firmware na QSPI
Flash Firmware na QSPI
Flash Firmware na QSPI
Flash Firmware na QSPI
Flash Firmware na QSPI
Flash Firmware 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

Pokrenite Java program
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: