Mundarija:
Video: Namuna olish tezligi/aliasing o'rgatilishi mumkin: 8 qadam (rasmlar bilan)
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men taxallusni (va namuna stavkalarini) ko'rsatadigan va aliasingni o'rganayotgan talabalar uchun manba sifatida veb -saytga joylashtiriladigan o'quv loyihasini yaratmoqchiman.
1 -qadam: Ciruit sxemasi
Arduino
Arduino - sxemaning asosi; servo dvigatelni qo'llab -quvvatlaydi (o'rnatilgan enkoder g'ildiragi bilan) va joylashtirilgan zal effekti sensori.
-Enkoder g'ildiragi: Enkoder g'ildiragining maqsadi dumaloq yo'lda aylanadigan magnitni to'xtatib qo'yishdir.
-Sensorni sozlash: Zal effekti senatori magnitning aylanish yo'lining ostiga qo'yilgan, uning maqsadi -magnitning aylanish tezligini va ma'lumotlarni yig'ish tezligini kuzatib borish.
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
-
Materiallarni olish:
Arduino (+ non taxtasi), simlar, kodlovchi g'ildirak, magnit, zal effekti sensori, servo dvigatel, Matlab ilovasi, Arduino ilovasi
- Enkoder g'ildiragini kesib oling, servoga o'rnating, magnitni uyaga kiriting.
- Magnit yo'lining ostiga zal effekti senorini ulang (sensorning simini uzatish talab qilinishi mumkin).
- O'chirish sxemasi.
2 -qadam: Arduino kodi
Ma'lumot yig'ish usuli
Arduino kodi [41 -qator] yordamida ma'lumotni "Analog In 'A0" porti orqali zal effekti sensori orqali yig'adi
Ma'lumotni ketma -ket uzatish usuli
- [43 -satr] Seriyali monitorda "millis ()" funktsiyasini bajaruvchi o'zgaruvchi "taymer" ko'rsatiladi, u taymerni millisekundlarda dastur davomida ushlab turishi uchun.
- [45 -satr] Serial monitorda "analogRead" ni ishlatadigan o'zgaruvchan "hallsensor" ko'rsatiladi, bu dastur bajarilayotganda zal effekti senoridan ma'lumot olish uchun.
Delay () parametrining maqsadi
Kechiktirish () parametrining maqsadi - zal effekti sensoridan olingan ma'lumotlarni yig'ish vaqtini o'zgartirish
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
Arduino dasturiga Arduino kodini kiriting
3 -qadam: Matlab kodi (HallRT fayli)
- Ma'lumot olish usuli - [3 -rasm: 77 -qator]
ArduinoStep -dan ma'lumotlarni olish
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
Matlab kodini kiritish raqamlardan yuqori, HallRT faylida saqlang
4 -qadam: Matlab kodi (thresh_analyze)
Cho'qqilarni hisoblash usuli [2-rasm: 45-53-qatorlar]
- Matlab kodidagi bayroqdan foydalanish shundan iboratki, for-loop oldindan o'rnatilgan "yig'ish" qiymatidan kattaroq bo'lgan "aRval" ga tushib qolsa, tepalik yulduzcha bilan belgilanadi va if-iborasi [45-50-satr] buziladi, chunki bayroq = 1. Bayroqli ikkinchi if-ibora [51-53-qator] shuni ko'rsatadiki, cho'qqiga erishilganda va qiymatlar tepalik atrofida pasayishni boshlaydi. = 0 va for loopi ko'proq cho'qqilarni qidirishda davom etmoqda.
-
Parametrlar/kerakli qiymatlar:
- 'aRval': Sinovdan olingan ma'lumot.
- 'thresh': aRvalda yuqoridagi narsani tepalik sifatida ko'rsatish uchun tanlangan qiymat.
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
"Thresh_analyze" ikkinchi Matlab faylini yarating
5 -qadam: 1 -sinov: Aliasing yo'q
1 -rasm: Ma'lumotlar tekshiruvi @ Kechikish 200 2 -rasm: Tahlil qilingan ma'lumotlarni maydalash
-Kechikish parametri: 200
tepaliklar:
Hisob = 45
-Bir daqiqadagi inqiloblar soni:
45 inqilob/daqiqa
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
-
Arduino -ni noutbukga ulang.
Arduino kodidagi kechikishni "200" ga o'rnating. Yuklash -ni bosing (dasturning chap yuqori burchagida)
- Matlab faylingiz HallRT [37 -qator] ga o'ting va 'delayTime' o'zgaruvchisini 200 ga o'zgartiring.
- HallRT dasturini ishga tushiring.
- Matlab faylini "delay_200" ostida saqlang. (Rasmni saqlash)
- Delay_200.mat faylini yuklang.
- Thresh_analyze dasturini ishga tushiring. (Rasmni saqlash)
6 -qadam: 2 -sinov: Sensorni ajratish (i)
1 -rasm: Ma'lumotlar tekshiruvi @ Kechiktirish 50
2 -rasm: Tahlil qilingan ma'lumotlarni yig'ish
Kechikish parametri: 50-tepaliklar:
Hisob = 52
Bir daqiqadagi inqiloblar soni:
52 inqilob/daqiqa
----------------------------------------------------------------------------------------------------------
Pastki qadamlar:
-
Arduino -ni noutbukga ulang.
Arduino kodidagi kechikishni "50" ga o'rnating. Yuklash -ni bosing (dasturning chap yuqori burchagida)
- Matlab faylingiz HallRT [37 -qator] ga o'ting va 'delayTime' o'zgaruvchisini 50 ga o'zgartiring.
- HallRT dasturini ishga tushiring.
- Matlab faylini "delay_50" ostida saqlang. (Rasmni saqlash)
- Delay_50.mat faylini yuklang.
- Thresh_analyze dasturini ishga tushiring. (Rasmni saqlash)
7 -qadam: 3 -sinov: Sensorni ajratish (ii)
1 -rasm: Ma'lumotlar tekshiruvi @ Delay 100 2 -rasm: Tahlil qilingan ma'lumotlarni maydalash
Kechikish parametri: 100-tepalik:
Hisob = 54
Bir daqiqadagi inqiloblar soni:
54 inqilob/daqiqa
------------------------------------------------- -------------------------------------------------- ------- Pastki qadamlar:
-
Arduino -ni noutbukga ulang.
Arduino kodidagi kechikishni "100" ga o'rnating. Yuklash tugmasini bosing (ilovaning chap yuqori burchagida). '
- Matlab faylingiz HallRT [37 -qator] ga o'ting va 'delayTime' o'zgaruvchisini 100 ga o'zgartiring.
- HallRT dasturini ishga tushiring.
- Matlab faylini "delay_100" ostida saqlang. (Rasmni saqlash)
- Delay_100.mat faylini yuklang.
- Thresh_analyze dasturini ishga tushiring. (Rasmni saqlash)
8 -qadam: 4 -sinov: Sensorni ajratish (iii)
1 -rasm: Ma'lumotlar tekshiruvi @ Delay 300 2 -rasm: Tahlil qilingan ma'lumotlarni maydalash
-Kechikish parametri: 300
tepaliklar:
Hisob = 32
Bir daqiqadagi inqiloblar soni:
32 inqilob/daqiqa
-------------------------------------------------- -------------------------------------------------- ------- Pastki qadamlar:
-
Arduino -ni noutbukga ulang.
Arduino kodidagi kechikishni "300" ga o'rnating. Yuklash -ni bosing (dasturning chap yuqori burchagida)
- Matlab faylingiz HallRT [37 -qator] ga o'ting va 'delayTime' o'zgaruvchisini 300 ga o'zgartiring.
- HallRT dasturini ishga tushiring.
- Matlab faylini "delay_300" ostida saqlang. (Rasmni saqlash)
- Delay_300.mat faylini yuklang.
- Thresh_analyze dasturini ishga tushiring. (Rasmni saqlash)