Sisällysluettelo:
- Vaihe 1: Kokoa robotirunko
- Vaihe 2: Lankaelektroniikka
- Vaihe 3: Luo lohkokaavio Vivadoon
- Vaihe 4: Asenna ohjelmistokehitysympäristö
- Vaihe 5: Muokkaa esittelyohjelmaa
- Vaihe 6: Flash -laiteohjelmisto QSPI: ksi
- Vaihe 7: Määritä langaton tukiasema
- Vaihe 8: Suorita Java -ohjelma
- Vaihe 9: Kalibroi etäisyysmittari
- Vaihe 10: Esteettömyys
Video: WiBot: 10 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tässä ohjeessa kerrotaan yksityiskohtaisesti Wi-Fi-robotin rakentamisesta ZYBO-alustalle. Tämä projekti käyttää reaaliaikaista käyttöjärjestelmää esineiden havaitsemiseen, etäisyyden mittaamiseen ja reagoivaan hallintaan. Tämä opas kattaa ZYBOn liittämisen oheislaitteisiin, mukautetun laiteohjelmiston suorittamisen ja viestinnän Java -sovelluksen kautta. Seuraavassa on luettelo kaikista tämän projektin edellyttämistä keskeisistä komponenteista:
- 1 ZYBO Development Board
- 1 langaton TL-WR802N-reititin
- 1 Varjoalusta
- 2 65 mm rengasta
- 2 140 r / min vaihdemoottoria
- 2 pyöränkooderia
- 1 HC-SR04-ultraääni-anturi
- 1 BSS138 -loogisen tason muunnin
- 1 L293 H-sillan moottorin ohjain
- 1 12V - 5V DC/DC -muunnin
- 1 2200 mAh LiPo -akku
- 1 Ethernet -kaapeli
- 1 USB Micro-B -kaapeli
- 1 Naaras XT60 -liitin
- 2 uros-naarasliitinjohtoa
- 30 uros-uros-hyppyjohtoa
- 2 10 kΩ vastukset
- 1 Leipälevy
Lisäksi kohdetietokoneeseen on asennettava seuraava ohjelmisto:
- Xilinx Vivado Design Suite 2018.2
- Digilent Adept 2.19.2
- FreeRTOS 10.1.1
- Java SE Development Kit 8.191
Vaihe 1: Kokoa robotirunko
Kokoa varjokotelo ja kiinnitä vaihdemoottorit ja anturit alakehykseen. ZYBO, leipälauta ja ultraääni-anturi voidaan asentaa mukana toimitetuilla osilla, jotka voidaan tulostaa 3D-muotoon ja kiinnittää runkoon käyttämällä pysäytyksiä ja kaksipuolista teippiä. alakehykset. Asenna reititin ZYBO: n ja DC/DC -muuntimen lähelle leipälevyä. Kiinnitä pyörät vaihdemoottoreihin aivan lopussa.
Vaihe 2: Lankaelektroniikka
Kytke DC/DC -muuntimen tulo ja lähtö kahteen leipälevyn virtakiskoon. Nämä toimivat järjestelmän 12V- ja 5V -virtalähteinä. Liitä ZYBO 5V -kiskoon kuvan osoittamalla tavalla. Liitä reititin myös 5 V-kiskoon USB Micro-B-syöttökaapelin avulla. XT60 -kaapeli on kiinnitettävä 12 V: n kiskoon. Älä kytke akkua, ennen kuin muu elektroniikka on kytketty oikein. Ultraäänianturi on kytkettävä 5V -kiskoon. Luo 3.3V -kisko leipälevylle käyttämällä ZYBO: n Pmod -portin JC nasta 6. Loogisen muuntimen korkeajännitetulo tulee kytkeä 5 V: n kiskoon, kun taas loogisen muuntimen pienjännitetulo tulee kytkeä 3,3 V: n kiskoon. Kytke moottorianturit 3,3 V: n kiskoon. Kytke moottorin ohjaimen VCC1 5V -kiskoon ja VCC2 12V -kiskoon. Sido kaikki EN -nastat 5 V: iin ja maadoita kaikki GND -nastat.
Liitä ultraäänianturin TRIG- ja ECHO -nastat logiikkamuuntimen HV1- ja HV2 -liittimiin. LV1 on kytkettävä JC4: ään ja LV2 johdotettavaan JC3: een. Katso taulukosta Pmod -pistokkeet. Liitä moottorit moottorin ohjaimeen. Y1 tulee liittää oikean moottorin positiiviseen napaan ja Y2 oikean moottorin negatiiviseen napaan. Vastaavasti Y3 tulee liittää vasemman moottorin positiiviseen napaan ja Y4 vasemman moottorin negatiiviseen napaan. A1, A2, A3 ja A4 on yhdistettävä JB2, JB1, JB4 ja JB3 vastaavasti. Katso pin -numerot kaaviosta. Johda JC2 oikeaan anturiin ja JC1 vasempaan anturiin. Varmista, että vetovastuksia käytetään näiden signaalien kytkemiseen 3,3 V: n kiskoon. Yhdistä ZYBO reitittimeen ethernet -kaapelilla.
Vaihe 3: Luo lohkokaavio Vivadoon
Luo uusi RTL -projekti Vivadoon. Varmista, ettet määritä mitään lähteitä tällä hetkellä. Hae "xc7z010clg400-1" ja paina lopeta. Lataa encoder_driver.sv ja ultrasonic_driver.sv. Aseta ne omiin kansioihinsa. Avaa IP -paketti "Työkalut" -kohdasta ja pakkaa määritetty hakemisto. Liitä polku enkooderin ohjaimen sisältävään kansioon ja paina "Seuraava". Napsauta "paketti IP" ja toista prosessit ultraäänianturin ohjaimelle. Siirry sen jälkeen arkistonhallintaan asetusvalikon IP -alajakson alla. Lisää polut ohjainkansioihin ja lisää ne IP -kirjastoon napsauttamalla Käytä.
Luo uusi lohkokaavio ja lisää "ZYNQ7 -prosessointijärjestelmä". Kaksoisnapsauta lohkoa ja tuo mukana toimitettu ZYBO_zynq_def.xml-tiedosto. Ota "MIO Configuration" -kohdassa käyttöön ajastin 0 ja GPIO MIO. Tallenna asetukset napsauttamalla "OK". Lisää 3 "AXI GPIO" -lohkoa ja 4 "AXI Timer" -lohkoa. Suorita lohkoautomaatio ja sen jälkeen yhteysautomaatio S_AXI: lle. Määritä GPIO -lohkot kaksoisnapsauttamalla niitä. Yhden lohkon tulisi olla kaksikanavainen, jossa on 4-bittinen tulo ja 4-bittinen lähtö. Tee nämä liitännät ulkoisiksi ja merkitse ne SW -tuloksi ja LED -lähtöksi. Toisen lohkon tulisi myös olla kaksikanavainen, ja siinä on 2 32-bittistä tuloa. Viimeinen GPIO-lohko on yksi 32-bittinen tulo. Tee jokaisen ajastinlohkon pwm0 -ulostulo ulkoiseksi. Merkitse ne PWM0, PWM1, PWM2 ja PWM3.
Lisää anturiohjain lohkokaavioon ja liitä CLK FCLK_CLK0: een. Liitä OD0 ja OD1 toisen GPIO -lohkon tulokanaviin. Tee ENC ulkoiseksi ja nimeä ENC_0 uudelleen ENC: ksi. Lisää ultraäänianturilohko ja liitä CLK FCLK_CLK0: een. Tee TRIG ja ECHO ulkoisiksi ja nimeä TRIG_0 uudelleen TRIG: ksi ja ECHO_0 ECHO: ksi. Liitä RF kolmanteen GPIO -lohkoon. Katso viitteenä toimitetusta lohkokaaviosta.
Napsauta lohkokaaviotiedostoasi hiiren kakkospainikkeella Lähteet -ruudussa ja luo HDL -kääre. Muista sallia käyttäjän muokkaukset. Lisää pakollinen ZYBO_Master.xdc -tiedosto. Napsauta "Luo bittivirta" ja pidä kahvitauko.
Vaihe 4: Asenna ohjelmistokehitysympäristö
Siirry "Tiedosto" -kohtaan viedäksesi laitteiston Vivado SDK: hon. Muista sisällyttää bittivirta. Tuo RTOSDemo -projekti "CORTEX_A9_Zynq_ZC702" -kansioon. Se sijaitsee FreeRTOS -asennushakemistossa. Luo uusi hallituksen tukipaketti ja valitse lwip202 -kirjasto. Muuta viitattu BSP RTOSDemo -projektissa juuri luomallesi BSP: ksi*.
*Tätä ohjetta kirjoitettaessa FreeRTOSissa näyttää olevan virhe, joka viittaa oikeaan BSP: hen. Voit korjata tämän luomalla uuden BSP: n, jolla on samat asetukset kuin ensimmäisellä. Vaihda viitattu BSP uuteen ja vaihda sitten takaisin vanhaan, kun se ei onnistu. FreeRTOSin pitäisi nyt kääntää ilman virheitä. Voit vapaasti poistaa käyttämättömän BSP: n.
Vaihe 5: Muokkaa esittelyohjelmaa
Luo uusi kansio nimeltä "drivers" RTOSDemo -hakemiston "src" alle. Kopioi toimitettu gpio.h. gpio.c, pwm.h, pwm.c, matkamittari.h, matkamittari.c, etäisyysmittari.c, etäisyysmittari.h, motor.h ja motor.c -tiedostot "Drivers" -hakemistoon.
Avaa main.c ja aseta mainSELECTED_APPLICATION arvoksi 2. Korvaa main_lwIP.c kohdassa "lwIP_Demo" päivitetyllä versiolla. BasicSocketCommandServer.c kohdassa "lwIP_Demo/apps/BasicSocketCommandServer" on myös päivitettävä uudella versiolla. Viimeksi, siirry kohtaan "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" ja korvaa Sample-CLI-komennot. C mukana toimitetulla versiolla. Rakenna projekti ja varmista, että kaikki kääntyy onnistuneesti.
Vaihe 6: Flash -laiteohjelmisto QSPI: ksi
Luo uusi sovellusprojekti nimeltä "FSBL" käyttämällä "Zynq FSBL" -mallia. Kun olet koonnut FSBL -projektin, luo käynnistyskuva RTOSDemo -projektista. Varmista, että "FSBL/Debug/FSBL.elf" on valittu käynnistyslataimeksi "Boot image partitions" -kohdassa. Lisää polku manuaalisesti tähän tiedostoon, jos sitä ei ole luettelossa.
Siirrä ZYBOn JP5 -hyppyjohdin asentoon "JTAG". Liitä tietokone ZYBO-laitteeseen USB Micro-B -kaapelilla. Liitä akku ja käynnistä ZYBO. Suorita Adept varmistaaksesi, että tietokone tunnistaa ZYBOn oikein. Napsauta "Program Flash" Vivado SDK: ssa ja anna polut BOOT.bin -tiedostoon RTOSDemossa ja FSBL.elf -tiedostoon FSBL: ssä. Muista valita "Vahvista salaman jälkeen", ennen kuin painat "Ohjelma". Katso konsolia varmistaaksesi, että vilkkuva toiminto on suoritettu onnistuneesti. Kytke sitten ZYBO pois päältä ja irrota USB -kaapeli. Siirrä JP5 -hyppääjä kohtaan "QSPI".
Vaihe 7: Määritä langaton tukiasema
Kun akku on edelleen kytkettynä, muodosta yhteys reitittimen Wi-Fi-verkkoon. Oletus -SSID: n ja salasanan on oltava reitittimen pohjassa. Siirry sen jälkeen osoitteeseen https://tplinkwifi.net ja kirjaudu sisään käyttäjätunnuksen ja salasanan avulla "admin". Suorita ohjattu pika -asennus ja määritä reititin tukiasematilassa, jossa DHCP on käytössä. Muista myös päivittää laitteen oletuskäyttäjätunnus ja -salasana. Reitittimen pitäisi käynnistyä automaattisesti uudelleen tukiasematilaan, kun olet valmis.
Käynnistä ZYBO ja muodosta yhteys reitittimeen määrittämäsi SSID -tunnuksen avulla. Reititin tulee todennäköisesti joko IP -osoitteeseen 192.168.0.100 tai 192.160.0.101. ZYBO määritetään sen mukaan, kumpaa osoitetta reitittimellä ei ole. Voit määrittää reitittimen IP -osoitteen nopeasti suorittamalla "ipconfig" Windowsin komentoriviltä tai "ifconfig" päätelaitteesta Linuxissa tai MacOS: ssa. Jos olet edelleen yhteydessä reitittimeen, näet sen IP -osoitteen langattoman liittymän vieressä. Käytä näitä tietoja ZYBO -laitteen IP -osoitteen määrittämiseen. Voit vahvistaa ZYBO: n IP -osoitteen joko pingittämällä sen komentoriviltä tai muodostamalla yhteyden siihen telnetin kautta.
Vaihe 8: Suorita Java -ohjelma
Lataa RobotClient.java ja käännä tiedosto komentoriviltä tulevalla komennolla "javac RobotClient.java". Suorita komento "java RobotClient", jossa "ip_address" on ZYBO: n IP -osoite. Ohjauskäyttöliittymä avautuu, jos tietokoneen ja ZYBOn välille muodostetaan onnistunut yhteys. Kun ikkuna on tarkennettu, robotin pitäisi olla ohjattavissa näppäimistön nuolinäppäimillä. Lopeta istunto ja katkaise yhteys robottiin painamalla poistumispainiketta.
GUI korostaa painettuja näppäimiä ja näyttää moottorin tehon oikeassa yläkulmassa. Vasemmalla oleva etäisyysmittari täyttää palkin 2 metrin välein enintään 10 metriin.
Vaihe 9: Kalibroi etäisyysmittari
ZYBO: n kytkimillä voidaan määrittää etäisyysmittari. Pienin havaitsemisetäisyys d annetaan kytkintulon i funktiona:
d = 50i + 250
Syöttö voi vaihdella välillä 0 - 15 kokonaislukuina. Tämä tarkoittaa etäisyyttä 0,25 metristä 1 metriin. Minimietäisyydellä ensimmäinen merkkivalo alkaa vilkkua. Aktiivisten LED -valojen määrä on verrannollinen kohteen läheisyyteen.
Vaihe 10: Esteettömyys
Tämä robotti on erittäin helposti saatavilla. Sen hallinnan yksinkertaisuuden vuoksi sitä voidaan ohjata täysin yhdellä sormella. Saavutettavuuden parantamiseksi voidaan lisätä tukea muille syöttölaitteille. Tämä voi antaa vammaisille käyttäjille mahdollisuuden hallita robottia eri kehon osalla.
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite