Mündəricat:
- Addım 1: Ciruit Layout
- Addım 2: Arduino Kodu
- Addım 3: Matlab Kodu (HallRT Fayl)
- Addım 4: Matlab Kodu (thresh_analyze)
- Addım 5: Sınaq 1: Aliasing yoxdur
- Addım 6: 2 -ci sınaq: Sensorun kənarlaşdırılması (i)
- Addım 7: 3 -cü sınaq: Sensorun kənarlaşdırılması (ii)
- Adım 8: 4 -cü sınaq: Sensorun kənarlaşdırılması (iii)
Video: Nümunə götürmə dərəcəsi/Aliasing öyrədilə bilər: 8 addım (şəkillərlə)
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Aliasiyanı (və nümunə nisbətlərini) nümayiş etdirən və aliasiyanı öyrənən tələbələr üçün bir qaynaq olaraq bir veb saytında yerləşdirilməsi nəzərdə tutulan bir təhsil layihəsi yaratmaq istəyirəm.
Addım 1: Ciruit Layout
Arduino
Arduino dövrənin əsasını təşkil edir; servo motoru (quraşdırılmış enkoder təkəri ilə) və yerləşdirilmiş hol effekti sensorunu dəstəkləyir.
-Encoder təkəri: Enkoder təkərinin məqsədi, dairəvi bir yolda dönən bir maqnitin yerləşdiyi bir salon effekti sensoru üzərində dayanaraq dayandırılmasıdır.
-Sensor quruluşu: Salon effekti senatoru maqnitin fırlanma yolunun altına yerləşdirilir, məqsədi müxtəlif fırlanma sürətləri və məlumat toplama dərəcələri ilə maqnitin keçməsini izləməkdir.
---------------------------------------------------------------------------------------------------------
Alt addımlar:
-
Materialları əldə edin:
Arduino (+ çörək taxtası), tellər, kodlayıcı təkər, maqnit, hall effekti sensoru, servo motor, Matlab tətbiqi, Arduino tətbiqi
- Enkoder çarxını kəsin, servoya quraşdırın, maqniti yuvaya itələyin.
- Maqnit yolunun altına zal effekti senorunu əlavə edin (sensorun tel uzatmaları tələb oluna bilər).
- Dövrə qurun.
Addım 2: Arduino Kodu
Məlumat toplama üsulu
Arduino kodu, 'Analog In' A0 portu vasitəsilə, salon effekt sensöründən məlumat toplamaq üçün [Line 41] istifadə edir
Məlumatların ardıcıl ötürülməsi üsulu
- [Satır 43] Seriya monitorunda işləyən bir taymeri proqram boyu millisaniyələrdə saxlamaq üçün 'millis ()' funksiyasını yerinə yetirən dəyişən 'timer' göstərir.
- [Satır 45] Serial monitorda, proqram işləyərkən salon effekti senorundan məlumat əldə etmək üçün 'analogRead' tətbiq edən dəyişən 'hallsensor' göstərilir.
Gecikmə () parametrinin məqsədi
Gecikmə () parametrinin məqsədi, salon effekti sensöründən alınan məlumatların toplanma müddətini dəyişməkdir
---------------------------------------------------------------------------------------------------------
Alt addımlar:
Arduino tətbiqinə Arduino kodunu daxil edin
Addım 3: Matlab Kodu (HallRT Fayl)
- Məlumat əldə etmə üsulu - [Şəkil 3: Satır 77]
ArduinoStep -dən məlumat əldə etmək
---------------------------------------------------------------------------------------------------------
Alt addımlar:
Giriş Matlab kodu rəqəmlərin üstündədir, HallRT faylında saxlayın
Addım 4: Matlab Kodu (thresh_analyze)
Zirvələri sayma üsulu [Şəkil 2: 45-53-cü sətirlər]
- Bu Matlab kodunda bayrağın istifadəsi belədir ki, for loopu əvvəlcədən təyin edilmiş 'thresh' dəyər sayından daha böyük olan 'aRval' a töküldükdə bir dəfə artacaq, pik bir ulduzla işarələnəcək və if-ifadəsi [45-50-ci sətir] bayraq = 1 səbəbiylə qırılacaq. Bayraqlı ikinci if-ifadəsi [Satır 51-53] zirvəyə çatdıqda və dəyərlərin pik ətrafında azalmağa başladığını göstərir. = 0 və for loop daha çox zirvələr axtarmağa davam edir.
-
Parametrlər/Lazımi Dəyərlər:
- 'aRval': Bir sınaqdan toplanan məlumatlar.
- 'thresh': aRval -da yuxarıda olan hər şeyi pik olaraq göstərmək üçün seçilmiş dəyər.
---------------------------------------------------------------------------------------------------------
Alt addımlar:
"Thresh_analyze" ikinci bir Matlab faylı yaradın
Addım 5: Sınaq 1: Aliasing yoxdur
Şəkil 1: Məlumatların Sınanması @ Gecikmə 200 Şəkil 2: Təhlil Edilən Məlumat
-Gecikmə Parametrləri: 200
Zirvələr:
Say = 45
-Dəqiqədə inqilab sayı:
45 İnqilab/Dəqiqə
---------------------------------------------------------------------------------------------------------
Alt addımlar:
-
Arduinonu dizüstü kompüterinizə qoşun.
Arduino kodundakı gecikməni "200" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)
- Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 200 olaraq dəyişdirin.
- HallRT proqramını işə salın.
- Matlab faylını "delay_200" altında saxlayın. (Şəkli Saxla)
- Delay_200.mat faylını yükləyin.
- Thresh_analyze proqramını işə salın. (Şəkli Saxla)
Addım 6: 2 -ci sınaq: Sensorun kənarlaşdırılması (i)
Şəkil 1: Data Denemesi @ Gecikmə 50
Şəkil 2: Təhlil Edilən Məlumatları Artırın
Gecikmə Parametrləri: 50-Zirvələr:
Say = 52
Dəqiqədə inqilab sayı:
52 İnqilab/Dəqiqə
---------------------------------------------------------------------------------------------------------
Alt addımlar:
-
Arduinonu dizüstü kompüterinizə qoşun.
Arduino kodundakı gecikməni "50" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)
- Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 50 olaraq dəyişdirin.
- HallRT proqramını işə salın.
- Matlab faylını "delay_50" altında saxlayın. (Şəkli Saxla)
- Delay_50.mat faylını yükləyin.
- Thresh_analyze proqramını işə salın. (Şəkli Saxla)
Addım 7: 3 -cü sınaq: Sensorun kənarlaşdırılması (ii)
Şəkil 1: Data Denemesi @ Gecikmə 100 Şəkil 2: Təhlil Edilən Məlumat
Gecikmə Parametrləri: 100-Zirvələr:
Say = 54
Dəqiqədə inqilab sayı:
54 İnqilab/Dəqiqə
------------------------------------------------ -------------------------------------------------- ------- Alt addımlar:
-
Arduinonu dizüstü kompüterinizə qoşun.
Arduino kodundakı gecikməni "100" olaraq təyin edin. Yüklə (tətbiqin sol üst küncündə) düyməsini basın. '
- Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 100 olaraq dəyişdirin.
- HallRT proqramını işə salın.
- Matlab faylını "delay_100" altında saxlayın. (Şəkli Saxla)
- Delay_100.mat faylını yükləyin.
- Thresh_analyze proqramını işə salın. (Şəkli Saxla)
Adım 8: 4 -cü sınaq: Sensorun kənarlaşdırılması (iii)
Şəkil 1: Gecikmə 300 @ Məlumat Sınaqı Şəkil 2: Təhlil Edilən Məlumat
-Gecikmə Parametrləri: 300
Zirvələr:
Say = 32
Dəqiqədə inqilab sayı:
32 İnqilab/Dəqiqə
-------------------------------------------------- -------------------------------------------------- ------- Alt addımlar:
-
Arduinonu dizüstü kompüterinizə qoşun.
Arduino kodundakı gecikməni "300" olaraq təyin edin. Yükləmə düyməsini basın (tətbiqin sol üst küncündə)
- Matlab faylınız HallRT [37 nömrəli xətt] ə gedin və 'delayTime' dəyişənini 300 olaraq dəyişdirin.
- HallRT proqramını işə salın.
- Matlab faylını "delay_300" altında saxlayın. (Şəkli Saxla)
- Delay_300.mat faylını yükləyin.
- Thresh_analyze proqramını işə salın. (Şəkli Saxla)