Innehållsförteckning:
Video: Samplingsfrekvens/Aliasing instruerbar: 8 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Jag vill skapa ett pedagogiskt projekt som visar alias (och samplingsfrekvenser) och är avsett att placeras på en webbplats som en resurs för studenter som lär sig om alias.
Steg 1: Ciruit -layout
Arduino
Arduino är basen i kretsen; stödja servomotorn (med monterat givarhjul) och den placerade halleffektgivaren.
-Kodarhjul: Koderhjulets syfte är att hänga upp en magnet som roterar i en cirkulär bana och svävar över en placerad hall -effektsensor.
-Sensorinställning: Hall -effekt -senorn är placerad under magnetens rotationsbana, dess syfte är att spåra magnetens passering med olika rotationshastigheter och datainsamlingshastigheter.
----------------------------------------------------------------------------------------------------------
Delsteg:
-
Skaffa material:
Arduino (+ brödbräda), ledningar, kodarhjul, magnet, hall -effektsensor, servomotor, Matlab -applikation, Arduino -applikation
- Klipp ut givarhjulet, montera på servon, skjut in magneten i spåret.
- Fäst hall -effekt senor under magnetvägen (trådförlängning av sensorn kan behövas).
- Bygg krets.
Steg 2: Arduino -kod
Metod för datainsamling
Arduino -koden använder [Linje 41] för att samla information, via "Analog In" A0 -porten, från hall -effektsensorn
Metod för seriell dataöverföring
- [Linje 43] Visar i den seriella monitorn en variabel "timer" som implementerar funktionen "millis ()" för att hålla en löpande timer i millisekunder under programmets varaktighet.
- [Linje 45] Visar i den seriella monitorn en variabel "hallsensor" som implementerar "analogRead" för att få information från hall -effektensorn när programmet körs.
Syftet med fördröjning () -parametern
Syftet med fördröjning () -parametern är att variera responstiden för datainsamling som tas emot från hall -effektsensorn
----------------------------------------------------------------------------------------------------------
Delsteg:
Mata in Arduino -kod i Arduino -applikationen
Steg 3: Matlab -kod (HallRT -fil)
-Metod för datamottagning - [Figur 3: rad 77]
Skaffa data från ArduinoStep
----------------------------------------------------------------------------------------------------------
Delsteg:
Matlab -kod är över siffror, spara i HallRT -fil
Steg 4: Matlab -kod (thresh_analyze)
Metod för att räkna toppar [Figur 2: Linjer 45-53]
- Användningen av flaggan i denna Matlab-kod är så att när for-slingan snubblar på en 'aRval' som är större än det förinställda 'tröskvärdet' kommer att öka med en, markeras toppen med en asterisk, och if-satsen [rad 45-50] bryts eftersom flagga = 1. Den andra if-satsen med en flagga [linje 51-53] indikerar att när toppen är uppnådd och värdena börjar sjunka runt toppen, då flagga = 0 och for -slingan fortsätter att söka efter fler toppar.
-
Parametrar/nödvändiga värden:
- 'aRval': Den insamlade informationen från en provkörning.
- 'trösk': Ett valt värde för att ange något ovanför det i aRval som en topp.
----------------------------------------------------------------------------------------------------------
Delsteg:
Skapa en andra Matlab -fil "thresh_analyze"
Steg 5: Trial 1: No Aliasing
Figur 1: Data Trial @ Delay 200 Figur 2: Thresh Analyzed Data
-Fördröjningsparameter: 200
Toppar:
Räkna = 45
-Antal varv per minut:
45 Varv/minut
----------------------------------------------------------------------------------------------------------
Delsteg:
-
Anslut Arduino till din bärbara dator.
Ställ in fördröjningen i Arduino -koden till "200". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)
- Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 200.
- Kör HallRT -programmet.
- Spara Matlab -filen under "delay_200". (Spara figur)
- Ladda filen delay_200.mat.
- Kör programmet thresh_analyze. (Spara figur)
Steg 6: Trial 2: Aliasing av sensor (i)
Figur 1: Data Trial @ Delay 50
Figur 2: Tröskanalyserade data
Fördröjningsparameter: 50-toppar:
Räkna = 52
Antal varv per minut:
52 Varv/minut
----------------------------------------------------------------------------------------------------------
Delsteg:
-
Anslut Arduino till din bärbara dator.
Ställ in fördröjningen i Arduino -koden till "50". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)
- Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 50.
- Kör HallRT -programmet.
- Spara Matlab -filen under "delay_50". (Spara figur)
- Ladda filen delay_50.mat.
- Kör programmet thresh_analyze. (Spara figur)
Steg 7: Trial 3: Aliasing av sensor (ii)
Figur 1: Data Trial @ Delay 100 Figur 2: Thresh Analyzed Data
Fördröjningsparameter: 100-toppar:
Räkna = 54
Antal varv per minut:
54 Varv/minut
--------------------------------------------------------- ---------------------------------------------------------- ------- Delsteg:
-
Anslut Arduino till din bärbara dator.
Ställ in fördröjningen i Arduino -koden till "100". Tryck på Ladda upp (i det övre vänstra hörnet av programmet). '
- Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 100.
- Kör HallRT -programmet.
- Spara Matlab -filen under "delay_100". (Spara figur)
- Ladda filen delay_100.mat.
- Kör programmet thresh_analyze. (Spara figur)
Steg 8: Test 4: Aliasing of Sensor (iii)
Figur 1: Data Trial @ Delay 300 Figur 2: Thresh Analyzed Data
-Fördröjningsparameter: 300
Toppar:
Räkna = 32
Antal varv per minut:
32 Varv/minut
---------------------------------------------------------- ---------------------------------------------------------- ------- Delsteg:
-
Anslut Arduino till din bärbara dator.
Ställ in fördröjningen i Arduino -koden till "300". Tryck på Ladda upp (i det övre vänstra hörnet av programmet)
- Gå till din Matlab -fil HallRT [rad 37] och ändra variabeln 'delayTime' till 300.
- Kör HallRT -programmet.
- Spara Matlab -filen under "delay_300". (Spara figur)
- Ladda filen delay_300.mat.
- Kör programmet thresh_analyze. (Spara figur)