Mündəricat:

Bitki robotu: 10 addım
Bitki robotu: 10 addım

Video: Bitki robotu: 10 addım

Video: Bitki robotu: 10 addım
Video: Новичок выскочил против чемпиона мира. Естественно , это технический нокаут. 2024, Iyul
Anonim
Image
Image
BİTKİ ROBOTU
BİTKİ ROBOTU

Hər kəs evdə bitkilərdən zövq alır, amma bəzən məşğul həyatımızla onlara yaxşı qulluq etməyə vaxt tapa bilmirik. Bu problemdən belə bir fikir ortaya çıxdı: Niyə bizimlə maraqlanacaq bir robot yaratmasın?

Bu layihə özünə qayğı göstərən bitki robotundan ibarətdir. Bitki robota inteqrasiya olunub və maneələrdən qaçarkən özünü sulayacaq və işıq tapa biləcək. Bu, robotun və bitkinin üzərindəki bir neçə sensordan istifadə etməklə mümkün olmuşdur. Bu Təlimatlandırıcı, hər gün bitkiləriniz haqqında narahat olmağınız üçün bir bitki robotu yaratmaq prosesində sizə yol göstərməyi hədəfləyir!

Bu layihə Bruface Mechatronics -in bir hissəsidir və həyata keçirilmişdir:

Mercedes Arévalo Suarez

Daniel Blanquez

Baudouin Cornelis

Kaat Leemans

Markos Martinez Jimenez

Basile Thisse

(Qrup 4)

Addım 1: ALIŞVERİŞ LİSTESİ

ALIŞ-VERİŞ SİYAHISI
ALIŞ-VERİŞ SİYAHISI
ALIŞ-VERİŞ SİYAHISI
ALIŞ-VERİŞ SİYAHISI
ALIŞ-VERİŞ SİYAHISI
ALIŞ-VERİŞ SİYAHISI

Bu robotu hazırlamaq üçün ehtiyacınız olan hər bir məhsulun siyahısı. Altını çəkilmiş hər bir parça üçün bir keçid mövcuddur:

3D çaplı Motorlar X1 dəstəyi (3D surəti)

3D çaplı Təkərlər + təkər-motor bağlantısı X2 (3D surəti)

AA Nimh batareyaları X8

Aşındırıcı kağız rulonu X1

Arduino Mega X1

Top təkər X1

Batareya tutacağı X2

Testlər üçün çörək lövhəsi X1

X1 lehimləmə çörək paneli

DC mühərrikləri (kodlayıcı ilə) X2

Menteşələr X2

Higrometr X1

İşıqdan asılı rezistorlar X3

Kişi-kişi və kişi-qadın tullananlar

Motor qalxanı X1

Bitki X1 (bu sizə aiddir)

Bitki qabı X1

Bitki dəstəyi X1 (3D çap)

Plastik boru X1

Müxtəlif dəyərlərə malik rezistorlar

Qırış kağızı X1

Vintlər

Kəskin sensorlar X3 (GP2Y0A21YK0F 10-80 sm)

X1 keçid

Su nasosu X1

Su anbarı çəni (kiçik Tupperware) X1

Tellər

Nəzərə alın ki, bu seçimlər vaxt və büdcə məhdudiyyətlərinin nəticəsidir (3 ay və 200 €). Digər seçimlər öz istəyinizə görə edilə bilər.

FƏRQLİ SEÇİMLƏRİN İZAHI

Arduino Uno üzərində Arduino Mega: Birincisi, Arduino -nu ümumiyyətlə istifadə etməyimizin səbəbini də izah etməliyik. Arduino, istifadəçilərə interaktiv elektron obyektlər yaratmağa imkan verən açıq mənbəli elektron prototip platformasıdır. Həm mütəxəssislər, həm də yeni başlayanlar arasında çox populyardır, bu da İnternetdə bu barədə bir çox məlumat tapmağa kömək edir. Layihənizlə bağlı problem yarandıqda bu daha faydalı ola bilər. Daha çox pin olduğu üçün Uno üzərində bir Arduino Mega seçdik. Əslində, Uno istifadə etdiyimiz sensorlar sayına görə kifayət qədər sancaqlar təklif etməmişik. Mega da daha güclüdür və WIFI modulu kimi bəzi təkmilləşdirmələr əlavə etsək faydalı ola bilər.

Nimh batareyaları: İlk fikir LiPo batareyalarını bir çox robot layihələrində olduğu kimi istifadə etmək idi. LiPo yaxşı boşalma nisbətinə malikdir və asanlıqla doldurulur. Ancaq çox keçmədən LiPo və şarj cihazının çox baha olduğunu başa düşdük. Nimh bu layihə üçün uyğun olan digər batareyalar. Həqiqətən, onlar ucuz, şarj edilə bilən və yüngüldür. Mühərriki işə salmaq üçün 9,6V -dan 12V -ə (tam dolu) qədər bir gərginlik əldə etmək üçün 8 -ə ehtiyacımız olacaq.

Enkoderləri olan DC mühərrikləri: Bu aktuatorun əsas məqsədini təkərlərə fırlanma enerjisi ilə təmin edərək, fırlanma bucağında məhdudiyyəti olan və mövqeyinin müəyyən edilməsi lazım olan daha konkret vəzifələr üçün nəzərdə tutulmuş iki DC Motorunu seçdik. dəqiqliklə. Kodlayıcıların olması faktı, lazım olduqda daha yüksək dəqiqliyə sahib olma ehtimalını da əlavə edir. Diqqət yetirin ki, nəhayət kodlaşdırıcılardan istifadə etmədik, çünki mühərriklərin olduqca oxşar olduğu və robotun düz bir xətti izləməsi üçün ehtiyac duymadığını başa düşdük.

Bazarda çoxlu DC mühərrikləri var və büdcəmizə və robotumuza uyğun olanı axtarırdıq. Bu məhdudiyyətləri təmin etmək üçün mühərriki seçməyimizə iki vacib parametr kömək etdi: robotu hərəkət etdirmək üçün lazım olan tork və robotun sürəti (lazım olan rpm -i tapmaq üçün).

1) rpm hesablayın

Bu robotun səs maneəsini aşması lazım olmayacaq. İşığı izləmək və ya bir evdə 1 m/s və ya 3.6 km/saat sürətlə hərəkət etmək ağlabatan görünür. Rpm -ə çevirmək üçün təkərlərin diametrindən istifadə edirik: 9 sm. Rpm verilir: rpm = (60*sürət (m/s))/(2*pi*r) = (60*1)/(2*pi*0.045) = 212 rpm.

2) Lazım olan maksimum torku hesablayın

Bu robot düz bir mühitdə inkişaf edəcəyindən, robotun hərəkətə gəlməsi üçün lazım olan maksimum torkdur. Robotun bitki və hər bir komponenti ilə çəkisinin təxminən 3 kilo olduğunu nəzərə alsaq və təkərlər və yer arasındakı sürtünmə qüvvələrindən istifadə edərək torku asanlıqla tapa bilərik. Zəmin və təkərlər arasındakı sürtünmə əmsalının 1 olduğunu nəzərə alsaq: Sürtünmə qüvvələri (Fr) = sürtünmə əmsalı. * N (burada N robotun çəkisidir) bu bizə Fr = 1 * 3 * 10 = 30 N. verir. təkərlərin radiusu belə T = (30*0.045)/2 = 0.675 Nm = 6.88 kq sm.

Seçdiyimiz motorun xüsusiyyətləri bunlardır: 6V 175 rpmdə və 12V 350 rpmdə 4 kq sm və 8 kq sm. Xətti bir interpolasiya etməklə 9.6 ilə 12 V arasında güc alacağını bildiyiniz halda yuxarıdakı məhdudiyyətlərin yerinə yetiriləcəyi aydın görünür.

İşıq sensorlar: İşıqdan asılı olan rezistorları (LDR) seçdik, çünki müqavimətləri işığa görə sürətlə dəyişir və LDR üzərindəki gərginlik, LDR olan bir gərginlik ayırıcıya sabit bir gərginlik tətbiq etməklə asanlıqla ölçülə bilər.

Kəskin sensorlar: maneələrin qarşısını almaq üçün istifadə olunur. Kəskin məsafə sensorları ucuz və istifadəsi asandır, bu da onları obyektlərin aşkarlanması və ölçülməsi üçün məşhur seçim halına gətirir. Tipik olaraq, sonar diapazonu tapanlardan daha yüksək yeniləmə dərəcələrinə və daha qısa maksimum aşkarlama aralığına malikdirlər. Bazarda müxtəlif əməliyyat diapazonlarına malik bir çox fərqli model mövcuddur. Bu layihədəki maneələri aşkar etmək üçün istifadə edildikləri üçün 10-80 sm əməliyyat aralığına malik olanı seçdik.

Su pompası: Su pompası, hər ikisi üçün eyni qidalanmanı istifadə etmək üçün mühərriklərin gərginlik aralığına uyğun olan sadə bir işıq və çox güclü olmayan bir nasosdur. Bitkini su ilə qidalandırmağın başqa bir yolu, robotdan ayrılmış bir su bazasının olması idi, lakin robotun üzərində olması daha sadədir.

Higrometre: Bir higrometre, yerə qoyulacaq bir nəmlik sensoru. Lazımdır, çünki robot ona su göndərmək üçün qazanın nə vaxt quruduğunu bilməlidir.

Addım 2: MEKANİK TASARIM

MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM
MEKANİK TASARIM

Əsasən, robotun dizaynı, alt tərəfində üç təkəri və yuxarı tərəfində açılan qapağı olan düzbucaqlı bir qutudan ibarət olacaq. Bitki su anbarı ilə üstə qoyulacaq. Bitki qabı, robotun üst taxtasına vidalanmış bitki qabı fiksasiyasına yerləşdirilir. Su anbarı, robotun üst taxtasında bir az Tupperware cızıqlanmışdır və su pompası da su anbarının dibində cızılmışdır, beləliklə Tupperware su ilə doldurularkən hər şey asanlıqla çıxarılır. Su qabının içərisinə tökülən su borusu və qutuda gedən nasosun qidalanması səbəbindən su anbarının qapağında kiçik bir çuxur açılır. Qutunun yuxarı taxtasında bir deşik açılır və higrometrin kabelləri də bu çuxurdan keçir.

Birincisi, robotun cəlbedici bir dizayna sahib olmasını istədik, buna görə də elektron hissəni zavodun və suyun kənarında buraxaraq qutunun içərisində gizlətməyə qərar verdik. Bu vacibdir, çünki bitkilər evin bəzəyinin bir hissəsidir və məkanı vizual olaraq təsir etməməlidir. Qutudakı komponentlərə yuxarı tərəfdəki bir qapaq vasitəsilə asanlıqla daxil ola bilərsiniz və yan qapaqlar lazımi deliklərə sahib olacaq, belə ki, istəsəniz robotu işə salmaq və ya Arduino noutbuka qoşmaq asandır. yenidən proqramlaşdırmaq üçün.

Qutudakı komponentlər bunlardır: Arduino, motor nəzarətçisi, mühərriklər, LDR, yığın tutucular, çörək taxtası və menteşələr. Arduino kiçik sütunlara quraşdırılmışdır, buna görə də alt hissəsi zədələnmir və motor idarəedicisi Arduinonun üstünə quraşdırılmışdır. Mühərriklər mühərrik bərkidicilərinə, mühərriklər isə qutunun alt taxtasına vidalanır. LDR kiçik bir parça taxta üzərində lehimlənir. Robotun yan tərəflərinə vidalanmaq üçün bu taxtaya mini taxta taxtalar yapışdırılır. Robotun ən çox işığı olan istiqaməti bilə bilməsi üçün öndə biri sol tərəfdə və biri sağda bir LDR var. Yığın tutucular asanlıqla çıxarılması və yığınların dəyişdirilməsi və ya yenidən doldurulması üçün qutunun alt tərəfinə cızılır. Sonra çörək taxtası, dayaq üçün çörək bişirmə taxtasının küncündəki deşikləri olan kiçik üçbucaqlı sütunlarla alt taxtaya vidalanır. Sonda menteşələr arxa və üst tərəfə vidalanır.

Ön tərəfdə, maneələri mümkün qədər yaxşı aşkar etmək və qarşısını almaq üçün üç iti birbaşa vidalanacaq.

Fiziki dizayn vacib olsa da texniki hissəni unuda bilmərik, bir robot qururuq və bu praktiki olmalı və mümkün qədər məkanı optimallaşdırmalıyıq. Düzbucaqlı bir forma götürməyin səbəbi budur, bütün komponentləri nizamlamağın ən yaxşı yolu idi.

Nəhayət, hərəkət üçün cihazın üç təkəri olacaq: arxada iki standart motorlu və öndə bir top çarxı. Onlar üç dövrəli sürücü, konfiqurasiya, ön sükan və arxa sürüşdə göstərilir.

Addım 3: PARÇALAR İMALAT

PARÇALAR İMALAT
PARÇALAR İMALAT
PARÇALAR İMALAT
PARÇALAR İMALAT
PARÇALAR İMALAT
PARÇALAR İMALAT

Robotun fiziki görünüşü maraqlarınızdan asılı olaraq dəyişdirilə bilər. Öz dizaynınızı tərtib edərkən yaxşı bir təməl kimi işləyə biləcək texniki təsvirlər verilir.

Lazerlə kəsilmiş hissələr:

Robotun korpusunu təşkil edən altı hissənin hamısı lazerlə kəsilib. Bunun üçün istifadə olunan material təkrar emal edilmiş ağacdır. Bu qutu bir az daha bahalı olan Pleksiglasdan da hazırlana bilər.

3D çaplı hissələr:

Robotun arxasına yerləşdirilən iki standart təkər PLA -da 3D çap edilmişdir. Səbəb, bütün ehtiyaclara cavab verən təkərləri tapmağın yeganə yolu (DC mühərriklərinə uyğun, ölçü, çəki …) onları özümüz dizayn etmək idi. Motor fiksasiyası da büdcə səbəbləri ilə 3D çap edildi. Sonra bitki qabı dəstəyi, Arduino'yu dəstəkləyən sütunlar və çörək taxtasını dəstəkləyən künclər də 3D çap edildi, çünki robotumuza uyğun bir forma uyğunlaşdı.

Addım 4: ELEKTRONİK

ELEKTRONİK
ELEKTRONİK
ELEKTRONİK
ELEKTRONİK
ELEKTRONİK
ELEKTRONİK

Kəskin sensorlar: iti sensorlar üç sancağa malikdir. Bunlardan ikisi qidalanma üçündür (Vcc və Ground) və sonuncusu ölçülmüş siqnaldır (Vo). Qidalanma üçün 4,5 ilə 5,5 V arasında ola biləcək müsbət gərginliyə sahibik, buna görə Arduinodan 5V istifadə edəcəyik. Vo Arduino analoq pinlərindən birinə qoşulacaq.

İşıq sensorlar: İşıq sensorlarının işləyə bilməsi üçün kiçik bir dövrə ehtiyacı var. LDR, gərginlik bölücü yaratmaq üçün 900 kOhm rezistorla birlikdə qoyulur. Torpaq, LDR -yə bağlı olmayan rezistorun pinində, Arduino -nun 5V -də isə rezistora bağlı olmayan LDR -nin pininə qoşulur. Bu gərginliyi ölçmək üçün rezistor və LDR -nin pinləri Arduinonun analoq pininə bağlanır. Bu gərginlik tam işığa uyğun 5V ilə qaranlığa uyğun sıfıra yaxın 0 ilə 5V arasında dəyişəcək. Sonra bütün dövrə robotun yan taxtalarına sığa biləcək kiçik bir çörək taxtasına lehimlənəcək.

Batareyalar: Batareyalar hər biri 1,2 ilə 1,5 V arasında, 4,8 ilə 6 V arasında 4 yığından ibarətdir. İki yığın tutacaqını ardıcıl olaraq qoyaraq 9,6 ilə 12 V arasında olur.

Su pompası: Su nasosunun Arduinonun qidalanması ilə eyni tipli bir bağlantısı (güc jakı) var. İlk addım, əlaqəni kəsmək və telin pozitiv gərginliyə malik olması üçün teli kəsməkdir. Pompanı idarə etmək istədiyimiz üçün onu bir keçid olaraq istifadə olunan cari idarə olunan bir tranzistorla birlikdə qoyacağıq. Sonra geri axınların qarşısını almaq üçün nasosla paralel olaraq bir diod qoyulacaq. Transistorun alt ayağı Arduino/batareyaların ümumi zəmininə, ortası Arduinonun gərginliyini cərəyana və yuxarı ayağını qara kabelə çevirmək üçün ardıcıl olaraq 1kOhm rezistorlu Arduinonun rəqəmsal pininə qoşulur. nasos. Sonra nasosun qırmızı kabeli batareyaların müsbət gərginliyinə qoşulur.

Motorlar və qalxan: Qalxanın lehimlənməsi lazımdır, lehimsiz göndərilir. Bu edildikdən sonra, bütün qalxan başlıqlarını Arduino sancaqlarına kəsərək Arduino üzərinə yerləşdirilir. Qalxan batareyalarla işləyəcək və bir tullanan açıldıqda Arduino -nu gücləndirəcək (şəkildə narıncı sancaqlar). Arduino qalxandan başqa bir vasitə ilə işləyərkən tullanan qoymamaq üçün diqqətli olun, çünki Arduino daha sonra qalxanı gücləndirəcək və əlaqəni yandıra bilər.

Çörək lövhəsi: İndi bütün komponentlər çörək taxtasında lehimlənəcək. Bir yığın tutucunun, Arduino, motor idarəedicisinin və bütün sensorların zəmini eyni sətirdə lehimlənəcək (çörək taxtamızın satırlarında eyni potensiala malikdir). Sonra ikinci yığın tutucunun qara kabeli, yeri artıq lehimlənmiş birinci yığın tutucusunun qırmızı ilə eyni sırada lehimlənəcəkdir. Daha sonra bir kabel, ikisi ardıcıl olaraq uyğun gələn ikinci yığın tutucusunun qırmızı kabeli ilə eyni sırada lehimlənəcəkdir. Bu kabel açarın bir ucuna, digər ucu isə boş bir sətirdə çörək taxtasına lehimlənmiş bir tel ilə bağlanacaq. Pompanın qırmızı kabeli və motor tənzimləyicisinin qidalanması bu sıraya lehimlənəcək (açar şəkildə göstərilməyib). Arduinonun 5V -u başqa bir səthə lehimlənəcək və hər bir sensörün qidalanma gərginliyi eyni sırada lehimlənəcək. Mümkün olduğunda çörək taxtasına bir tullanan və komponentə bir tullanan lehimləməyə çalışın ki, onları asanlıqla ayırın və elektrik komponentlərinin yığılması daha asan olacaq.

Addım 5: PROGRAMLAMA

PROQRAMLAMA
PROQRAMLAMA

Proqram axını cədvəli:

Proqram vəziyyət dəyişənləri anlayışından istifadə etməklə olduqca sadə saxlanılmışdır. Axın cədvəlində gördüyünüz kimi, bu dövlətlər də prioritet anlayışı yaradır. Robot şərtləri bu qaydada yoxlayacaq:

1) 2 -ci vəziyyətdə: Bitkinin moist_level funksiyası olan kifayət qədər suyu varmı? Higrometre ilə ölçülən nəm səviyyəsi 500 -dən aşağı olarsa, nasos 500 -dən yuxarı olana qədər işləyəcək. Zavodda kifayət qədər su olduqda robot 3 -cü vəziyyətə keçir.

2) 3 -cü vəziyyətdə: Ən çox işığı olan istiqaməti tapın. Bu vəziyyətdə bitki kifayət qədər suya malikdir və maneələrdən qaçarkən istiqamətini ən çox işıqla izləməlidir. Light_direction funksiyası, ən çox işıq alan üç işıq sensorunun istiqamətini verir. Robot, bu istiqamətə riayət etmək üçün motorları follow_light funksiyası ilə idarə edəcək. İşıq səviyyəsi müəyyən bir eşikdən (kifayət qədər işıq) yuxarıdırsa, robot bu mövqedə kifayət qədər olduğu üçün işığı izləməyi dayandırır (stop_motors). İşığı izləyərkən 15 sm -dən aşağı maneələrin qarşısını almaq üçün maneənin istiqamətini qaytarmaq üçün bir funksional maneə tətbiq edilmişdir. Maneələrin qarşısını almaq üçün qarşısını almaq üçün maneə funksiyası tətbiq edilmişdir. Bu funksiya, maneənin harada olduğunu bilən motoru idarə edir.

Addım 6: MONTAJ

MONTAJ
MONTAJ
MONTAJ
MONTAJ
MONTAJ
MONTAJ

Bu robotun montajı əslində olduqca asandır. Əksər komponentlər yerlərini qoruyub saxlamaq üçün qutuya vidalanmışdır. Sonra yığın tutucu, su anbarı və nasos cızılır.

Addım 7: TƏCRÜBƏLƏR

Ümumiyyətlə, bir robot qurarkən işlər düz getmir. Mükəmməl nəticə əldə etmək üçün aşağıdakı dəyişikliklərlə bir çox testə ehtiyac var. Burada bitki robotunun prosesinin bir sərgisi var!

İlk addım robotu mühərriklər, Arduino, motor idarəedicisi və prototipləşdirilmiş çörək taxtası olan işıq sensörləri ilə təchiz etmək idi. Robot ən çox işığı ölçdüyü istiqamətə gedir. Robotun kifayət qədər işığı varsa onu dayandırmaq üçün bir eşik qərar verildi. Robot yerdə sürüşərkən təkəri simulyasiya etmək üçün təkərlərə aşındırıcı kağız əlavə etdik.

Daha sonra maneələrin qarşısını almaq üçün quruluşa kəskin sensorlar əlavə edildi. Başlanğıcda ön hissəyə iki sensör qoyuldu, ancaq ortasında üçüncü bir hissə əlavə edildi, çünki kəskin sensorlar çox məhdud aşkarlama bucağına malikdir. Nəhayət, robotun uclarında sola və ya sağa, ortada bir maneə aşkar edən iki ön sensörümüz var ki, önümüzdə bir maneə olub -olmadığını aşkar edə bilək. Maneələr, kəskinlikdəki gərginlik robotla 15 sm məsafəyə bərabər olan müəyyən bir dəyərdən artıq olduqda aşkar edilir. Maneə bir tərəfdə olduqda, robot bundan qaçır və ortada bir maneə olduqda robot dayanır. Kəskinlərin altındakı maneələrin aşkarlanmadığını unutmayın, buna görə maneələrin qarşısını almaq üçün müəyyən bir yüksəkliyə sahib olmalısınız.

Bundan sonra nasos və higrometr yoxlanılır. Nasos, higrometrin gərginliyi quru qazana uyğun müəyyən bir dəyərdən aşağı olduğu müddətdə su göndərir. Bu dəyər quru və nəmli qab bitkiləri ilə sınaqdan keçirilərək ölçülmüş və müəyyən edilmişdir.

Nəhayət hər şey birlikdə sınaqdan keçirildi. Bitki əvvəlcə kifayət qədər suyun olub olmadığını yoxlayır və sonra maneələrdən qaçaraq işığı izləməyə başlayır.

Addım 8: YENİ TEST

İşdə robotun nəhayət necə işlədiyini göstərən videolar. Ümid edirəm zövq alırsınız!

Addım 9: BU PROJƏDƏ NƏ ÖYRƏNDİK?

Çox şey öyrəndiyimiz üçün bu layihənin ümumi rəyləri çox yaxşı olsa da, son tarixlərə görə onu qurarkən kifayət qədər stress keçirmişik.

Qarşılaşılan problemlər

Bizim vəziyyətimizdə proses zamanı bir neçə problemlə qarşılaşdıq. Bəzilərini həll etmək asan idi, məsələn, komponentlərin çatdırılması gecikdikdə, onları ala bilsək, şəhərdəki mağazalara baxdıq. Digərləri bir az daha düşünməyi tələb edir.

Təəssüf ki, hər problem həll olunmadı. İlk fikirimiz, ev heyvanlarının və bitkilərin xüsusiyyətlərini birləşdirmək, hər birindən ən yaxşısını əldə etmək idi. Bunu edə biləcəyimiz bitkilər üçün, bu robotla evlərimizi bəzəyən bir bitkiyə sahib ola biləcəyik və ona qulluq etməyəcəyik. Ancaq ev heyvanları üçün, etdikləri şirkəti simulyasiya etməyin bir yolunu anlamadıq. İnsanların ardınca getməyin fərqli yollarını düşündük və birini tətbiq etməyə başladıq, amma başa çatdırmaq üçün vaxtımız yox idi.

Əlavə təkmilləşdirmələr

İstədiyimiz hər şeyi əldə etmək istəsək də, bu layihə ilə öyrənmək heyrətamiz oldu. Bəlkə də zaman keçdikcə daha da yaxşı bir robot əldə edə bilərik. Burada robotumuzu inkişaf etdirmək üçün bəlkə də bəzilərinizin sınamaq istədiyi fikirləri təklif edirik:

- İstifadəçiyə robotun nə vaxt doldurulacağını bildirən müxtəlif rəngli (qırmızı, yaşıl,…) ledlər əlavə etmək. Batareyanın ölçülməsi, bu gərginliyi Arduino ilə ölçmək üçün batareya tam doldurulduqda maksimum 5V olan bir gərginlik bölücü ilə edilə bilər. Sonra müvafiq led açılır.

- İstifadəçiyə su anbarının nə vaxt doldurulacağını bildirən su sensoru əlavə etmək (su hündürlüyü sensoru).

- Robotun istifadəçiyə mesaj göndərə biləcəyi bir interfeys yaratmaq.

Və açıq -aydın, insanları təqib etmək məqsədini unuta bilmərik. Ev heyvanları insanların ən çox sevdikləri şeylərdən biridir və kimsə robotun bu davranışı simulyasiya etməsinə nail ola bilsə çox gözəl olardı. Bunu asanlaşdırmaq üçün burada əlimizdə olan hər şeyi verəcəyik.

Addım 10: Robotu İnsanları İzləməyə Necə Alınır?

Image
Image
Robotu İnsanları İzləməyə Necə Alınır?
Robotu İnsanları İzləməyə Necə Alınır?
Robotu insanları izləmək üçün necə əldə etmək olar?
Robotu insanları izləmək üçün necə əldə etmək olar?

Bunun üçün ən yaxşı yolun bir ultrasəs sensoru, bir yayıcı və iki alıcı istifadə edəcəyini anladıq.

Verici

Verici üçün 50% iş dövrü olmasını istərdik. Bunu etmək üçün NE555N istifadə etdiyimiz 555 taymerdən istifadə etməlisiniz. Şəkildə, dövrənin necə qurulacağını görə bilərsiniz. Ancaq məsələn, 3, 1μF çıxışında əlavə bir kondansatör əlavə etməlisiniz. Rezistorlar və kondansatörlər aşağıdakı düsturlar ilə hesablanır: (şəkillər 1 və 2)

50% vəzifə dövrü arzu olunduğundan, t1 və t2 bir -birinə bərabər olacaq. Beləliklə, 40 kHz ötürücü ilə t1 və t2 1.25*10-5 s-ə bərabər olacaq. C1 = C2 = 1 nF götürəndə R1 və R2 hesablana bilər. R1 = 15 kΩ və R2 = 6.8 kΩ aldıq, R1> 2R2 olduğundan əmin olun!

Bunu osiloskopda dövrə olaraq sınayanda aşağıdakı siqnalı aldıq. Ölçək 5 µs/div -dir, buna görə tezlik 43 kHz ətrafında olacaq. (Şəkil 3)

Alıcı

Alıcının giriş siqnalı Arduinonun dəqiq işlənməsi üçün çox aşağı olacaq, buna görə də giriş siqnalının gücləndirilməsi lazımdır. Bu, ters çevirici gücləndirici etməklə ediləcək.

Opamp üçün Arduinodan 0 V və 5 V ilə işlədiyimiz LM318N istifadə etdik. Bunu etmək üçün salınan siqnal ətrafında gərginliyi artırmalı olduq. Bu vəziyyətdə onu 2,5 V -ə qaldırmaq məntiqli olardı. Təchizat gərginliyi simmetrik olmadığından rezistordan əvvəl bir kondansatör yerləşdirməliyik. Bu şəkildə yüksək keçidli bir filtr də hazırladıq. İstifadə etdiyimiz dəyərlərə görə tezliyin 23 kHz -dən yüksək olması lazım idi. A = 56 amplifikasiyasından istifadə edərkən siqnal yaxşı olmayan doyma səviyyəsinə keçərdi, buna görə də A = 18 istifadə etdik. Bu hələ də kifayət edəcək. (Şəkil 4)

İndi gücləndirilmiş bir sinus dalğasına sahib olduğumuz üçün Arduinonun ölçə bilməsi üçün sabit bir dəyərə ehtiyacımız var. Bunun bir yolu pik detektor dövrə etməkdir. Alınan siqnalın intensivliyi ilə mütənasib olan sabit bir siqnalın olması ilə ötürücünün alıcıdan daha uzaqda və ya əvvəlkindən fərqli bir açıda olduğunu görə bilərik. Həssas bir pik detektora ehtiyacımız olduğu üçün 1N4148 diodunu gərginlik izləyicisinə qoyduq. Bununla diod itkimiz yoxdur və ideal bir diod yaratdıq. Opamp üçün, dövrənin birinci hissəsindəki kimi eyni və eyni enerji təchizatı olan 0 V və 5V istifadə etdik.

Paralel kondansatörün yüksək bir dəyərə sahib olması lazımdır, buna görə çox yavaş boşalacaq və yenə də real dəyərlə eyni pik dəyərinin növünü görürük. Rezistor da paralel olaraq yerləşdiriləcək və çox aşağı olmayacaq, əks halda axıdılması daha böyük olacaq. Bu vəziyyətdə 1.5µF və 56 kΩ kifayətdir. (Şəkil 5)

Şəkildə ümumi dövrəni görə bilərsiniz. Arduinoya gedəcək çıxış haradadır. Və 40 kHz AC siqnalı, digər ucunun yerə bağlanacağı qəbuledici olacaq. (Şəkil 6)

Daha əvvəl dediyimiz kimi, robotdakı sensorları birləşdirə bilmədik. Ancaq dövrənin işlədiyini göstərmək üçün testlərin videolarını təqdim edirik. İlk videoda gücləndirməni (ilk OpAmp -dən sonra) görmək olar. Osiloskopda artıq 2.5V ofset var, buna görə siqnal ortadadır, sensorlar istiqaməti dəyişdikdə amplituda dəyişir. İki sensor bir -birinə baxdıqda, sinusun amplitudası, sensorların hər ikisi arasında daha böyük bir açı və ya məsafəyə malik olduğundan daha yüksək olacaq. İkinci videoda (dövrənin çıxışı) düzəldilmiş siqnal görünə bilər. Yenə də, sensorlar üz -üzə qaldıqda, ümumi gərginlik olmadıqlarından daha yüksək olacaq. Kondansatörün boşalması və volt/div səbəbiylə siqnal tamamilə düz deyil. Sensorlar arasındakı bucaq və ya məsafə artıq optimal olmadıqda azalan sabit bir siqnal ölçə bildik.

Fikir o zaman idi ki, robotu alıcıya və istifadəçiyə ötürücü olsun. Robot, intensivliyin hansı istiqamətdə ən yüksək olduğunu təyin etmək üçün öz növbəsində hərəkət edə bilər və bu istiqamətdə gedə bilər. İstifadəçinin siqnalının hansı istiqamətdə yayıldığını bilmək üçün iki qəbuledicinin olması və ən yüksək gərginliyi aşkar edən alıcının ardınca getmək daha yaxşı bir yol ola bilər - üç qəbuledicinin yerləşdirilməsi və LDR kimi yerləşdirilməsi. sol və ya sağ).

Tövsiyə: