Агуулгын хүснэгт:

WiBot: 10 алхам (зурагтай)
WiBot: 10 алхам (зурагтай)

Видео: WiBot: 10 алхам (зурагтай)

Видео: WiBot: 10 алхам (зурагтай)
Видео: Хоромхон зуурт хэнийг ч өөртөө дурлуулах амьдралыг чинь өөрчлөх 10 алхам 💘(ROMANTIC) 2024, Арваннэгдүгээр
Anonim
WiBot
WiBot

Энэхүү зааварчилгаа нь ZYBO платформ дээр Wi-Fi робот бүтээх үйл явцыг нарийвчлан тайлбарласан болно. Энэхүү төсөл нь объектыг илрүүлэх, зайг хэмжих, хариу үйлдлийг хянах бодит цагийн үйлдлийн системийг ашигладаг. Энэхүү гарын авлагад ZYBO -ийг дагалдах төхөөрөмжүүдтэй холбох, тусгай програм хангамж ажиллуулах, Java програмаар дамжуулан харилцах талаар тусгасан болно. Энэхүү төсөлд шаардлагатай бүх үндсэн бүрэлдэхүүн хэсгүүдийн жагсаалтыг доор харуулав.

  • 1 ZYBO хөгжлийн зөвлөл
  • 1 TL-WR802N утасгүй чиглүүлэгч
  • 1 Сүүдэр явах эд анги
  • 65 мм хэмжээтэй 2 дугуй
  • 2 140 эрг / мин хурдны хөдөлгүүр
  • 2 дугуйт кодлогч
  • 1 HC-SR04 хэт авианы мэдрэгч
  • 1 BSS138 логик түвшний хөрвүүлэгч
  • 1 L293 H-Bridge мотор жолооч
  • 1 12V -аас 5V DC/DC хөрвүүлэгч
  • 1 2200mAh LiPo батерей
  • 1 Ethernet кабель
  • 1 USB Micro-B кабель
  • 1 Эмэгтэй XT60 холбогч
  • Эрэгтэй-эмэгтэй 2 холбогч утас
  • 30 эрэгтэй-эрэгтэй холбогч утас
  • 2 10kΩ эсэргүүцэл
  • 1 Талхны самбар

Нэмж дурдахад зорилтот компьютер дээр дараахь програм хангамжийг суулгасан байх ёстой.

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE хөгжүүлэх хэрэгсэл 8.191

Алхам 1: Робот явах эд анги угсрах

Робот явах эд анги угсрах
Робот явах эд анги угсрах
Робот явах эд анги угсрах
Робот явах эд анги угсрах
Робот явах эд анги угсрах
Робот явах эд анги угсрах

Сүүдэр явах эд ангиудыг угсарч, хурдны мотор ба кодлогчдыг доод хүрээ рүү холбоно уу. ZYBO, талхны самбар, хэт авианы мэдрэгчийг 3 хэмжээст хэвлэж, хоёр талт соронзон хальсны тусламжтайгаар явах эд анги дээр бэхлэх боломжтой. доод хүрээ. Чиглүүлэгчийг ZYBO -ийн ойролцоо, DC/DC хөрвүүлэгчийг талхны тавцан дээр ойрхон холбоно уу. Дугуйг хамгийн сүүлд хурдны хөдөлгүүрт холбоно уу.

Алхам 2: Wire Electronics

Утасны электроник
Утасны электроник
Утасны электроник
Утасны электроник
Утасны электроник
Утасны электроник

DC/DC хөрвүүлэгчийн оролт, гаралтыг талхны самбар дээрх хоёр тэжээлийн төмөр замд холбоно. Эдгээр нь 12V ба 5V системийн хангамж болно. Зураг дээр үзүүлсэн шиг ZYBO -г 5V төмөр замд холбоно уу. Чиглүүлэгчийг 5V төмөр замд холбохын тулд USB Micro-B тэжээлийн кабель ашиглана уу. XT60 кабелийг 12V төмөр замд холбох ёстой. Үлдсэн цахилгаан хэрэгслийг зөв залгах хүртэл зайг бүү залгаарай. Хэт авианы мэдрэгчийг 5V төмөр замд холбох ёстой. ZYBO дээрх Pmod порт JC -ийн 6 -р зүүг ашиглан талхны самбар дээр 3.3V төмөр зам үүсгэнэ. Логик хөрвүүлэгчийн өндөр хүчдэлийн оролтыг 5В төмөр замд, харин бага хүчдэлийн оролтыг 3.3В төмөр замд холбох ёстой. Мотор кодлогчдыг 3.3V төмөр замд холбоно уу. Мотор жолоочийн VCC1 -ийг 5V төмөр замд холбож, VCC2 -ийг 12V төмөр замд холбоно. Бүх EN тээглүүрийг 5V -тэй холбож, бүх GND тээглүүрийг газардуул.

Хэт авианы мэдрэгчийн TRIG ба ECHO зүүг логик хөрвүүлэгчийн HV1 ба HV2 -т тус тус холбоно уу. LV1 нь JC4, LV2 нь JC3 руу утастай байх ёстой. Pmod pinouts -ийн хүснэгтийг үзнэ үү. Моторыг мотор жолоочтой холбоно уу. Y1 нь зөв моторын эерэг терминал руу, Y2 нь баруун хөдөлгүүрийн сөрөг терминалтай холбогдсон байх ёстой. Үүний нэгэн адил Y3 нь зүүн хөдөлгүүрийн эерэг терминал руу, Y4 нь зүүн хөдөлгүүрийн сөрөг терминал руу холбогдсон байх ёстой. A1, A2, A3, A4 -ийг JB2, JB1, JB4, JB3 -т тус тус тусад нь зурах ёстой. Пин дугааруудын схемийг үзнэ үү. JC2 -ийг баруун кодлогч руу, JC1 -ийг зүүн кодлогч руу холбоно уу. Эдгээр дохиог 3.3V төмөр замд холбоход татах резистор ашиглаж байгаа эсэхийг шалгаарай. Эцэст нь Ethernet кабелийг ашиглан ZYBO -г чиглүүлэгч рүү холбоно уу.

Алхам 3: Vivado дээр блок диаграм үүсгэх

Vivado дээр блок диаграм үүсгэх
Vivado дээр блок диаграм үүсгэх

Vivado -д шинэ RTL төсөл үүсгээрэй. Одоогоор ямар нэгэн эх сурвалжийг зааж өгөөгүй байгаа эсэхийг шалгаарай. "Xc7z010clg400-1" гэж хайгаад дуусга. Encoder_driver.sv болон ultrasonic_driver.sv татаж аваарай. Тэдгээрийг өөрийн хавтсанд байрлуул. "Багаж хэрэгсэл" хэсэгт IP Packager -ийг нээж, заасан директорыг багцлахыг сонгоно уу. Кодлогч драйвер агуулсан фолдер руу замыг оруулаад "Дараах" гэснийг дарна уу. "Багцын IP" дээр дарж хэт авианы мэдрэгчийн драйверын процессыг давтана уу. Үүний дараа тохиргооны цэсэн дэх IP дэд хэсгийн агуулах менежер рүү очно уу. Драйвер фолдеруудад замыг нэмж, IP номын санд оруулахын тулд apply дарна уу.

Шинэ блок диаграм үүсгээд "ZYNQ7 боловсруулах систем" -ийг нэмнэ үү. Блок дээр давхар товшоод өгөгдсөн ZYBO_zynq_def.xml файлыг импортлоорой. "MIO тохиргоо" хэсэгт Timer 0 болон GPIO MIO -г идэвхжүүлнэ үү. Тохиргоог хадгалахын тулд "OK" дээр дарна уу. 3 "AXI GPIO" блок, 4 "AXI Timer" блок нэмнэ үү. S_AXI -ийн блок автоматжуулалтыг ажиллуулсны дараа холболтын автоматжуулалтыг ажиллуулна уу. GPIO блокуудыг тохируулахын тулд хоёр товшино уу. Нэг блок нь 4 битийн оролт ба 4 битийн гаралттай хоёр сувагтай байх ёстой. Эдгээр холболтыг гадаад болгож, оролтын хувьд SW, гаралтын хувьд LED гэж тэмдэглээрэй. Хоёрдахь блок нь 32 битийн 2 оролттой хос суваг байх ёстой. Сүүлийн GPIO блок нь 32 битийн ганц оролт байх болно. Таймерын блок бүрээс pwm0 гаралтыг гадаад болгох. Тэднийг PWM0, PWM1, PWM2, PWM3 гэж тэмдэглээрэй.

Блок диаграмд кодлогч драйверийг нэмж CLK -ийг FCLK_CLK0 руу холбоно уу. OD0 ба OD1 -ийг хоёр дахь GPIO блокийн оролтын сувгууд руу холбоно уу. ENC -ийг гадаад болгож ENC_0 -ийн нэрийг ENC болгон өөрчилнө үү. Хэт авианы мэдрэгчийн блокыг нэмж CLK -ийг FCLK_CLK0 руу холбоно уу. TRIG болон ECHO -г гадаад болгож TRIG_0 -ийг TRIG, ECHO_0 -ийг ECHO болгон өөрчил. Гурав дахь GPIO блок руу RF -ийг холбоно уу. Лавлахын тулд өгөгдсөн блок диаграмыг үзнэ үү.

Эх сурвалж самбар дээрх блок диаграмын файлыг баруун товшиж HDL боодол үүсгэнэ үү. Хэрэглэгчийн засварыг зөвшөөрөхөө мартуузай. Өгөгдсөн ZYBO_Master.xdc файлыг хязгаарлалт болгон нэмнэ үү. "Bitstream үүсгэх" дээр дарж кофе ууна уу.

Алхам 4: Програм хангамж хөгжүүлэх орчныг тохируулах

Тоног төхөөрөмжийг Vivado SDK руу экспортлохын тулд "Файл" хэсэгт очно уу. Bitstream -ийг оруулахаа мартуузай. RTOSDemo төслийг "CORTEX_A9_Zynq_ZC702" дотор импортлох. Энэ нь FreeRTOS суулгах лавлах дотор байрлах болно. ТУЗ -ийн дэмжлэгийн шинэ багц үүсгээд lwip202 номын санг сонгоно уу. RTOSDemo төслийн иш татсан BSP -ийг саяхан үүсгэсэн BSP болгон өөрчил*.

*Энэхүү зааврыг бичих үед FreeRTOS нь зөв BSP -ийг иш татсан алдаатай байсан бололтой. Үүнийг арилгахын тулд эхнийхтэй ижил тохиргоотой шинэ BSP үүсгэнэ үү. Лавласан BSP -ийг шинэ болгож өөрчилж, бүтээж чадаагүйн дараа хуучин руу нь буцааж оруулна уу. FreeRTOS одоо алдаагүй эмхэтгэх ёстой. Ашиглагдаагүй BSP -ийг устгахад таатай байна.

Алхам 5: Демо хөтөлбөрийг өөрчлөх

RTOSDemo -ийн "src" лавлах дор "драйверууд" нэртэй шинэ хавтас үүсгэнэ үү. Өгөгдсөн gpio.h -ийг хуулна уу. gpio.c, pwm.h, pwm.c, odometer.h, odometer.c, rangefinder.c, rangefinder.h, motor.h, motor.c файлуудыг "жолооч" лавлах руу оруулна уу.

Main.c -ийг нээж mainSELECTED_APPLICATION -ийг 2 болгож тохируулна уу. "LwIP_Demo/apps/BasicSocketCommandServer" хэсэгт байгаа BasicSocketCommandServer.c нь мөн шинэ хувилбараар шинэчлэгдэх ёстой. Эцэст нь "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" руу очоод Sample-CLI-commands.c-ийг өгсөн хувилбараар солино уу. Төслийг бүтээж, бүх зүйл амжилттай эмхэтгэгдсэн эсэхийг шалгаарай.

Алхам 6: QSPI руу Flash програм хангамж

QSPI -д зориулсан Flash програм хангамж
QSPI -д зориулсан Flash програм хангамж
QSPI -д зориулсан Flash програм хангамж
QSPI -д зориулсан Flash програм хангамж
QSPI -д зориулсан Flash програм хангамж
QSPI -д зориулсан Flash програм хангамж

"Zynq FSBL" загварыг ашиглан "FSBL" нэртэй програмын шинэ төсөл үүсгээрэй. FSBL төслийг эмхэтгэсний дараа RTOSDemo төслийн ачаалах дүрсийг үүсгэнэ үү. "Ачаалах зургийн хуваалтууд" хэсэгт "FSBL/Debug/FSBL.elf" ачаалагчаар сонгогдсон эсэхийг шалгаарай. Хэрэв энэ файл жагсаалтад ороогүй бол замыг гараар нэмнэ үү.

ZYBO дээрх JP5 холбогчийг "JTAG" руу зөөнө үү. USB Micro-B кабель ашиглан компьютерээ ZYBO-той холбоно уу. Батерейгаа холбоод ZYBO -г асаана уу. ZYBO -г компьютер зөв танихын тулд Adept програмыг ажиллуулна уу. Vivado SDK дээрх "Program Flash" дээр дарж RTOSDemo дахь BOOT.bin файл, FSBL дээрх FSBL.elf файлын замыг оруулна уу. "Програм" дээр дарахаасаа өмнө "Flash дараа баталгаажуулах" сонголтыг хийхээ мартуузай. Анхаарах ажиллагаа амжилттай дууссан эсэхийг шалгахын тулд консолыг үзээрэй. Үүний дараа ZYBO -г унтрааж, USB кабелийг салга. JP5 холбогчийг "QSPI" рүү зөөнө үү.

Алхам 7: Утасгүй нэвтрэх цэгийг тохируулна уу

Зайг холбосон хэвээр байгаа тохиолдолд чиглүүлэгчийн Wi-Fi сүлжээнд холбогдоно уу. Анхдагч SSID болон нууц үг нь чиглүүлэгчийн доод талд байх ёстой. Үүний дараа https://tplinkwifi.net руу ороод хэрэглэгчийн нэр, нууц үгээ "админ" ашиглан оруулна уу. DHCP идэвхжсэн үед чиглүүлэгчийг хандалтын цэгийн горимд тохируулахын тулд хурдан тохируулах шидтэнг ажиллуулна уу. Төхөөрөмжийн анхдагч хэрэглэгчийн нэр, нууц үгийг шинэчлэхээ мартуузай. Дууссаны дараа чиглүүлэгч нь хандалтын цэгийн горимд автоматаар дахин ачаалагдах ёстой.

ZYBO -г асааж, өгсөн SSID -ийг ашиглан чиглүүлэгч рүү холбогдоно уу. Чиглүүлэгч нь 192.168.0.100 эсвэл 192.160.0.101 IP хаягийн аль нэг дээр гарч ирэх магадлалтай. ZYBO нь чиглүүлэгчид байхгүй хаягийг оноож өгнө. Чиглүүлэгчийн IP хаягийг хурдан тодорхойлохын тулд та Windows дээрх командын мөрөөс "ipconfig" эсвэл Linux эсвэл MacOS дээрх терминалаас "ifconfig" ажиллуулж болно. Хэрэв та чиглүүлэгчтэй холбогдсон хэвээр байвал түүний IP хаягийг утасгүй интерфэйсийнхээ хажууд харуулах болно. ZYBO -ийн IP хаягийг тодорхойлохын тулд энэ мэдээллийг ашиглана уу. ZYBO -ийн IP хаягийг баталгаажуулахын тулд та үүнийг командын мөрөөс хуулж эсвэл telnet -ээр холбож болно.

Алхам 8: Java програмыг ажиллуулна уу

Java програмыг ажиллуулна уу
Java програмыг ажиллуулна уу

RobotClient.java програмыг татаж аваад командын мөрөөс "javac RobotClient.java" командыг ашиглан файлыг эмхэтгээрэй. "Java RobotClient" командыг ажиллуулна уу, энд "ip_address" нь ZYBO -ийн IP хаяг юм. Компьютер болон ZYBO -ийн хооронд амжилттай холболт үүсвэл хяналтын GUI гарч ирэх болно. Цонхыг төвлөрүүлсний дараа роботыг гар дээрх сумны товчлуур ашиглан удирдах боломжтой байх ёстой. Зугтах товчийг дарж сессийг дуусгаад роботоос салга.

GUI нь дарагдсан товчлууруудыг тодруулж, хөдөлгүүрийн гаралтыг баруун дээд буланд харуулна. Зүүн талын зай хэмжигч нь баарыг 2 метр тутамд хамгийн ихдээ 10 метр хүртэл дүүргэдэг.

Алхам 9: Rangefinder -ийг тохируулна уу

ZYBO дээрх унтраалга нь самбар дээрх хүрээ хайгчийг тохируулахад ашиглаж болно. Хамгийн бага илрүүлэх зай d -ийг i шилжүүлэгч оролтын функцээр өгсөн болно.

d = 50i + 250

Оролт нь 0-15 хооронд бүхэл тооноос хамаарч өөр өөр байж болно. Энэ нь 0.25 метрээс 1 метр хүртэлх зайд орчуулагддаг. Хамгийн бага зайд эхний LED анивчиж эхэлнэ. Идэвхтэй LED тоо нь объектын ойролцоо пропорциональ байна.

Алхам 10: Хүртээмжтэй байдал

Энэ роботыг ашиглахад маш хялбар байдаг. Хяналтын энгийн байдлаас шалтгаалан ганц хуруугаараа бүрэн удирдах боломжтой. Хүртээмжийг сайжруулахын тулд нэмэлт оролтын төхөөрөмжүүдийн дэмжлэгийг нэмж болно. Энэ нь хөгжлийн бэрхшээлтэй хүмүүст роботыг биеийнхээ өөр хэсгээр удирдах боломжийг олгодог.

Зөвлөмж болгож буй: