Мазмуну:

WiBot: 10 кадам (Сүрөттөр менен)
WiBot: 10 кадам (Сүрөттөр менен)

Video: WiBot: 10 кадам (Сүрөттөр менен)

Video: WiBot: 10 кадам (Сүрөттөр менен)
Video: STD 1 SUBJECT : ENGISH BY PAYALBEN RATHOD 2024, Ноябрь
Anonim
WiBot
WiBot

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

  • 1 ZYBO өнүктүрүү кеңеши
  • 1 TL-WR802N зымсыз роутери
  • 1 Shadow Chassis
  • 2 65мм дөңгөлөк
  • 2 140rpm редукторлор
  • 2 Wheel Encoders
  • 1 HC-SR04 Ultrasonic Sensor
  • 1 BSS138 Logic Level Converter
  • 1 L293 H-Bridge мотор айдоочусу
  • 1 12V - 5V DC/DC Converter
  • 1 2200mAh LiPo батареясы
  • 1 Ethernet кабели
  • 1 USB Micro-B кабели
  • 1 Аял XT60 туташтыргычы
  • 2 Эркектен Аялга секирүүчү зымдар
  • 30 Эркектен Эркекке секирүүчү зымдар
  • 2 10kΩ резисторлор
  • 1 Breadboard

Мындан тышкары, максаттуу компьютерге төмөнкү программалык камсыздоо орнотулушу керек:

  • Xilinx Vivado Design Suite 2018.2
  • Digilent Adept 2.19.2
  • FreeRTOS 10.1.1
  • Java SE Development Kit 8.191

1 -кадам: Робот шассиин чогултуп алыңыз

Робот шассиин чогултуу
Робот шассиин чогултуу
Робот шассиин чогултуу
Робот шассиин чогултуу
Робот шассиин чогултуу
Робот шассиин чогултуу

Көлөкө шассиди чогултуп, редмоторлорду жана коддогучтарды астыңкы алкакка бекиткиле. ZYBO, breadboard жана УЗИ сенсору 3D басылып чыгарылышы мүмкүн болгон бөлүктөр менен орнотулушу мүмкүн жана эки тараптуу лента менен батарейкага орнотулушу мүмкүн. астыңкы алкактар. Маршрутизаторду ZYBOго жана DC/DC конвертерине нанга жакын орнотуңуз. Дөңгөлөктөрдү эң аягында редмоторго бекиткиле.

2 -кадам: Wire Electronics

Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics
Wire Electronics

DC/DC конвертеринин киришин жана чыгышын тиешелүү түрдө панельдеги эки электр рельсине туташтырыңыз. Булар тутум үчүн 12V жана 5V жабдуулары катары кызмат кылат. Сүрөттө көрсөтүлгөндөй 5V темир жолуна ZYBO туташтырыңыз. USB Micro-B менен камсыздоо кабелин колдонуп, роутерди 5V темир жолуна туташтырыңыз. XT60 кабели 12В рельске тиркелиши керек. Калган электроника туура зымдалмайынча батареяны сайбаңыз. УЗИ сенсорун 5В темир жолго туташтыруу керек. ZYBOдогу Pmod JC портунун 6 -пинин колдонуп, нан тактасында 3.3V темир жолун түзүңүз. Логикалык которгучтун жогорку чыңалуусу 5В рельске, ал эми логикалык өзгөрткүчтүн төмөнкү чыңалуусу 3.3V рельске зымдуу болушу керек. Мотордук кодерлерди 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 менен картага алынышы керек. Пин номерлери үчүн схемага кайрылыңыз. WC JC2ди оң кодерге, JC1ди сол кодерге. Бул сигналдарды 3.3V темир жолуна байлоо үчүн тартылуучу резисторлордун колдонулушун камсыз кылыңыз. Акыры, ZYBOну роутерге туташтыруу үчүн Ethernet кабелин колдонуңуз.

3 -кадам: Vivadoдо Блок Диаграммасын түзүңүз

Vivado'до блок -диаграмма түзүңүз
Vivado'до блок -диаграмма түзүңүз

Vivado'до жаңы RTL долбоорун түзүңүз. Учурда булактарды көрсөтпөңүз. "Xc7z010clg400-1" издеп, аягына чык. Encoder_driver.sv жана ultrasonic_driver.sv жүктөп алыңыз. Аларды өз папкаларына жайгаштырыңыз. "Куралдар" астындагы IP Пакерди ачыңыз жана көрсөтүлгөн каталогду пакеттөөнү тандаңыз. Коддогуч драйвери бар папкага жолду чаптаңыз жана "Кийинки" баскычын басыңыз. "IP пакетин" чыкылдатыңыз жана ультрадыбыштуу сенсор драйвери үчүн процесстерди кайталаңыз. Андан кийин, жөндөөлөр менюсунда IP бөлүмүнүн астындагы репозиторийлердин менеджерине өтүңүз. Драйвер папкаларына жолдорду кошуп, IP китепканасына кошуу үчүн "Apply" баскычын басыңыз.

Жаңы блок -схеманы түзүңүз жана "ZYNQ7 Processing System" кошуңуз. Блокту эки жолу чыкылдатыңыз жана берилген ZYBO_zynq_def.xml файлын импорттоңуз. "MIO конфигурациясы" астында Timer 0 жана GPIO MIO иштетүү. конфигурацияны сактоо үчүн "OK" баскычын басыңыз. 3 "AXI GPIO" блокторун жана 4 "AXI Timer" блокторун кошуңуз. S_AXI үчүн туташууну автоматташтыруу менен блокту автоматташтырууну иштетүү. GPIO блокторун конфигурациялоо үчүн эки жолу чыкылдатыңыз. Бир блок 4-бит киргизүү жана 4-бит чыгаруу менен кош канал болушу керек. Бул байланыштарды тышкы кылып, аларды киргизүү үчүн SW жана чыгаруу үчүн LED деп белгилеңиз. Экинчи блок, ошондой эле 2 32-бит киргизүү менен кош канал болушу керек. Акыркы 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го өзгөртүңүз. RFди үчүнчү GPIO блогуна туташтырыңыз. Маалымат үчүн берилген блок -схемага кайрылыңыз.

Булактар панелиндеги блок -диаграмма файлын оң баскыч менен чыкылдатып, HDL орогучун түзүңүз. Колдонуучунун түзөтүүлөрүнө уруксат берүүнү унутпаңыз. Чектөө катары берилген ZYBO_Master.xdc файлын кошуңуз. "Genstre Bitstream" баскычын басып, кофе -брейк алыңыз.

4 -кадам: Программаны иштеп чыгуу чөйрөсүн орнотуңуз

Vivado SDKга жабдыктарды экспорттоо үчүн "Файлдын" астына өтүңүз. Бит агымын кошууну тактаңыз. RTOSDemo долбоорун "CORTEX_A9_Zynq_ZC702" ичине импорттоо. Ал FreeRTOS орнотуу каталогунда болот. Жаңы Board колдоо пакетин түзүңүз, lwip202 китепканасын тандаңыз. RTOSDemo долбоорундагы шилтеме кылынган BSPти сиз түзгөн BSPке өзгөртүңүз*.

*Бул Instructable жазылып жаткан учурда, 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 деп коюңуз. Main_lwIP.c "lwIP_Demo" астындагы жаңыртылган версиясы менен алмаштырыңыз. "LwIP_Demo/apps/BasicSocketCommandServer" астындагы BasicSocketCommandServer.c дагы жаңы версия менен жаңыртылышы керек. Акырында, "FreeRTOSv10.1.1/FreeRTOS-Plus/Demo/Common/FreeRTOS_Plus_CLI_Demos" өтүңүз жана Sample-CLI-commands.c'ти берилген версияга алмаштырыңыз. Долбоорду куруңуз жана бардыгы ийгиликтүү түрдө түзүлөт.

6 -кадам: Flash Firmware QSPIге

QSPIге Flash программасы
QSPIге Flash программасы
QSPIге Flash программасы
QSPIге Flash программасы
QSPIге Flash программасы
QSPIге Flash программасы

"Zynq FSBL" шаблонун колдонуу менен "FSBL" деп аталган жаңы Программа долбоорун түзүңүз. FSBL долбоорун түзгөндөн кийин, RTOSDemo долбоорунун жүктөөчү сүрөтүн түзүңүз. "FSBL/Debug/FSBL.elf" жүктөөчү катары "Жүктөөчү сүрөт бөлүктөрү" астында тандалганын текшериңиз. Бул файлга жол тизмеде жок болсо, аны кол менен кошуңуз.

ZYBOдогу JP5 секиргичин "JTAG" га жылдырыңыз. Компьютериңизди ZYBOго туташтыруу үчүн USB Micro-B кабелин колдонуңуз. Батарейканы туташтырып, ZYBOну күйгүзүңүз. ZYBO компьютер тарабынан туура аныкталганына ынануу үчүн Adeptти иштетиңиз. Vivado SDKдагы "Программа Flash" чыкылдатып, RTOSDemoдогу BOOT.bin файлына жана FSBLдеги FSBL.elf файлына жолдорду камсыз кылыңыз. "Программаны" басуудан мурун "Жарк эткенден кийин текшерүү" дегенди тандаңыз. Жаркылдоо операциясы ийгиликтүү аяктаганын камсыз кылуу үчүн консолун көрүңүз. Андан кийин, 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 дарегин тез аныктоо үчүн, терезелердеги буйрук сабынан "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 которгучтун кириш функциясы катары берилет:

d = 50i + 250

Кирүү бүтүн кадамдарда 0дөн 15ке чейин өзгөрүшү мүмкүн. Бул 0,25 метрден 1 метрге чейинки аралыкка которулат. Минималдуу аралыкта биринчи LED жаркырай баштайт. Жарык диоддордун активдүү саны объектинин жакындыгына пропорционалдуу.

10 -кадам: Жеткиликтүүлүк

Бул роботко абдан оңой жетүүгө болот. Башкаруунун жөнөкөйлүгүнөн улам бир манжа менен толук башкарууга болот. Жеткиликтүүлүктү жакшыртуу үчүн кошумча киргизүү түзмөктөрүнө колдоо кошулушу мүмкүн. Бул майыптарга роботту денесинин башка бөлүгү менен башкарууга мүмкүнчүлүк бериши мүмкүн.

Сунушталууда: