Sisällysluettelo:
Video: Näytteenottotaajuus/aliasing Ohjeellinen: 8 vaihetta (kuvien kanssa)
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Haluan luoda koulutusprojektin, joka osoittaa aliasoinnin (ja näytteenottotaajuudet) ja joka on tarkoitus sijoittaa verkkosivustolle resurssina opiskelijoille, jotka oppivat aliasoinnista.
Vaihe 1: Piirin asettelu
Arduino
Arduino on piirin perusta; tukevat servomoottoria (asennetulla anturipyörällä) ja sijoitettua halliefektianturia.
-Enkooderipyörä: Anturipyörän tarkoitus on ripustaa pyöreällä polulla pyörivä magneetti, joka leijuu sijoitetun halliefektianturin päälle.
-Anturiasetukset: Hall -tehosteanturi on sijoitettu magneetin pyörimisradan alapuolelle, sen tarkoitus on seurata magneetin kulkua eri pyörimisnopeuksilla ja tiedonkeruunopeuksilla.
---------------------------------------------------------------------------------------------------------
Alavaiheet:
-
Hanki materiaalit:
Arduino (+ leipälevy), johdot, anturipyörä, magneetti, halliefektianturi, servomoottori, Matlab -sovellus, Arduino -sovellus
- Katkaise anturipyörä, asenna servolle, työnnä magneetti aukkoon.
- Kiinnitä hall -tehosteanturi magneetin polun alle (anturin langanpidennyksiä voidaan tarvita).
- Rakenna piiri.
Vaihe 2: Arduino -koodi
Tietojen keruutapa
Arduino -koodi käyttää [rivi 41] tietojen keräämiseen hallitehosteanturista”Analog In” A0 -portin kautta
Sarjatiedonsiirtomenetelmä
- [Rivi 43] Näyttää sarjamonitoriin muuttujan "ajastin", joka toteuttaa toiminnon "millis ()" pitääkseen käynnissä olevan ajastimen millisekunteina ohjelman ajan.
- [Rivi 45] Näyttää sarjamonitoriin muuttujan "hallsensor", joka toteuttaa "analogRead" -toiminnon saadakseen tietoa hall -tehosteanturilta ohjelman ollessa käynnissä.
Parametrin delay () tarkoitus
Viive () -parametrin tarkoituksena on muuttaa hall -efektianturilta vastaanotetun tiedonkeruun vasteaikaa
---------------------------------------------------------------------------------------------------------
Alavaiheet:
Syötä Arduino -koodi Arduino -sovelluksessa
Vaihe 3: Matlab -koodi (HallRT -tiedosto)
- Tietojen vastaanottotapa - [Kuva 3: Rivi 77]
Tietojen hankkiminen ArduinoStepistä
---------------------------------------------------------------------------------------------------------
Alavaiheet:
Syötä Matlab -koodi on lukujen yläpuolella, paitsi HallRT -tiedostossa
Vaihe 4: Matlab -koodi (thresh_analyze)
Menetelmä piikkien laskemiseksi [Kuva 2: Rivit 45-53]
- Lipun käyttö tässä Matlab-koodissa on niin, että kun for-silmukka kompastuu "aRval" -arvoon, joka on suurempi kuin esiasetettu "thresh" -arvomäärä, kasvaa yhdellä, huippu merkitään tähdellä ja if-lause [rivi 45-50] katkeaa, koska lippu = 1. Toinen if-lause, jossa on lippu [rivi 51-53], osoittaa, että kun huippu saavutetaan ja arvot alkavat laskea huipun ympärillä, lippu = 0 ja for -silmukka etsii edelleen huippuja.
-
Parametrit/tarvittavat arvot:
- 'aRval': koekäytöstä kerätyt tiedot.
- 'threes': Valittu arvo, joka osoittaa mitä tahansa sen yläpuolella aRvalissa huippuna.
---------------------------------------------------------------------------------------------------------
Alavaiheet:
Luo toinen Matlab -tiedosto "thresh_analyze"
Vaihe 5: Koe 1: Ei aliasointia
Kuva 1: Data Trial @ Delay 200 Kuva 2: Analysoitujen tietojen esitys
-Viiveparametri: 200
Huiput:
Luku = 45
-Kierrosluku minuutissa:
45 kierrosta/minuutti
---------------------------------------------------------------------------------------------------------
Alavaiheet:
-
Liitä Arduino kannettavaan tietokoneeseen.
Aseta Arduino -koodin viiveeksi "200". Paina Lataa (sovelluksen vasemmassa yläkulmassa)
- Siirry Matlab -tiedostoosi HallRT [rivi 37] ja muuta muuttuja "delayTime" 200: ksi.
- Suorita HallRT -ohjelma.
- Tallenna Matlab -tiedosto kohtaan "delay_200". (Tallenna kuva)
- Lataa delay_200.mat -tiedosto.
- Suorita thresh_analyze -ohjelma. (Tallenna kuva)
Vaihe 6: Koe 2: Anturin aliasing (i)
Kuva 1: Datakokeilu @ viive 50
Kuva 2: Analysoidut tiedot
Viive Parametri: 50-Huiput:
Luku = 52
Kierrosluku minuutissa:
52 kierrosta/minuutti
---------------------------------------------------------------------------------------------------------
Alavaiheet:
-
Liitä Arduino kannettavaan tietokoneeseen.
Aseta Arduino -koodin viiveeksi "50". Paina Lataa (sovelluksen vasemmassa yläkulmassa)
- Siirry Matlab -tiedostoosi HallRT [rivi 37] ja muuta muuttuja "delayTime" arvoon 50.
- Suorita HallRT -ohjelma.
- Tallenna Matlab -tiedosto kohtaan "delay_50". (Tallenna kuva)
- Lataa delay_50.mat -tiedosto.
- Suorita thresh_analyze -ohjelma. (Tallenna kuva)
Vaihe 7: Koe 3: Anturin aliasing (ii)
Kuva 1: Datakokeilu @ viive 100 Kuva 2: Analysoitujen tietojen esitys
Viiveparametri: 100-huippu:
Luku = 54
Kierrosluku minuutissa:
54 Kierrosta/minuutti
------------------------------------------------ -------------------------------------------------- ------- Alavaiheet:
-
Liitä Arduino kannettavaan tietokoneeseen.
Aseta Arduino -koodin viiveeksi "100". Paina Lataa (sovelluksen vasemmassa yläkulmassa). '
- Siirry Matlab -tiedostoosi HallRT [rivi 37] ja muuta muuttuja "delayTime" arvoon 100.
- Suorita HallRT -ohjelma.
- Tallenna Matlab -tiedosto kohtaan "delay_100". (Tallenna kuva)
- Lataa delay_100.mat -tiedosto.
- Suorita thresh_analyze -ohjelma. (Tallenna kuva)
Vaihe 8: Koe 4: Anturin aliasing (iii)
Kuva 1: Data Trial @ Delay 300 Kuva 2: Analysoitujen tietojen esitys
-Viiveparametri: 300
Huiput:
Luku = 32
Kierrosluku minuutissa:
32 kierrosta/minuutti
-------------------------------------------------- -------------------------------------------------- ------- Alavaiheet:
-
Liitä Arduino kannettavaan tietokoneeseen.
Aseta Arduino -koodin viiveeksi "300". Paina Lataa (sovelluksen vasemmassa yläkulmassa)
- Siirry Matlab -tiedostoosi HallRT [rivi 37] ja muuta muuttuja "delayTime" arvoon 300.
- Suorita HallRT -ohjelma.
- Tallenna Matlab -tiedosto kohtaan "delay_300". (Tallenna kuva)
- Lataa delay_300.mat -tiedosto.
- Suorita thresh_analyze -ohjelma. (Tallenna kuva)