instructables-logo

təlimatlar VHDL Motor Sürətinə Nəzarət İstiqamət və Sürətə qərar verin Sol və Sağ Sürət Nəzarətçisi

instruktables-VHDL-Motor-Speed-Nəzarət-Qərar Vermə İstiqaməti-və-Sürət-Sol və Sağ-Sürətə Nəzarətçi-MƏHSUL

QEYD: Bu səhifə daha böyük quruluşun bir hissəsidir. Lütfən, BURADAN başladığınızdan əmin olun ki, aşağıdakıların daha böyük layihə daxilində harada uyğun olduğunu başa düşəsiniz

Bitdiview

Motor sürətinə və istiqamətinə nəzarət fotodetektor robotundakı iki əsas bölmədən biridir, digəri isə fotodetektor və ya işıq detektoru bölməsidir. Fotodetektor bölməsi robotun görmə qabiliyyətinə diqqət yetirdiyi halda, motor sürəti və istiqamətə nəzarət bölməsi robotun hərəkətinə diqqət yetirir. Mühərrik sürəti və istiqamətinə nəzarət prosesi fotodetektor bölməsindən verilir və motor hərəkəti şəklində fiziki çıxış verir.

Bu bölmənin məqsədi işıq axtaran robotun həm sol, həm də sağ motorunun sürətini və istiqamətini idarə etməkdir. Bu dəyərlərə qərar vermək üçün sizə kamera tərəfindən çəkilmiş və eşikləmə ilə işlənmiş işığın ölçüsünə və mövqeyinə ehtiyacınız olacaq. Mühərriklərin hər birində ölçülmüş sürətə də ehtiyacınız olacaq. Bu girişlərdən siz mühərriklərin hər biri üçün PWM (Pulse-Width Modulation) dəyərini çıxara biləcəksiniz.

Buna nail olmaq üçün bu VHDL modullarını hazırlamalısınız (həmçinin aşağıda verilmişdir):

  1. Nəzarət
  2. Səhv hesablanması
  3. İkili çevrilmə
  4.  İşıq mənbəyinin olmaması

Bu bölmə üçün VHDL koduna burada baxa bilərsiniz.

Təchizat
ISE Design Suite 14.7 ilə kodlamağı tövsiyə edirik, çünki o, VHDL-də kodu sınamaq üçün də istifadə edilə bilər. Bununla belə, kodu BASYS 3-ə yükləmək üçün siz Vivado (ver. 2015.4 və ya 2016.4) quraşdırmalı və .xdc uzantısı ilə məhdudiyyəti yazmalısınız.təlimatlar-VHDL-Motor-Sürətə Nəzarət-Qərar Vermə İstiqaməti və Sürəti-Sol və Sağ-Sürət Nəzarətçisi-şək-1

VHDL Motor Sürətinə Nəzarət: İstiqamət və Sürətə qərar verin, Sol və Sağ Sürət Nəzarətçisi: Səhifə 1

TƏLİMAT ADDIMI

Addım 1: Nəzarət
İşıq axtaran robotun davranışını necə idarə edəcəyini başa düşmək üçün robotun işıq mənbəyini gördükdə onun istədiyi davranışını izah edəcəyik. Bu davranış işıq mənbəyinin mövqeyinə və ölçüsünə görə idarə olunacaq.instruktables-VHDL-Motor-Speed-Nəzarət-Qərar Vermə İstiqaməti-və-Sürət-Sol-Və-Sağ Sürət Nəzarətçisi-

İstifadə olunan alqoritm bir qolu sola və ya sağa, digəri isə irəli və ya geriyə çevrilə bilən RC robot nəzarətçisinə bənzəyir.

İşığı axtarmaq üçün, əgər işıq mənbəyinin mövqeyi robotun düz qarşısındadırsa, bu robotun düz xətt üzrə hərəkət etməsini istəyirsiniz. Bunu etmək üçün həm sol, həm də sağ mühərriklərdə eyni sürəti istəyirsiniz. İşıq robotun sol tərəfində yerləşirsə, siz sağ motorun sol motordan daha sürətli hərəkət etməsini istəyirsiniz ki, robot sola işığa doğru dönə bilsin. Əksinə, işıq robotun sağ tərəfində yerləşirsə, siz sol motorun sağ motordan daha sürətli hərəkət etməsini istəyirsiniz ki, robot sağa işığa doğru dönə bilsin. Bu, robotu sola, sağa və ya düz hərəkət etdirmək istəməyinizə nəzarət edə biləcəyiniz RC nəzarətçisinin sol qoluna bənzəyir.

Sonra, işıq mənbəyi uzaqdırsa (kiçik işıq mənbəyi) robotun irəli getməsini və ya aşkar edilmiş işıq mənbəyi çox yaxındırsa (böyük işıq mənbəyi) geriyə doğru hərəkət etməsini istəyirsiniz. Siz həmçinin istərdiniz ki, robot işıq mənbəyindən nə qədər uzaq olarsa, robot bir o qədər sürətli hərəkət edər. Bu, RC nəzarətçisinin sağ qoluna bənzəyir, burada siz irəli və ya geri hərəkət etmək istədiyinizi və onun nə qədər sürətlə hərəkət etməsini istədiyinizə nəzarət edə bilərsiniz.

Daha sonra siz mühərriklərin hər birinin sürəti üçün riyazi düstur əldə edə bilərsiniz və biz sürət diapazonunu -255 ilə 255 arasında seçirik. Mənfi dəyər mühərrikin geriyə, müsbət dəyər isə mühərrikin irəli dönəcəyi deməkdir.

Bu, bu robotun hərəkəti üçün əsas alqoritmdir. Bu modul haqqında daha çox öyrənmək üçün bura klikləyin.

Addım 2: Xətanın hesablanması
Mühərriklər üçün məqsəd sürəti və istiqaməti artıq sizdə olduğundan, siz də mühərriklərin ölçülən sürətini və istiqamətini nəzərə almaq istəyirsiniz. Əgər sürət hədəfinə çatmışdırsa, biz motorun yalnız öz sürətində hərəkət etməsini istəyirik. Əgər yoxdursa, biz motora daha çox sürət əlavə etmək istəyirik. Nəzarət nəzəriyyəsində bu, qapalı döngə əks əlaqə idarəetmə sistemi kimi tanınır.

Bu modul haqqında daha çox öyrənmək üçün bura klikləyin.təlimatlar-VHDL-Motor-Sürətə Nəzarət-Qərar Vermə İstiqaməti və Sürəti-Sol və Sağ-Sürət Nəzarətçisi-şək-2

Addım 3: İkili Dönüşüm
Əvvəlki hesablamalardan siz artıq mühərriklərin hər biri üçün lazım olan hərəkətləri bildiniz. Bununla belə, hesablamalar imzalanmış ikili sistemdən istifadə etməklə aparılır. Bu modulun məqsədi bu işarələnmiş dəyərləri istiqamət (saat əqrəbi və ya saat yönünün əksinə) və sürət (0 ilə 255 arasında dəyişən) olan PWM generatoru tərəfindən oxuna bilən dəyərə çevirməkdir. Həmçinin, motordan gələn əks əlaqə imzasız binar sistemdə ölçüldüyündən, işarəsiz dəyərləri (istiqamət və sürət) xəta hesablama modulu ilə hesablana bilən imzalanmış dəyərə çevirmək üçün başqa modul lazımdır. Bu modul haqqında daha çox öyrənmək üçün bura klikləyin.

Addım 4: İşıq mənbəyinin olmaması
Siz robot tərəfindən işıq aşkar edildikdə işıq axtarmaq üçün hərəkət edən bir robot yaratdınız. Bəs robot işığı aşkar etmədikdə nə baş verir? Bu modulun məqsədi belə bir vəziyyət olduqda nə edəcəyini diktə etməkdir.

İşıq mənbəyini axtarmağın ən asan yolu robotun yerində fırlanmasıdır. Müəyyən bir neçə saniyə fırlanandan sonra, robot hələ də işıq mənbəyi tapmayıbsa, enerjiyə qənaət etmək üçün robotun hərəkətini dayandırmasını istəyirsiniz. Başqa bir təyin edilmiş saniyədən sonra robot işığı axtarmaq üçün yenidən yerində fırlanmalıdır. Bu modul haqqında daha çox öyrənmək üçün bura klikləyin.

Addım 5: Necə işləyir
Bu izahat üçün yuxarıdakı şəkilə müraciət edə bilərsiniz. Bu təlimatın əvvəlində qeyd edildiyi kimi, eşik bölməsindən "ölçü" və "mövqe" daxiletmələrinə ehtiyacınız olacaq. Bu girişlərin etibarlı olduğundan əmin olmaq üçün (məsample, siz = 0 ölçüsünü qəbul etdiyiniz zaman ölçü həqiqətən sıfırdır, çünki kamera işığı aşkar etmir və kamera hələ işə salındığı üçün deyil) sizə "HAZIR" dediyimiz bir növ göstərici də lazım olacaq. Bu məlumatlar hər bir motorun məqsəd sürətini (9 bit, imzalanmış) müəyyən etmək üçün idarəetmə (Ctrl. vhd) tərəfindən işlənəcəkdir.

Mühərrikdə daha sabit çıxış üçün qapalı dövrə sistemində əks əlaqədən istifadə etmək istərdiniz. Bunun üçün mühərrik sürətinin ölçülməsi bölməsindən hər bir motorun "istiqaməti" və "sürəti" daxil edilməsi tələb olunur. Bu girişləri hesablamalarınıza daxil etmək istədiyiniz üçün bu işarəsiz dəyərləri 9 bitlik işarəli ikiliyə çevirməli olacaqsınız. Bu, imzalanmış ikili çeviriciyə (US2S.vhd) imzasız tərəfindən edilir.

Səhv hesablamasının (səhv. vhd) etdiyi şey, hər bir motor üçün hərəkəti müəyyən etmək üçün məqsəd sürətindən ölçülmüş sürəti çıxarmaqdır. Bu o deməkdir ki, hər ikisi eyni dəyərə malik olduqda, çıxma sıfıra çevrilir və mühərrik yalnız öz sürəti ilə hərəkət edəcəkdir. Siz həmçinin vurma faktorunu əlavə edə bilərsiniz ki, robot hədəf sürətinə daha tez çata bilsin.

Mühərrik nəzarətçisinin hər bir motorun sürətinə və istiqamətinə ehtiyacı olduğundan, hərəkətin imzalanmış dəyərlərini iki ayrı işarəsiz dəyərə çevirməlisiniz: sürət (1 bit) və istiqamət (8 bit). Bu, imzalanmışdan imzasız ikili çevirici (S2US.vhd) tərəfindən həyata keçirilir və motor idarəetmə bölməsinə daxil olacaq.

Biz həmçinin işıq aşkarlanmadıqda nə edəcəyimizi müəyyən etmək üçün modul əlavə etdik (işıq sayğacı yoxdur. Bhd). Bu modul əsasən sayğac olduğundan, robotun nə qədər fırlanması və ya yerində qalması lazım olduğunu hesablayacaq. Bu, robotun qarşısında olanı deyil, öz ətrafını “görməsini” təmin edəcək və həqiqətən işıq mənbəyi olmadıqda batareyanın enerjisinə qənaət edəcək.təlimatlar-VHDL-Motor-Sürətə Nəzarət-Qərar Vermə İstiqaməti və Sürəti-Sol və Sağ-Sürət Nəzarətçisi-şək-3

Addım 6: birləşdirin Files
Birləşdirmək üçün files, hər moduldan gələn siqnalları birləşdirməlisiniz. Bunu etmək üçün yeni bir üst səviyyə modul yaratmalısınız file. Əvvəlki modulların giriş və çıxışlarını komponentlər kimi daxil edin, əlaqələr üçün siqnallar əlavə edin və hər portu müvafiq cütə təyin edin. Siz yuxarıdakı təsvirdəki əlaqələrə istinad edə və koda buradan baxa bilərsiniz.təlimatlar-VHDL-Motor-Sürətə Nəzarət-Qərar Vermə İstiqaməti və Sürəti-Sol və Sağ-Sürət Nəzarətçisi-şək-4

Addım 7: Test edin
Bütün kodu tamamladıqdan sonra, kodunuzu lövhəyə yükləməzdən əvvəl işlədiyini bilməlisiniz, xüsusən də kodun hissələri müxtəlif insanlar tərəfindən hazırlana bilər. Bunun üçün dummy dəyərləri daxil edəcəyiniz və kodun bizim istədiyimiz kimi davranıb-rəftar etmədiyini görəcəyiniz test masası tələb olunur. Siz hər bir modulu sınaqdan keçirərək istirahətə başlaya bilərsiniz və onların hamısı düzgün işləyirsə, daha sonra yuxarı səviyyəli modulu sınaqdan keçirə bilərsiniz.

Addım 8: Bunu Avadanlıqda sınayın
Kodunuz kompüterinizdə sınaqdan keçirildikdən sonra kodu real aparatda sınaqdan keçirə bilərsiniz. Məhdudiyyət yaratmalısınız file Vivado-da (.xdc file BASYS üçün 3) hansı giriş və çıxışların hansı portlara getdiyini idarə etmək.

Vacib məsləhət: Elektrik komponentlərinin maksimum cərəyan və ya həcm dəyərinə malik ola biləcəyini çətin yoldan öyrəndiktages. Dəyərlər üçün məlumat cədvəlinə müraciət etməyinizə əmin olun. PMOD HB5 üçün həcmi təyin etdiyinizə əmin oluntage 12 voltda enerji mənbəyindən (bu tələb olunan həcmdirtage motor üçün) və cərəyan motorun hərəkət etməsi üçün lazım olduğu qədər azdır.

Addım 9: Digər hissələri ilə birləşdirin
Əvvəlki addımlar uğurlu olarsa, robota yüklənəcək son kod üçün kodu digər qruplarla birləşdirin. Sonra, voila! Siz uğurla işıq axtaran robot yaratdınız.

Addım 10: Töhfəçilər
Soldan sağa:

  • Antonius Gregorius Deaven Rivaldi
  • Feliks Viquna
  • Nikolas Sanjaya
  • Riçard Medyantotəlimatlar-VHDL-Motor-Sürətə Nəzarət-Qərar Vermə İstiqaməti və Sürəti-Sol və Sağ-Sürət Nəzarətçisi-şək-6

Çox gözəl: VHDL Motor Sürətinə Nəzarət: İstiqamət və Sürətə qərar verin, Sol və Sağ Sürət Nəzarətçisi: Səhifə 6
Yenidən təşəkkür edirəmviewing! Bu layihə əslində sinif layihəsinin yalnız bir hissəsidir (BASYS 3 lövhəsi və OV7670 kamerası ilə İşıq Axtaran Robot), ona görə də tezliklə dərsin təlimatına keçidi əlavə edəcəyəm!

Möhtəşəm: Hər şeyin bir araya gəlməsini səbirsizliklə gözləyirəm.

Sənədlər / Resurslar

təlimatlar VHDL Motor Sürətinə Nəzarət İstiqamət və Sürətə qərar verin Sol və Sağ Sürət Nəzarətçisi [pdf] Təlimatlar
VHDL Motor Sürətinə Nəzarət İstiqamətə və Sürətə Qərar Vermək Sol və Sağ Sürət Nəzarətçisi, VHDL Motor Sürətinə Nəzarət, İstiqamətə və Sürətə Qərar Vermək Sol və Sağ Sürət Nəzarətçisi

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *