Orodha ya maudhui:

WiBot: Hatua 10 (zilizo na Picha)
WiBot: Hatua 10 (zilizo na Picha)

Video: WiBot: Hatua 10 (zilizo na Picha)

Video: WiBot: Hatua 10 (zilizo na Picha)
Video: VIDEO;MREMBO AKIFANYA NA CHUPA YA FANTA 2024, Septemba
Anonim
WiBot
WiBot

Maelezo haya yanafundishwa mchakato wa kujenga roboti ya Wi-Fi kwenye jukwaa la ZYBO. Mradi huu unatumia mfumo wa wakati halisi wa kugundua kitu, kipimo cha umbali, na udhibiti wa msikivu. Mwongozo huu utashughulikia kuingiliana kwa ZYBO na vifaa vya pembeni, kuendesha firmware ya kawaida, na kuwasiliana kupitia programu ya Java. Ifuatayo ni orodha ya vitu vyote muhimu vinavyohitajika kwa mradi huu:

  • 1 Bodi ya Maendeleo ya ZYBO
  • 1 TL-WR802N Njia isiyo na waya
  • 1 Kivuli cha Chassis
  • 2 65mm Magurudumu
  • 2 140rpm Gearmotors
  • 2 Encoders za Gurudumu
  • 1 HC-SR04 Sensorer ya Ultrasonic
  • 1 BSS138 Kiwango cha mantiki Kigeuzi
  • 1 L293 H-Bridge Dereva wa Magari
  • 1 12V hadi 5V DC / DC Converter
  • 1 2200mAh LiPo Betri
  • 1 Kebo ya Ethernet
  • Cable 1 ya USB Micro-B
  • Kontakt 1 ya Kike XT60
  • 2 waya za Jumper za Mwanamume na Mwanamke
  • Waya 30 kwa Mwanamume-kwa-Mwanaume Jumper
  • 2 10kΩ Resistors
  • 1 Bodi ya mkate

Kwa kuongezea, programu ifuatayo lazima iwekwe kwenye kompyuta lengwa:

  • Xilinx Vivado Design Suite 2018.2
  • Wataalam wa Digilent 2.19.2
  • BureRTOS 10.1.1
  • Vifaa vya Kuendeleza Java SE 8.191

Hatua ya 1: Kusanya Chassis ya Robot

Kusanya Chassis ya Robot
Kusanya Chassis ya Robot
Kusanya Chassis ya Robot
Kusanya Chassis ya Robot
Kusanya Chassis ya Robot
Kusanya Chassis ya Robot

Unganisha chasisi ya kivuli na ushikamishe gearmotors na encoders kwenye fremu ya chini. ZYBO, ubao wa mkate, na sensorer ya ultrasonic inaweza kuwekwa na sehemu zilizotolewa ambazo zinaweza kuchapishwa 3D na kurekebishwa kwenye chasisi kwa kutumia standoffs na mkanda wa pande mbili. Betri inapaswa kuwekwa karibu na nyuma ya roboti na ikiwezekana kati ya juu na fremu za chini. Weka router karibu na ZYBO na kibadilishaji cha DC / DC karibu na ubao wa mkate. Ambatisha magurudumu kwa ma-gearmotors mwishoni kabisa.

Hatua ya 2: Umeme wa waya

Umeme wa Umeme
Umeme wa Umeme
Umeme wa Umeme
Umeme wa Umeme
Umeme wa Umeme
Umeme wa Umeme

Unganisha pembejeo na pato la kibadilishaji cha DC / DC kwa reli mbili za umeme kwenye ubao wa mkate mtawaliwa. Hizi zitatumika kama vifaa vya 12V na 5V kwa mfumo. Unganisha ZYBO na reli ya 5V kama inavyoonekana kwenye picha. Tumia kebo ya usambazaji ya USB Micro-B kuunganisha router kwenye reli ya 5V pia. Cable ya XT60 inapaswa kushikamana na reli ya 12V. Usiunganishe betri hadi vifaa vyote vya elektroniki viunganishwe waya vizuri. Sensorer ya ultrasonic inapaswa kushonwa kwa reli ya 5V. Unda reli ya 3.3V kwenye ubao wa mkate ukitumia pini 6 ya bandari ya Pmod JC kwenye ZYBO. Uingizaji wa voltage ya juu ya kibadilishaji cha mantiki inapaswa kushonwa kwa reli ya 5V wakati pembejeo ya voltage ya chini ya kibadilishaji cha mantiki inapaswa kushonwa kwa reli ya 3.3V. Waya waya wa encoders kwa reli ya 3.3V. Unganisha VCC1 ya dereva wa gari kwenye reli ya 5V na unganisha VCC2 kwa reli ya 12V. Funga pini zote za EN kwa 5V na upinze pini zote za GND.

Unganisha pini za TRIG na ECHO za sensa ya ultrasonic kwa HV1 na HV2 ya kibadilishaji cha mantiki mtawaliwa. LV1 inapaswa kushonwa kwa JC4 na LV2 inapaswa kushonwa kwa JC3. Rejelea chati kwa vidokezo vya Pmod. Unganisha motors kwa dereva wa gari. Y1 inapaswa kushikamana na terminal nzuri ya motor inayofaa na Y2 inapaswa kushikamana na terminal hasi ya motor inayofaa. Vivyo hivyo, Y3 inapaswa kushikamana na terminal nzuri ya motor kushoto na Y4 inapaswa kushikamana na terminal hasi ya motor kushoto. A1, A2, A3, na A4 zinapaswa kupangwa kwa JB2, JB1, JB4, na JB3 mtawaliwa. Rejelea muundo wa nambari za pini. Waya JC2 kwa kisimbuzi cha kulia na JC1 kwa kisimbuzi cha kushoto. Hakikisha vipinga-vuta vya kuvuta hutumiwa kufunga ishara hizi kwenye reli ya 3.3V. Mwishowe, tumia kebo ya ethernet kuunganisha ZYBO na router.

Hatua ya 3: Unda Mchoro wa Vitalu katika Vivado

Unda Mchoro wa Vitalu katika Vivado
Unda Mchoro wa Vitalu katika Vivado

Unda mradi mpya wa RTL huko Vivado. Hakikisha kutotaja vyanzo vyovyote kwa wakati huu. Tafuta "xc7z010clg400-1" na hit hit. Pakua encoder_driver.sv na ultrasonic_driver.sv. Waweke kwenye folda zao. Fungua Kifurushi cha IP chini ya "Zana" na uchague pakiti saraka maalum. Bandika njia kwenye folda iliyo na dereva wa kusimba na bonyeza "Next". Bonyeza "kifurushi IP" na urudie michakato ya dereva wa sensorer ya ultrasonic. Baadaye, nenda kwa msimamizi wa hazina chini ya kifungu cha IP kwenye menyu ya mipangilio. Ongeza njia kwenye folda za dereva na hit kuomba kuzijumuisha kwenye maktaba ya IP.

Unda mchoro mpya wa kuzuia na ongeza "Mfumo wa Usindikaji wa ZYNQ7". Bonyeza mara mbili kizuizi na uingize faili ya ZYBO_zynq_def.xml iliyotolewa. Chini ya "Usanidi wa MIO", wezesha kipima muda 0 na GPIO MIO. piga "Sawa" ili kuhifadhi usanidi. Ongeza vizuizi 3 vya "AXI GPIO" na vizuizi 4 vya "AXI Timer". Endesha kiotomatiki cha kuzuia na kufuatiwa na kiotomatiki cha unganisho kwa S_AXI. Bonyeza mara mbili vizuizi vya GPIO kuzisanidi. Kizuizi kimoja kinapaswa kuwa kituo mbili na pembejeo ya 4-bit na pato la 4-bit. Fanya unganisho haya nje na uwape lebo SW kwa pembejeo na LED kwa pato. Kizuizi cha pili kinapaswa pia kuwa kituo mbili na pembejeo 2 32-bit. Kizuizi cha mwisho cha GPIO kitakuwa pembejeo moja ya 32-bit. Fanya pwm0 pato kutoka kwa kila kizuizi cha timer nje. Waandike PWM0, PWM1, PWM2, na PWM3.

Ongeza dereva wa kusimba kwenye mchoro wa kuzuia na unganisha CLK na FCLK_CLK0. Unganisha OD0 na OD1 kwenye njia za kuingiza za kizuizi cha pili cha GPIO. Fanya ENC nje na ubadilishe jina ENC_0 kuwa ENC. Ongeza block sensor ya ultrasonic na unganisha CLK kwa FCLK_CLK0. Fanya TRIG na ECHO nje na ubadilishe jina la TRIG_0 kuwa TRIG na ECHO_0 kuwa ECHO. Unganisha RF kwenye kizuizi cha tatu cha GPIO. Rejelea mchoro wa block uliyopewa kwa kumbukumbu.

Bonyeza kulia faili yako ya mchoro wa kizuizi kwenye kidirisha cha Vyanzo na unda kanga ya HDL. Hakikisha kuruhusu mabadiliko ya mtumiaji. Ongeza faili iliyotolewa ya ZYBO_Master.xdc kama kikwazo. Piga "Zalisha Bitstream" na chukua mapumziko ya kahawa.

Hatua ya 4: Sanidi Mazingira ya Maendeleo ya Programu

Nenda chini ya "Faili" kusafirisha vifaa kwa Vivado SDK. Hakikisha kujumuisha kijito kidogo. Ingiza mradi wa RTOSDemo ndani ya "CORTEX_A9_Zynq_ZC702". Itakuwa iko ndani ya saraka ya ufungaji ya FreeRTOS. Unda Kifurushi kipya cha Usaidizi wa Bodi chagua maktaba ya lwip202. Badilisha BSP inayorejelewa katika mradi wa RTOSDemo kuwa BSP uliyounda tu *.

* Wakati wa kuandika hii inayoweza kufundishwa, FreeRTOS inaonekana kuwa na mdudu na kutaja BSP sahihi. Ili kurekebisha hii, tengeneza BSP mpya na mipangilio sawa na ile ya kwanza. Badilisha BSP iliyotajwa kuwa mpya na kisha ibadilishe ile ya zamani baada ya kushindwa kujenga. FreeRTOS inapaswa sasa kukusanya bila makosa. Jisikie huru kufuta BSP ambayo haijatumika.

Hatua ya 5: Rekebisha Programu ya Demo

Unda folda mpya inayoitwa "madereva" chini ya saraka ya "src" ya RTOSDemo. Nakili gpio.h iliyotolewa. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h, na faili za motor.c kwenye saraka ya "madereva".

Fungua main.c na uweke mainSELECTED_APPLICATION iwe 2. Badilisha main_lwIP.c chini ya "lwIP_Demo" na toleo lililosasishwa. BasicSocketCommandServer.c chini ya "lwIP_Demo / apps / BasicSocketCommandServer" pia inapaswa kusasishwa na toleo jipya. Mwishowe, nenda kwa "FreeRTOSv10.1.1 / FreeRTOS-Plus / Demo / Kawaida / FreeRTOS_Plus_CLI_Demos" na ubadilishe Sampuli-CLI-Command.c na toleo lililotolewa. Jenga mradi na uhakikishe kila kitu kinajumuishwa kwa mafanikio.

Hatua ya 6: Flash Firmware kwa QSPI

Flash Firmware kwa QSPI
Flash Firmware kwa QSPI
Flash Firmware kwa QSPI
Flash Firmware kwa QSPI
Flash Firmware kwa QSPI
Flash Firmware kwa QSPI

Unda Mradi mpya wa Maombi unaoitwa "FSBL" ukitumia kiolezo cha "Zynq FSBL". Baada ya kuandaa mradi wa FSBL, tengeneza picha ya boot ya mradi wa RTOSDemo. Hakikisha "FSBL / Debug / FSBL.elf" imechaguliwa kama bootloader chini ya "sehemu za picha za Boot". Kwa mikono ongeza njia kwenye faili hii ikiwa haijaorodheshwa.

Hamisha kibali cha JP5 kwenye ZYBO hadi "JTAG". Tumia kebo ya USB Micro-B kuunganisha kompyuta yako kwenye ZYBO. Unganisha betri na uwashe ZYBO. Endesha vyema ili kuhakikisha kuwa ZYBO imetambuliwa kwa usahihi na kompyuta. Bonyeza "Programu ya Flash" katika Vivado SDK na utoe njia kwa faili ya BOOT.bin katika RTOSDemo na faili ya FSBL.elf katika FSBL. Hakikisha kuchagua "Thibitisha baada ya flash" kabla ya kupiga "Programu". Tazama kiweko ili kuhakikisha operesheni ya kung'aa imekamilika kwa mafanikio. Baadaye, zima ZYBO na uzime kebo ya USB. Hoja jumper ya JP5 hadi "QSPI".

Hatua ya 7: Sanidi Kituo cha Ufikiaji kisicho na waya

Na betri bado imeunganishwa, unganisha kwenye mtandao wa Wi-Fi ya router. SSID chaguomsingi na nywila zinapaswa kuwa chini ya router. Baadaye, nenda kwa https://tplinkwifi.net na uingie ukitumia "admin" kwa jina la mtumiaji na nywila. Endesha mchawi wa kusanidi haraka kusanidi router katika hali ya ufikiaji na DHCP imewezeshwa. Hakikisha kusasisha jina la mtumiaji na nenosiri chaguo-msingi kwa kifaa pia. Router inapaswa kuwasha tena kiotomatiki katika hali ya ufikiaji baada ya kumaliza.

Nguvu kwenye ZYBO na unganisha kwenye router ukitumia SSID uliyopewa. Router inaweza kutokea kwenye anwani yoyote ya IP 192.168.0.100 au 192.160.0.101. ZYBO itapewa anwani yoyote ambayo router haina. Kuamua haraka anwani ya IP ya router, unaweza kukimbia "ipconfig" kutoka kwa haraka ya amri kwenye windows au "ifconfig" kutoka kwa terminal kwenye Linux au MacOS. Ikiwa bado umeunganishwa na router, utaona anwani yake ya IP iliyoonyeshwa karibu na kiunganishi chako kisichotumia waya. Tumia habari hii kuamua anwani ya IP ya ZYBO. Ili kudhibitisha anwani ya IP ya ZYBO, unaweza kuibandika kutoka kwa laini ya amri au unganisha nayo kupitia nambari.

Hatua ya 8: Endesha Programu ya Java

Endesha Programu ya Java
Endesha Programu ya Java

Pakua RobotClient.java na uunganishe faili ukitumia amri "javac RobotClient.java" kutoka kwa laini ya amri. Endesha amri "java RobotClient" ambapo "ip_adress" ni anwani ya IP ya ZYBO. Udhibiti wa GUI utaibuka ikiwa unganisho la mafanikio limewekwa kati ya kompyuta na ZYBO. Baada ya kulenga dirisha, roboti inapaswa kudhibitiwa kwa kutumia funguo za mshale kwenye kibodi. Bonyeza kitufe cha kutoroka kumaliza kikao na utenganishe na roboti.

GUI itaangazia funguo ambazo zimeshinikizwa na kuonyesha pato la gari kulia juu. Mita ya umbali upande wa kushoto inajaza baa kila mita 2 hadi kiwango cha juu cha mita 10.

Hatua ya 9: Sanidi Rangefinder

Swichi zilizo kwenye ZYBO zinaweza kutumiwa kusanidi kisanduku cha usanidi. Umbali wa chini wa kugundua d umepewa kama kazi ya ubadilishaji wa kubadili i:

d = 50i + 250

Ingizo linaweza kutofautiana kati ya 0 hadi 15 kwa hatua kamili. Hii inatafsiriwa kwa umbali wa mita 0.25 hadi mita 1. Kwa umbali wa chini, LED ya kwanza itaanza kupepesa. Idadi ya LED ambazo zinafanya kazi ni sawa na ukaribu wa kitu.

Hatua ya 10: Upatikanaji

Roboti hii inapatikana kwa urahisi sana. Kwa sababu ya unyenyekevu wa udhibiti wake, inaweza kudhibitiwa kikamilifu na kidole kimoja tu. Ili kuboresha ufikiaji, usaidizi wa vifaa vya ziada vya kuingiza inaweza kuongezwa. Hii inaweza kuruhusu matumizi ya walemavu kudhibiti robot na sehemu tofauti ya mwili wao.

Ilipendekeza: