Mundarija:

O'simlik robot: 10 qadam
O'simlik robot: 10 qadam

Video: O'simlik robot: 10 qadam

Video: O'simlik robot: 10 qadam
Video: KO'RGAN ZAXOTİ QOCHİSHİNGİZ KERAK BO'LGAN ENG XAFLİ 10 HAYVON 2024, Iyul
Anonim
Image
Image
O'simlik ROBOTI
O'simlik ROBOTI

Hamma uyda o'simliklar etishtirishni yaxshi ko'radi, lekin ba'zida band hayotimizda ularga yaxshi g'amxo'rlik qilishga vaqt topa olmaymiz. Bu muammodan biz bir fikrga keldik: nega biz uchun unga g'amxo'rlik qiladigan robotni yaratmasligingiz kerak?

Bu loyiha o'ziga g'amxo'rlik qiladigan o'simlik-robotdan iborat. Zavod robotga birlashtirilgan va to'siqlardan qochib, o'zini sug'orib, yorug'likni topa oladi. Bunga robot va zavoddagi bir nechta datchiklar yordamida erishish mumkin. Bu ko'rsatma sizga har kuni o'simliklar haqida qayg'urmasligingiz uchun sizga o'simlik robotini yaratishda yo'l ko'rsatishga qaratilgan.

Ushbu loyiha Bruface Mechatronics kompaniyasining bir qismi bo'lib, uni amalga oshirdi:

Mercedes Arévalo Suarez

Daniel Blankes

Bauduin Kornelis

Kaat Leemans

Markos Martines Ximenes

Basil Bu

(4 -guruh)

1 -qadam: xaridlar ro'yxati

Xarid qilish ro'yxati
Xarid qilish ro'yxati
Xarid qilish ro'yxati
Xarid qilish ro'yxati
Xarid qilish ro'yxati
Xarid qilish ro'yxati

Bu robotni yaratish uchun sizga kerak bo'lgan har bir mahsulotning ro'yxati. Chizilgan har bir qism uchun havola mavjud:

3D bosma dvigatellar X1 -ni qo'llab -quvvatlaydi (3D nusxada)

3D bosilgan g'ildiraklar + g'ildirak-motorli ulanish X2 (3D nusxada)

AA Nimh batareyalari X8

Aşındırıcı qog'oz rulosi X1

Arduino Mega X1

G'ildirak g'ildiragi X1

Batareya ushlagichi X2

Testlar uchun x1 paneli

X1 lehim uchun non paneli

DC motorlar (kodlovchi bilan) X2

Menteşalar X2

Gigrometr X1

Yorug'likka bog'liq rezistorlar X3

Erkak-erkak va erkak-ayol sakrash

Dvigatel qalqoni X1

X1 zavodi (bu sizga bog'liq)

O'simlik qozon X1

O'simliklarni qo'llab -quvvatlash X1 (3D bosilgan)

Plastik quvur X1

Har xil qiymatdagi rezistorlar

Qirqinchli qog'oz X1

Vintlar

O'tkir sensorlar X3 (GP2Y0A21YK0F 10-80 sm)

X1 almashtirish

Suv nasosi X1

Suv ombori tanki (kichik Tupperware) X1

Simlar

E'tibor bering, bu tanlovlar vaqt va byudjet cheklovlari natijasidir (3 oy va 200 evro). Boshqa tanlovlar sizning xohishingizga ko'ra amalga oshirilishi mumkin.

TURLI TANLOVLARNI TASHLASH

Arduino Mega Arduino Uno ustidan: Birinchidan, biz Arduino -dan nima uchun umuman foydalanganligimizning sababini tushuntirishimiz kerak. Arduino-bu foydalanuvchilarga interaktiv elektron moslamalarni yaratishga imkon beradigan ochiq manbali elektron prototiplar platformasi. Bu mutaxassislar va yangi boshlanuvchilar orasida juda mashhur bo'lib, bu Internetda bu haqda ko'p ma'lumot topishga yordam beradi. Bu sizning loyihangiz bilan bog'liq muammolarga duch kelganda yordam berishi mumkin, biz Uno o'rniga Arduino Mega -ni tanladik, chunki u ko'proq pinlarga ega. Darhaqiqat, biz Uno -dan foydalanadigan sensorlar soni etarli emas. Mega ham kuchliroq va agar biz WIFI moduli kabi ba'zi yaxshilanishlarni qo'shsak, yordam berishi mumkin.

Nimh batareyalari: Birinchi g'oya LiPo batareyalarini ko'plab robotli loyihalarda bo'lgani kabi ishlatish edi. LiPo yaxshi zaryadsizlanish tezligiga ega va uni qayta zaryadlash mumkin. Ammo tez orada biz LiPo va zaryadlovchi qurilmasi juda qimmat ekanligini tushundik. Bu loyiha uchun mos bo'lgan boshqa batareyalar Nimh. Darhaqiqat, ular arzon, qayta zaryadlanuvchi va engil. Dvigatelni quvvatlantirish uchun bizga 9,6V dan (zaryadsizlangan) 12Vgacha (to'liq zaryadlangan) beshta kuchlanishga erishish uchun ulardan 8tasi kerak bo'ladi.

Enkoderli doimiy dvigatellar: g'ildiraklarni aylanish energiyasini ta'minlaydigan ushbu aktuatorning asosiy maqsadini hisobga olgan holda, biz burilish burchagi chegaralangan va aniqroq vazifalar uchun mo'ljallangan, Servo dvigatellardan ko'ra ikkita shahar motorini tanladik. aniq. Enkoderlarning mavjudligi, agar kerak bo'lsa, yuqori aniqlikka ega bo'lish imkoniyatini ham qo'shadi. E'tibor bering, biz oxir -oqibat kodlovchini ishlatmadik, chunki biz dvigatellar bir -biriga juda o'xshash va bizga robot to'g'ri chiziq bo'ylab harakat qilishiga muhtoj emasligini angladik.

Bozorda ko'plab shahar motorlari bor va biz byudjetimizga va robotimizga mos keladiganini qidirardik. Bu cheklovlarni qondirish uchun ikkita muhim parametr dvigatelni tanlashimizga yordam berdi: robotning harakatlanish momenti va robotning tezligi (kerakli aylanish tezligini topish uchun).

1) aylanish tezligini hisoblang

Bu robot ovoz to'sig'ini buzishi shart emas. Yorug'likka ergashish yoki birovning orqasidan ergashish uchun 1 m/s yoki 3,6 km/soat tezlik o'rinli ko'rinadi. Uni aylanish tezligiga aylantirish uchun biz g'ildiraklar diametridan foydalanamiz: 9 sm. Rpm quyidagicha berilgan: rpm = (60*tezlik (m/s))/(2*pi*r) = (60*1)/(2*pi*0,045) = 212 rpm.

2) Maksimal momentni hisoblang

Bu robot tekis muhitda rivojlanar ekan, robotning harakatlanishini boshlash uchun zarur bo'lgan maksimal moment bo'ladi. Agar robotning o'simlik va har bir komponenti bilan og'irligi taxminan 3 kilogrammni tashkil qiladi, deb hisoblasak, g'ildiraklar bilan er orasidagi ishqalanish kuchlaridan foydalanib, torkni osongina topamiz. Tuproq va g'ildiraklar orasidagi ishqalanish koeffitsienti 1 ni hisobga olsak: Ishqalanish kuchlari (Fr) = ishqalanish koeffitsienti. * N (bu erda N - robotning og'irligi), bu bizga Fr = 1 * 3 * 10 = 30 N ni beradi. Har bir dvigatel uchun momentni quyidagicha topish mumkin: T = (Fr * r)/2, bu erda r - g'ildiraklar radiusi shunday T = (30*0.045)/2 = 0.675 Nm = 6.88 kg sm.

Bu biz tanlagan dvigatelning xususiyatlari: 6V 175 aylanish tezligida va 12V 350 rpmda 4 kg sm va 8 kg sm. Chiziqli interpolatsiya qilish orqali 9,6 dan 12 V gacha kuchlanishini bilib, yuqoridagi cheklovlar bajarilishi aniq.

Yorug'lik sezgichlari: Biz nurga bog'liq bo'lgan rezistorlar (LDR) ni tanladik, chunki ularning qarshiligi yorug'lik bilan tez o'zgaradi va LDRdagi kuchlanishni LDR o'z ichiga olgan kuchlanish bo'luvchi ustidagi doimiy kuchlanishni qo'llash orqali osongina o'lchash mumkin.

O'tkir sensorlar: ular to'siqlarni oldini olish uchun ishlatiladi. O'tkir masofali sensorlar arzon va ulardan foydalanish oson, bu ularni ob'ektlarni aniqlash va o'lchash uchun mashhur tanlovga aylantiradi. Odatda, ular sonar diapazoniga qaraganda yuqori yangilanish tezligiga va maksimal aniqlanish oralig'iga qisqaroq. Bozorda turli xil operatsion diapazonli ko'plab modellar mavjud. Ular ushbu loyihadagi to'siqlarni aniqlash uchun ishlatilgani uchun, biz 10-80 sm oralig'ida bo'lgan masofani tanladik.

Suv nasosi: suv pompasi - bu oddiy yorug'lik va dvigatellarning kuchlanish diapazoniga mos keladigan juda kuchli bo'lmagan nasos bo'lib, ikkalasi uchun ham bir xil ovqatlanishni ishlatadi. Zavodni suv bilan oziqlantirishning yana bir yo'li - suv bazasini robotdan ajratish edi, lekin uni robotda o'rnatish ancha oson.

Gigrometr: Gigrometr - bu namlik o'lchagichi, uni erga qo'yish kerak. Bu kerak, chunki robot unga suv yuborish uchun qozon qachon quriganini bilishi kerak.

2 -qadam: Mexanik dizayn

Mexanik dizayn
Mexanik dizayn
Mexanik dizayn
Mexanik dizayn
Mexanik dizayn
Mexanik dizayn
Mexanik dizayn
Mexanik dizayn

Asosan, robotning dizayni to'rtburchaklar qutidan iborat bo'lib, uning pastki qismida uchta g'ildirak va yuqori tomonida ochiladigan qopqoq bo'ladi. Zavod suv ombori bilan tepaga joylashtiriladi. O'simlik qozonlari robotning yuqori taxtasiga vidalanadigan o'simlik idishiga o'rnatiladi. Suv ombori bir oz Tupperware robotining yuqori taxtasida chizilgan va suv nasosi ham suv omborining pastki qismida tirnalgan, shuning uchun Tupperware -ni suv bilan to'ldirganda hamma narsani osongina olib tashlash mumkin. Suv omborining qopqog'ida o'simlik qozonga suv borishi va nasosning qutiga kirishi tufayli kichik teshik ochiladi. Shunday qilib, qutining yuqori taxtasida teshik ochiladi va gigrometrning kabellari ham shu teshikdan o'tadi.

Birinchidan, biz robotning jozibali dizayniga ega bo'lishini xohlardik, shuning uchun biz elektron qismini quti ichida yashirishga qaror qildik, uni o'simlik va suvdan tashqarida qoldirdik. Bu juda muhim, chunki o'simliklar uyni bezashning bir qismi bo'lib, bo'shliqni vizual ravishda ta'sir qilmasligi kerak. Qutidagi komponentlarga yuqori qismdagi qopqoq orqali osonlikcha kirish mumkin bo'ladi, va yon qopqoqlarda kerakli teshiklar bo'ladi, shunda biz xohlasak robotni yoqish yoki Arduino -ni noutbukga ulash oson. uni yana dasturlash uchun.

Qutidagi komponentlar quyidagilardir: Arduino, motor boshqaruvchisi, dvigatellar, LDR, qoziq ushlagichlari, non paneli va menteşalar. Arduino kichik ustunlarga o'rnatilgan, shuning uchun uning pastki qismi shikastlanmagan va dvigatel boshqaruvchisi Arduino tepasiga o'rnatilgan. Dvigatellar dvigatel biriktirgichlariga vidalanadi va dvigatellar fiksatsiyasi qutining pastki taxtasiga vidalanadi. LDR kichik bir bo'lak nonga lehimlangan. Kichkina yog'och taxtalar robotning lateral yuzlariga burab qo'yish uchun yopishtirilgan. Oldinda bitta LDR bor, biri chap tomonda, ikkinchisi o'ng tomonda, shuning uchun robot eng ko'p yorug'lik yo'nalishini bilishi mumkin. Qoziq ushlagichlari qutining pastki yuzasiga tirnalgan bo'lib, ularni osongina olib tashlash, qoziqlarni o'zgartirish yoki zaryadlash mumkin. Keyin non taxtasi pastki taxtaga vidalanadi, uni burchak burchagi shaklidagi teshiklari bo'lgan, uchburchak shaklidagi kichik ustunlar qo'yadi. Oxir -oqibat, ilmoqlar orqa va yuqori tomonga vidalanadi.

Old tomondan, to'siqlarni imkon qadar yaxshiroq aniqlash va oldini olish uchun uchta o'tkir uchlari to'g'ridan -to'g'ri vidalanadi.

Jismoniy dizayn muhim bo'lsa -da, biz texnik qismni unutmaymiz, lekin biz robot qurmoqdamiz va u amaliy bo'lishi kerak va iloji boricha bo'sh joyni optimallashtirishimiz kerak. Bu to'rtburchaklar shakliga o'tishning sababi, barcha komponentlarni tartibga solishning eng yaxshi usuli edi.

Nihoyat, harakatlanish uchun qurilmada uchta g'ildirak bo'ladi: orqa tomonda ikkita standart motorli va old tomonida bitta to'p. Ular uch tsiklli haydovchida, konfiguratsiyada, old rulda va orqa haydashda ko'rsatiladi.

3 -qadam: QISMLARNI ISHLAB CHIQARISH

QISMLAR ISHLAB CHIQARISH
QISMLAR ISHLAB CHIQARISH
QISMLAR ISHLAB CHIQARISH
QISMLAR ISHLAB CHIQARISH
QISMLAR ISHLAB CHIQARISH
QISMLAR ISHLAB CHIQARISH

Robotning tashqi ko'rinishi sizning qiziqishingizga qarab o'zgarishi mumkin. Texnik chizmalar taqdim etilgan, bu sizning loyihangizni yaratishda yaxshi asos bo'lishi mumkin.

Lazer bilan kesilgan qismlar:

Robot korpusini tashkil etuvchi barcha oltita qism lazer bilan kesilgan. Buning uchun qayta ishlangan yog'och ishlatilgan. Bu quti ham biroz qimmatroq bo'lgan pleksiglasdan tayyorlanishi mumkin edi.

3D bosma qismlar:

Robotning orqa tomoniga qo'yilgan ikkita standart g'ildirak PLA formatida 3D bosilgan. Sababi shundaki, barcha ehtiyojlarga javob beradigan g'ildiraklarni topishning yagona yo'li (shahar motorlariga mos keladigan, o'lchamlari, vazni …) ularni o'zimiz loyihalash edi. Dvigatel fiksaji ham byudjet sabablaridan 3D bosilgan. Keyin o'simlik idishni qo'llab -quvvatlashi, Arduino -ni qo'llab -quvvatlovchi ustunlar va non taxtasini qo'llab -quvvatlaydigan burchaklar ham 3D bosilgan edi, chunki bizga robotimizga mos keladigan shakl kerak edi.

4 -qadam: ELEKTRON

ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA

O'tkir datchiklar: O'tkir datchiklar uchta pinli. Ulardan ikkitasi ovqatlantirish uchun (Vcc va Ground), ikkinchisi - o'lchangan signal (Vo). Ovqatlanish uchun bizda 4,5 dan 5,5 V gacha bo'lgan ijobiy kuchlanish mavjud, shuning uchun biz Arduino -dan 5V dan foydalanamiz. Vo Arduino analog pinlaridan biriga ulanadi.

Yorug'lik sezgichlari: Yorug'lik sezgichlari ishlashi uchun kichik zanjir kerak. LDR kuchlanish taqsimlagichini yaratish uchun 900 kOm qarshilik bilan ketma -ket joylashtirilgan. Topraklama LDRga ulanmagan rezistor pimiga ulanadi va Arduino 5V rezistorga ulanmagan LDR piniga ulanadi. Rezistor va LDR pinlari bir -biriga ulangan, bu kuchlanishni o'lchash uchun Arduino analog piniga ulangan. Bu kuchlanish 0 dan 5V gacha o'zgaradi, 5V to'liq yorug'likka to'g'ri keladi va qorong'ilikka mos keladigan nolga yaqin bo'ladi. Keyin butun sxema robotning lateral taxtalariga sig'adigan kichik bir bo'lak nonga lehimlanadi.

Batareyalar: Batareyalar har biri 1,2 va 1,5 V gacha bo'lgan 4 ta qoziqdan, 4,8 dan 6 V gacha. Ikkita qoziq ushlagichini ketma -ket qo'yib, bizda 9,6 dan 12 V gacha bo'ladi.

Suv nasosi: suv nasosida Arduino ovqatlanishi bilan bir xil turdagi ulanish (quvvat rozetkasi) mavjud. Birinchi qadam - erga va musbat kuchlanish uchun simga ega bo'lish uchun ulanishni kesish va simni inkor qilish. Biz nasosni boshqarishni xohlaganimizda, biz uni kalit sifatida ishlatiladigan joriy boshqariladigan tranzistor bilan ketma -ket joylashtiramiz. Keyin teskari oqimlarning oldini olish uchun nasos bilan parallel ravishda diod qo'yiladi. Transistorning pastki oyog'i Arduino/akkumulyator batareyasining umumiy eriga ulanadi, o'rtasi - Arduino kuchlanishini oqimga, yuqori oyog'ini esa qora kabelga o'tkazish uchun ketma -ket 1kOm rezistorli Arduino raqamli piniga. nasos. Keyin nasosning qizil kabeli batareyalarning musbat kuchlanishiga ulanadi.

Dvigatellar va qalqon: qalqonni lehimlash kerak, u lehimsiz jo'natiladi. Bu bajarilgandan so'ng, Arduino pinlariga qalqonning barcha sarlavhalarini kesib, Arduino -ga joylashtiriladi. Qalqon batareyalar bilan quvvatlanadi va agar o'tish moslamasi yoqilgan bo'lsa, Arduino -ni quvvatlaydi (rasmda to'q sariq). Arduino qalqondan boshqa vosita bilan ishlaydigan bo'lsa, o'tish joyini qo'ymang, chunki Arduino qalqonni quvvat bilan ta'minlaydi va ulanishni yoqib yuborishi mumkin.

Non paneli: Endi barcha komponentlar taxtada lehimlanadi. Bitta qoziq ushlagichi - Arduino, dvigatelni boshqaruvchi va barcha datchiklar bir qatorda lehimlanadi (bizning taxta qatorlarimiz bir xil imkoniyatlarga ega). Keyin ikkinchi qoziq ushlagichining qora kabeli, zamini allaqachon lehimli bo'lgan birinchi qoziq ushlagichining qizil qismi bilan bir qatorda lehimlanadi. Keyin kabel ketma -ket ikkita qoziq ushlagichining qizil kabeli bilan bir qatorda lehimlanadi. Bu kabel kalitning bir uchiga ulanadi, ikkinchi uchi esa non qatorida erkin qatorda lehimlangan sim bilan ulanadi. Nasosning qizil kabeli va dvigatel boshqaruvchisining ovqatlanishi bu qatorga lehimlanadi (kalit rasmda ko'rsatilmagan). Keyin 5V Arduino boshqa qatorga lehimlanadi va har bir sensorning oziqlanish kuchlanishi bir qatorda lehimlanadi. Iloji boricha non taxtasida va komponentga o'tish joyini lehimlashga urinib ko'ring, shunda siz ularni osongina uzib qo'yasiz va elektr komponentlarini yig'ish osonroq bo'ladi.

5 -qadam: DASTURLASH

PROGRAMLAMA
PROGRAMLAMA

Dastur sxemasi:

Dastur holat o'zgaruvchilari tushunchasi yordamida juda sodda saqlandi. Oqim jadvalida ko'rib turganingizdek, bu davlatlar ham ustuvorlik tushunchasini keltirib chiqaradi. Robot shartlarni quyidagi tartibda tekshiradi:

1) 2 -holat: O'simlik namlik darajasi funktsiyasi bilan etarli suvga egami? Agar namlik darajasi gigrometr bilan 500 dan past bo'lsa, nasos namlik darajasi 500 dan oshguncha ishlaydi. Zavodda suv etarli bo'lganda robot 3 -holatga o'tadi.

2) 3 -holatda: Eng yorug'likli yo'nalishni toping. Bu holatda o'simlik etarli suvga ega va to'siqlarni chetlab o'tishda ko'p yorug'lik bilan yo'nalishni kuzatishi kerak. Light_direction funktsiyasi eng ko'p yorug'lik oladigan uchta yorug'lik sensori yo'nalishini beradi. Keyin robot motorlarni ushbu yo'nalish bo'yicha follow_light funktsiyasi bilan boshqaradi. Agar yorug'lik darajasi ma'lum bir chegaradan yuqori bo'lsa (etarli yorug'lik), robot yorug'likni kuzatishni to'xtatadi, chunki u bu pozitsiyada etarli (stop_motors). Yorug'likni kuzatayotganda 15 sm dan past bo'lgan to'siqlarning oldini olish uchun to'siq yo'nalishini qaytarish uchun funktsional to'siq amalga oshirildi. To'siqlarni to'g'ri oldini olish uchun, oldini olish_obstacle funktsiyasi amalga oshirildi. Bu funktsiya dvigatelni to'siq qaerda ekanligini biladi.

6 -qadam: Yig'ilish

Yig'ilish
Yig'ilish
Yig'ilish
Yig'ilish
Yig'ilish
Yig'ilish

Aslida, bu robotni yig'ish juda oson. Aksariyat komponentlar o'z joylarini saqlab qolish uchun qutiga vidalanadi. Keyin qoziq ushlagichi, suv ombori va nasos chiziladi.

7 -qadam: tajribalar

Odatda, robot qurishda hamma narsa o'z -o'zidan ketmaydi. Muvaffaqiyatli natijaga erishish uchun ko'plab o'zgarishlar, quyidagi o'zgarishlar kerak. Bu erda o'simlik robotining jarayoni ko'rgazmasi!

Birinchi qadam robotni dvigatellar, Arduino, dvigatelni boshqarish moslamasi va prototipli non paneli bilan yorug'lik sensorlar bilan o'rnatish edi. Robot faqat yorug'likni o'lchagan tomonga ketmoqda. Agar yorug'lik etarli bo'lsa, robotni to'xtatishga ruxsat berilgan. Robot polga sirg'alib tushganda, biz g'ildiraklarga shinani taqlid qilish uchun abraziv qog'oz qo'shdik.

Keyin to'siqlardan qochish uchun tuzilishga o'tkir datchiklar qo'shildi. Avvaliga ikkita datchik old tomonga joylashtirildi, lekin o'rtasiga uchinchisi qo'shildi, chunki o'tkir sensorlar juda cheklangan aniqlash burchagiga ega. Nihoyat, bizda robotning chekkasida ikkita datchik bor, ular chap yoki o'ngdagi to'siqlarni, o'rtada bitta to'siqni aniqlaydilar, ular oldida to'siq borligini aniqlaydilar. To'siqlar keskinlikdagi kuchlanish robotdan 15 sm masofaga to'g'ri keladigan ma'lum qiymatdan oshib ketganda aniqlanadi. To'siq yon tomonda bo'lsa, robot undan qochadi va o'rtada to'siq bo'lsa, robot to'xtaydi. E'tibor bering, keskinlik ostidagi to'siqlar aniqlanmaydi, shuning uchun to'siqlardan qochish uchun ma'lum balandlikka ega bo'lish kerak.

Shundan so'ng, nasos va gigrometr sinovdan o'tkazildi. Nasos suvni gigrometrning zo'riqishi quruq qozonga to'g'ri keladigan ma'lum qiymatdan past bo'lganda yuboradi. Bu qiymat eksperimental ravishda quruq va nam qozonli o'simliklar bilan sinab ko'rish orqali aniqlandi.

Nihoyat, hamma narsa birgalikda sinovdan o'tkazildi. O'simlik birinchi navbatda suv etarli yoki yo'qligini tekshiradi, so'ng to'siqlardan qochib, nurga ergashishni boshlaydi.

8 -qadam: Yakuniy sinov

Bu erda robot nihoyat qanday ishlashi haqida video. Umid qilamanki, sizga yoqadi!

9 -qadam: BU LOYIHA NIMA BILDIK?

Garchi bu loyihaning umumiy fikrlari juda yaxshi bo'lsa -da, chunki biz ko'p narsalarni o'rgandik, lekin biz uni qurishda belgilangan muddatlar tufayli stressga tushdik.

Yuzaga kelgan muammolar

Bizning holatda, jarayon davomida bizda bir nechta muammolar bor edi. Ulardan ba'zilarini hal qilish oson edi, masalan, komponentlarni etkazib berish kechikkanida, biz ularni sotib oladigan bo'lsak, shahardagi do'konlarni qidirardik. Boshqalar biroz ko'proq o'ylashni talab qiladi.

Afsuski, har bir muammo hal qilinmagan. Bizning birinchi g'oyamiz uy hayvonlari va o'simliklarning xususiyatlarini birlashtirish, har birining eng yaxshisini olish edi. Biz qila oladigan o'simliklar uchun, bu robot yordamida biz uylarimizni bezatadigan zavodga ega bo'lamiz va biz unga g'amxo'rlik qilmaymiz. Ammo uy hayvonlari uchun biz ular ishlab chiqaradigan kompaniyani simulyatsiya qilish yo'lini topa olmadik. Biz odamlarni ta'qib qilishning turli usullarini o'ylab topdik va biz uni amalga oshira boshladik, lekin uni tugatishga vaqtimiz yo'q edi.

Keyingi yaxshilanishlar

Garchi biz xohlagan hamma narsaga ega bo'lishni xohlagan bo'lsak -da, bu loyiha orqali o'rganish ajoyib bo'ldi. Balki vaqt o'tishi bilan biz bundan ham yaxshiroq robotga ega bo'lardik. Bu erda biz robotimizni takomillashtirish bo'yicha ba'zi g'oyalarni taklif qilamiz, ehtimol sizlardan ba'zilari sinab ko'rmoqchi:

- Har xil rangdagi (qizil, yashil, …) LEDlarni qo'shish, bu foydalanuvchiga robotni qachon zaryad qilish kerakligini aytadi. Batareyani o'lchash, bu kuchlanishni Arduino bilan o'lchash uchun, batareya to'liq zaryadlanganda, maksimal 5V kuchlanishli bo'linuvchi yordamida amalga oshirilishi mumkin. Keyin mos keladigan chiroq yoqiladi.

- Foydalanuvchiga suv omborini qachon to'ldirish kerakligini aytadigan suv sensori qo'shilishi (suv balandligi sensori).

- Robot foydalanuvchiga xabar yuborishi uchun interfeys yaratish.

Shubhasiz, biz odamlarga ergashish maqsadini unuta olmaymiz. Uy hayvonlari - bu odamlar eng yaxshi ko'radigan narsalardan biri, va agar kimdir robotning bu xatti -harakatini taqlid qilishga erishsa, yaxshi bo'lardi. Buni engillashtirish uchun biz bu erda bor narsamizni taqdim etmoqchimiz.

10 -qadam: Qanday qilib robotni odamlarni kuzatib borishi mumkin?

Image
Image
Robotni odamlarni kuzatib borish uchun qanday olish kerak?
Robotni odamlarni kuzatib borish uchun qanday olish kerak?
Robotni odamlarni kuzatib borish uchun qanday olish kerak?
Robotni odamlarni kuzatib borish uchun qanday olish kerak?

Biz uchta ultratovushli datchik, bitta emitent va ikkita qabul qilgichni ishlatishning eng yaxshi usulini aniqladik.

Transmitter

Transmitter uchun biz 50% ish aylanishiga ega bo'lishni xohlaymiz. Buning uchun siz 555 taymerdan foydalanishingiz kerak, biz NE555N ishlatganmiz. Rasmda siz sxemani qanday qurish kerakligini ko'rishingiz mumkin. Ammo, masalan, 3, 1 mF chiqishda qo'shimcha kondansatör qo'shishingiz kerak bo'ladi. Rezistorlar va kondansatörler quyidagi formulalar bilan hisoblanadi: (1 va 2 -rasmlar)

50% ish tsikli kerak bo'lganligi sababli, t1 va t2 bir -biriga teng bo'ladi. Shunday qilib, 40 kHz chastotali uzatgich bilan t1 va t2 1,25*10-5 s ga teng bo'ladi. C1 = C2 = 1 nF ni olganingizda, R1 va R2 ni hisoblash mumkin. Biz R1 = 15 kΩ va R2 = 6,8 kΩ ni oldik, R1> 2R2 ekanligiga ishonch hosil qiling!

Biz buni osiloskopda elektron tarzda sinab ko'rganimizda, biz quyidagi signalni oldik. Shkalasi 5 ms/div, shuning uchun chastota 43 kHz atrofida bo'ladi. (3 -rasm)

Qabul qiluvchi

Qabul qiluvchining kirish signali Arduino -ni aniq ishlashi uchun juda past bo'ladi, shuning uchun kirish signalini kuchaytirish kerak. Bu teskari kuchaytirgich yordamida amalga oshiriladi.

Opamp uchun biz Arduino -dan 0 V va 5 V quvvat bilan ishlaydigan LM318N -dan foydalandik. Buning uchun biz tebranayotgan signal atrofidagi kuchlanishni oshirishimiz kerak edi. Bunday holda, uni 2,5 V ga ko'tarish mantiqiy bo'ladi, chunki besleme zo'riqishi nosimmetrik emas, biz rezistordan oldin kondansatkichni qo'yishimiz kerak. Shunday qilib, biz yuqori o'tkazuvchanlik filtrini ham tayyorladik. Biz ishlatgan qiymatlar bilan chastota 23 kHz dan yuqori bo'lishi kerak edi. Biz A = 56 kuchaytirgichidan foydalansak, signal to'yinganlikka o'tadi, bu yaxshi emas, shuning uchun biz uning o'rniga A = 18 dan foydalanardik. Bu hali ham etarli bo'ladi. (4 -rasm)

Endi bizda sinus to'lqini kuchaygan bo'lsa, bizga doimiy qiymat kerak, shuning uchun Arduino uni o'lchashi mumkin. Buni amalga oshirishning eng yaxshi usuli - bu aniq detektor pallasini yaratish. Shunday qilib, uzatuvchi qabul qilgichdan uzoqda yoki oldingisiga qaraganda boshqacha burchakda bo'ladimi, qabul qilingan signalning intensivligiga mutanosib doimiy signalga ega bo'lishini ko'rishimiz mumkin. Bizga aniq tepalik detektori kerak bo'lgani uchun, biz kuchlanish izdoshiga 1N4148 diodini qo'yamiz. Shunday qilib, bizda diod yo'qolmaydi va biz ideal diod yaratdik. Opamp uchun biz sxemaning birinchi qismida bo'lgani kabi va bir xil quvvat manbai bo'lgan 0 V va 5V ishlatardik.

Parallel kondansatör yuqori qiymatga ega bo'lishi kerak, shuning uchun u juda sekin tushadi va biz hali ham haqiqiy qiymat bilan bir xil pik qiymatini ko'ramiz. Rezistor ham parallel joylashtiriladi va juda past bo'lmaydi, chunki aks holda tushirish katta bo'ladi. Bunday holda, 1,5 mF va 56 kΩ etarli. (5 -rasm)

Rasmda umumiy zanjirni ko'rish mumkin. Chiqish qaerda, Arduino -ga o'tadi. Va 40 kHz chastotali AC signal qabul qiluvchi bo'ladi, uning boshqa uchi erga ulanadi. (6 -rasm)

Yuqorida aytganimizdek, biz sensorlarni robotga birlashtira olmadik. Ammo biz sxemaning ishlashini ko'rsatish uchun testlarning videolarini taqdim etamiz. Birinchi videoda amplifikatsiyani (birinchi OpAmpdan keyin) ko'rish mumkin. Osiloskopda allaqachon 2,5V ofset mavjud, shuning uchun signal o'rtada, sensorlar yo'nalishni o'zgartirganda amplitudasi o'zgaradi. Ikkala datchik bir -biriga qarama -qarshi turganida, sinus amplitudasi datchiklar kattaroq burchakka yoki ikkalasi orasidagi masofaga qaraganda yuqori bo'ladi. Ikkinchi videoda (sxemaning chiqishi) tuzatilgan signalni ko'rish mumkin. Shunga qaramay, sensorlar bir -biriga qarama -qarshi bo'lganida, umumiy kuchlanish yuqori emas bo'ladi. Signal kondansatörün zaryadsizlanishi va volt/div tufayli to'liq to'g'ri emas. Datchiklar orasidagi burchak yoki masofa endi optimal bo'lmaganda, biz doimiy ravishda kamayib borayotgan signalni o'lchay oldik.

Gap shundaki, robotni qabul qilgich va foydalanuvchiga transmitterga ega qilish. Robot qayerda intensivlik eng yuqori ekanligini aniqlash uchun o'z -o'zidan burilishni amalga oshirishi mumkin edi va shu yo'nalishda ketishi mumkin edi. Ikkita qabul qilgichga ega bo'lish va eng yuqori kuchlanishni aniqlaydigan qabul qiluvchiga ergashish, undan ham yaxshiroq - bu uchta qabul qilgichni qo'yish va ularni LDR kabi joylashtirish, qaysi tomonga signal yuborilishini bilish. chap yoki o'ng).

Tavsiya: