Мазмуну:
- 1 -кадам: Робот шассиин чогултуп алыңыз
- 2 -кадам: Wire Electronics
- 3 -кадам: Vivadoдо Блок Диаграммасын түзүңүз
- 4 -кадам: Программаны иштеп чыгуу чөйрөсүн орнотуңуз
- 5 -кадам: Демо программасын өзгөртүү
- 6 -кадам: Flash Firmware QSPIге
- 7 -кадам: Зымсыз кирүү чекитин конфигурациялоо
- 8 -кадам: Java программасын иштетүү
- 9 -кадам: Rangefinderди калибрлөө
- 10 -кадам: Жеткиликтүүлүк
Video: WiBot: 10 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул көрсөтмө 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
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'до жаңы 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ге
"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 программасын иштетүү
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 -кадам: Жеткиликтүүлүк
Бул роботко абдан оңой жетүүгө болот. Башкаруунун жөнөкөйлүгүнөн улам бир манжа менен толук башкарууга болот. Жеткиликтүүлүктү жакшыртуу үчүн кошумча киргизүү түзмөктөрүнө колдоо кошулушу мүмкүн. Бул майыптарга роботту денесинин башка бөлүгү менен башкарууга мүмкүнчүлүк бериши мүмкүн.
Сунушталууда:
Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштөөчү LED Жарыгы (лары) Күндүн кубаттуулугу менен: Аялым самын жасоону үйрөтөт, анын сабактарынын көбү кечинде болчу, кышында бул жерде саат 16:30 чамасында караңгы кирип калат, анын кээ бир окуучулары бизди табууда кыйналышкан. үй Бизде маңдайкы жазуу бар болчу, бирок көчө лигасы менен да
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен которулат: Долбоор: 200 чарчы фут офис батарея менен иштеши керек. Офис ошондой эле бул система үчүн зарыл болгон бардык контроллерлерди, батареяларды жана компоненттерди камтышы керек. Күн жана шамал энергиясы батареяларды заряддайт. Кичине гана көйгөй бар
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Battle City Remake GameGo менен Makecode Arcade менен: 4 кадам (сүрөттөр менен)
Battle City Remake GameGo менен Makecode Arcade: GameGo - бул TinkerGen STEM билим берүү тарабынан иштелип чыккан Microsoft Makecode менен шайкеш ретро оюн портативдик консолу. Бул STM32F401RET6 ARM Cortex M4 чипине негизделген жана STEM педагогдоруна же жөн эле ретро видео түзүүнү жакшы көргөн адамдар үчүн жасалган
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет