Mündəricat:

DIY Rotary Encoder: 4 addım
DIY Rotary Encoder: 4 addım

Video: DIY Rotary Encoder: 4 addım

Video: DIY Rotary Encoder: 4 addım
Video: Interfacing Rotary Encoder With Arduino Uno Using ChatGPT Generated Arduino Code | Coders Cafe 2024, Iyul
Anonim
DIY Rotary Encoder
DIY Rotary Encoder

Şəkillərin olmaması üçün üzr istəyirəm, demək olar ki, bitənə qədər bu mövzuda bir dərs verməyə qərar vermədim.

Baxış:

Rotary kodlayıcılar, cihazın mövqeyini, fırlanma istiqamətini, sürətini və dönmə sayını təyin etmək üçün iki və ya daha çox sensordan istifadə edir. Bu xüsusi hal effektli sensorlar və maqnitlərdən istifadə edir. Bu xüsusi tip, ya sensorlar əhatə edərək ya da başqa bir şəkildə su yalıtımı ilə asanlıqla su yalıtımlı ola bilər. Bəzi effektli Hall effektli fırlanan kodlayıcılar həm təkər sürət sensoru, həm də mühərrik üçün krank mili mövqeyi sensoru üçün bəzi avtomobillərdə istifadə olunur və bəzi anemometrlərdə də istifadə olunur. Rotary kodlayıcıların üç əsas növü var:

1. Elektrik, keçirici izlər və fırçalar istifadə etməklə

2. İşıq və sensor istifadə edərək optik

3. Maqnitli, bir növ maqnit sensoru və maqnit materialı, məsələn, zal effekti sensorlar və maqnitlər. Həqiqi fırlanan hissə də maqnitlənə bilər.

az.wikipedia.org/wiki/Rotary_encoder

Xətti bir kodlayıcı, fırlanan bir kodlayıcı ilə eyni şəkildə edilə bilər.

Bir moruq pi üzərində ~ 1500 RPM -ə qədər olan kodlayıcıyı python kodu ilə sınadım. Kod və sxem üçün bir link sonunda olacaq. Test etmək üçün istifadə etdiyim matkapdakı istehsalçı xüsusiyyətləri, maksimum 1500 RPM və aldığım sürətin kodlayıcıdan həm irəli, həm də ~ 1485 geri ~ 1487 RPM olduğunu söylədi. Bu ya batareyanın tam doldurulmaması, ya da moruq pi -nə xas olan pis vaxt ola bilər. Arduino istifadə etmək daha yaxşı olardı, amma analog pindəki 12v -ni bəyənmədiyim birini haha oops.

Alətlər və materiallar:

1. Fırlanan bir şey (elektrikli bir matkapdan istifadə etdim)

2. İki və ya daha çox hal effekti sensoru (hədəflədiyiniz qətnamədən asılıdır)

3. Dörd maqnit (hədəf aldığınız qətnamədən asılıdır)

4. Yapışqan

5. Tel (sahib olduğum bəzi qırıq servolardan bir neçə bağlayıcı istifadə etdim)

6. Lehim

7. Lehimləmə dəmiri

8. İstədiyiniz qədər istilik büzücü borular, elektrik lentləri və ya tellər üçün digər izolyasiyaedici əşyalar

9. İşarəçi və ya yazıçı kimi işarələmə cihazı

Addım 1: Mıknatısları yapışdırın

Maqnitləri yapışdırın
Maqnitləri yapışdırın
Maqnitləri yapışdırın
Maqnitləri yapışdırın

Addım 1: Fırlanan hissənin xaricində bərabər nöqtələri qeyd edin və maqnitləri düzgün istiqamətdə bu nöqtələrə yapışdırın. Maqnitlərin polaritesini qeyd etməyə kömək edir. Mənim vəziyyətimdə 4/rotasiya üçün hər 90 dərəcə (0, 90, 180 və 270 dərəcə) idi ki, bu da tətbiqim üçün kifayət qədər çox idi, ancaq çəkdiyiniz qətnamədən asılı olaraq sizin üçün fərqli ola bilər. üçün. Aralıqları hesablamağın yaxşı bir yolu: dərəcə ilə gedirsinizsə (360 dərəcə/maqnit sayı) və ya ölçü ilə gedirsinizsə (dairə/maqnit sayı). Mənim vəziyyətimdə, əl tutma üçün saxlanılanlar artıq tətbiqim üçün kifayət qədər yaxşı ayrılmışdı, buna görə heç bir şeyi ölçmək məcburiyyətində qalmadım.

Addım 2: Sensorları bağlayın

Sensorları bağlayın
Sensorları bağlayın

Sensorların üzərinə lehim telləri qoyun, izolyasiya edin və istiliyi azaldın. Sensorun çox qızmamasına diqqət yetirin və bitirdikdən sonra da işlədiyini yoxlamaq üçün sınayın. Test etmək asandır, sadəcə gücü bağlayın və siqnal telinə bir LED bağlayın. Yanında düzgün bir maqnit gətirildikdə LED yanarsa və çəkilərkən sönərsə (bağlanmaz tip) və ya maqnitin əks dirəyi tətbiq olunarsa (kilidləmə tipi), deməli getmək İstifadə etdiyim xüsusi sensor kilidlənmir və işə salındıqda yerə (-) qoşulur.

Addım 3: Sensorlar üçün işarələyin

Image
Image
Sensorları yapışdırın
Sensorları yapışdırın

Sensorların getməli olduğu yerləri işarələyin. Bu xüsusi tənzimləmə üçün bu, ətrafın 1/16 hissələrində idi (0, 1/16). Bunun səbəbi, bir sensorun digərindən əvvəl atəş açmasıdır, ancaq nəzarətçiyə irəli və geri arasındakı zaman fərqlərini ayırd etməyə imkan verən bir şəkildə. Əvvəlcə 1/8 işarədə sınadım, amma hansı istiqamətdə getdiyini deyə bilmədim, çünki vaxt fərqləri eyni idi. Düzgün yerləşdirmə əldə edənə qədər sensorları müvəqqəti olaraq lentə almağa kömək edir, sonra işarələr qoyun. 1/8 bölmə edə bilərsiniz, istiqamət algılamazsınız, ancaq ikiqat qətnamə alacaqsınız. Edilə biləcək bir şey, 16 impuls/dönmə qətnaməsi əldə etmək üçün digər sensörlərdən 5/16 -cı və 7/16 -cı bölmədə 1/8 bölmə aralığında olan ikinci iki sensör dəsti istifadə etməkdir, ancaq Bu qədər yaxşı bir qərara ehtiyacım yox idi. Videoda bir zamanlama nümayişi var.

Addım 4: Sensorları yapışdırın

Sensorları yapışdırın
Sensorları yapışdırın

Sensorları işarələrə yapışdırın və yapışqan quruyana qədər bantlayın. Maqnit və sensorlar arasında boşluq buraxdığınızdan və vurmadıqları üçün sensorların maqnitlə hizalandığından və düzgün istiqamətdə olduğundan əmin olun. Yapışqanın qurumasını gözləyin və işiniz bitdi.

RPM -də fırlanma sürətini, fırlanma istiqamətini və dönüş sayını ölçmək üçün bir moruq pi üçün sxematik və python kodu əldə etmək üçün bura gedin və bunun üçün PDF -ni əldə edin.

Kod üçün pul almağımın səbəbi, hər şeyin düzgün işləməsi üçün ~ 4 gün çəkdiyi halda, bütün sənədlər də daxil olmaqla, layihənin qalan hissəsi yalnız 7 saat çəkdi (5 -i sənəd idi), əlavə olaraq 1 dollar çox deyil və daha böyük və daha mürəkkəb layihələri dəstəkləməyə kömək edir, əslində, bu, əlbəttə ki, yayımlandığı zaman hələ heç bir şey ödəmədiyim yeganə layihədir.

Tövsiyə: