Innholdsfortegnelse:
- Trinn 1: Kretsoppsett
- Trinn 2: Arduino -kode
- Trinn 3: Matlab -kode (HallRT -fil)
- Trinn 4: Matlab -kode (thresh_analyze)
- Trinn 5: Prøve 1: Ingen aliasing
- Trinn 6: Prøve 2: Aliasing av sensor (i)
- Trinn 7: Prøve 3: Aliasing av sensor (ii)
- Trinn 8: Prøve 4: Aliasing av sensor (iii)
Video: Sampling Rate/Aliasing Instructable: 8 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
Jeg ønsker å lage et pedagogisk prosjekt som demonstrerer aliasing (og samplingsfrekvenser) og er ment å bli plassert på et nettsted som en ressurs for studenter som lærer om aliasing.
Trinn 1: Kretsoppsett
Arduino
Arduino er grunnlaget for kretsen; støtter servomotoren (med montert koderhjul) og den plasserte hall -effektsensoren.
-Koderhjul: Koderhjulets formål er å suspendere en magnet som roterer i en sirkulær bane, og svever over en plassert hall -effektsensor.
-Sensoroppsett: Hall -effekt -senoren er plassert under magnetens rotasjonsbane, formålet er å spore magnetens passering med forskjellige rotasjonshastigheter og datainnsamlingshastigheter.
---------------------------------------------------------------------------------------------------------
Deltrinn:
-
Skaff materialer:
Arduino (+ brødbrett), ledninger, encoderhjul, magnet, hall -effektsensor, servomotor, Matlab -applikasjon, Arduino -applikasjon
- Klipp ut koderhjulet, monter det på servoen, skyv magneten inn i sporet.
- Fest hall -effekt senor under magnetbanen (trådforlengelse av sensoren kan være nødvendig).
- Bygg krets.
Trinn 2: Arduino -kode
Metode for datainnsamling
Arduino -koden bruker [linje 41] til å samle informasjon, via 'Analog In' A0 -porten, fra hall -effektsensoren
Metode for seriell dataoverføring
- [Linje 43] Viser i serienummeret en variabel 'timer' som implementerer funksjonen 'millis ()' for å beholde en løpende timer i millisekunder i løpet av programmet.
- [Linje 45] Viser en variabel 'hallsensor' i seriell monitor som implementerer 'analogRead' for å få informasjon fra hall -effekt -senoren mens programmet kjøres.
Formålet med parameteren forsinkelse ()
Formålet med parameteren delay () er å variere responstiden for datainnsamling som mottas fra hall -effektsensoren
---------------------------------------------------------------------------------------------------------
Deltrinn:
Skriv inn Arduino -kode i Arduino -applikasjonen
Trinn 3: Matlab -kode (HallRT -fil)
-Metode for datamottak - [Figur 3: Linje 77]
Innhenting av data fra ArduinoStep
---------------------------------------------------------------------------------------------------------
Deltrinn:
Inndata Matlab -kode er over tall, lagre i HallRT -fil
Trinn 4: Matlab -kode (thresh_analyze)
Metode for å telle topper [Figur 2: Linje 45-53]
- Bruken av flagget i denne Matlab-koden er slik at når for-sløyfen snubler over en 'aRval' som er større enn det forhåndsinnstilte 'tresk'-verditallet vil øke med en, vil toppen bli markert med en stjerne, og if-setningen [Linje 45-50] vil bryte fordi flagg = 1. Den andre if-setningen med et flagg [Linje 51-53] indikerer at når toppen er nådd og verdiene begynner å synke rundt toppen, så flagg = 0 og for -løkken fortsetter å søke etter flere topper.
-
Parametere/Nødvendige verdier:
- 'aRval': De innsamlede dataene fra en prøvekjøring.
- 'tersk': En valgt verdi for å indikere alt over det i aRval som en topp.
---------------------------------------------------------------------------------------------------------
Deltrinn:
Lag en annen Matlab -fil "thresh_analyze"
Trinn 5: Prøve 1: Ingen aliasing
Figur 1: Data Trial @ Delay 200 Figur 2: Thresh Analyzed Data
-Forsinkelsesparameter: 200
Topper:
Antall = 45
-Antall omdreininger per minutt:
45 Omdreininger/minutt
---------------------------------------------------------------------------------------------------------
Deltrinn:
-
Koble Arduino til den bærbare datamaskinen.
Sett forsinkelsen i Arduino -koden til "200". Trykk på Last opp (øverst til venstre i programmet)
- Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 200.
- Kjør HallRT -programmet.
- Lagre Matlab -filen under "delay_200". (Lagre figur)
- Last inn filen delay_200.mat.
- Kjør programmet thresh_analyze. (Lagre figur)
Trinn 6: Prøve 2: Aliasing av sensor (i)
Figur 1: Datatest @ forsinkelse 50
Figur 2: Tersk analyserte data
Forsinkelsesparameter: 50-topper:
Antall = 52
Antall omdreininger per minutt:
52 Omdreininger/minutt
---------------------------------------------------------------------------------------------------------
Deltrinn:
-
Koble Arduino til den bærbare datamaskinen.
Sett forsinkelsen i Arduino -koden til "50". Trykk på Last opp (øverst til venstre i programmet)
- Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 50.
- Kjør HallRT -programmet.
- Lagre Matlab -filen under "delay_50". (Lagre figur)
- Last inn filen delay_50.mat.
- Kjør programmet thresh_analyze. (Lagre figur)
Trinn 7: Prøve 3: Aliasing av sensor (ii)
Figur 1: Data Trial @ Delay 100 Figur 2: Thresh Analyzed Data
Forsinkelsesparameter: 100-topper:
Antall = 54
Antall omdreininger per minutt:
54 Omdreininger/minutt
------------------------------------------------ -------------------------------------------------- ------- Deltrinn:
-
Koble Arduino til den bærbare datamaskinen.
Sett forsinkelsen i Arduino -koden til "100". Trykk på Last opp (øverst til venstre i programmet). '
- Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 100.
- Kjør HallRT -programmet.
- Lagre Matlab -filen under "delay_100". (Lagre figur)
- Last inn filen delay_100.mat.
- Kjør programmet thresh_analyze. (Lagre figur)
Trinn 8: Prøve 4: Aliasing av sensor (iii)
Figur 1: Data Trial @ Delay 300 Figur 2: Thresh Analyzed Data
-Forsinkelsesparameter: 300
Topper:
Antall = 32
Antall omdreininger per minutt:
32 Omdreininger/minutt
-------------------------------------------------- -------------------------------------------------- ------- Deltrinn:
-
Koble Arduino til den bærbare datamaskinen.
Sett forsinkelsen i Arduino -koden til "300". Trykk på Last opp (øverst til venstre i programmet)
- Gå til din Matlab -fil HallRT [Linje 37] og endre variabelen 'delayTime' til 300.
- Kjør HallRT -programmet.
- Lagre Matlab -filen under "delay_300". (Lagre figur)
- Last inn filen delay_300.mat.
- Kjør programmet thresh_analyze. (Lagre figur)
Anbefalt:
Nerf Chronograph and Rate of Fire Barrel: 7 trinn
Nerf Chronograph and Rate of Fire Barrel: Introduksjon Som tinkerer er det alltid veldig tilfredsstillende å se de numeriske resultatene av tinkeringen din. Mange av oss har modifisert Nerf -kanoner før, og hvem liker ikke å kaste skumstykker over huset med over 100 fps? Etter å ha endret mange Nerf g
Rate Based Arrhythmia Detector Using Arduino: 7 trinn
Rate Based Arrhythmia Detector Using Arduino: Hjertearytmier rammer omtrent fire millioner amerikanere hvert år (Texas Heart Institute, par. 2). Selv om hvert hjerte opplever permutasjoner i rytme og hastighet, kan kroniske hjertearytmier være dødelige for ofrene. Mange hjertearyt
RTL-SDR Direct Sampling Mod: 3 trinn
RTL-SDR Direct Sampling Mod: Mange dongler kan ikke bruke frekvenser under 30Mhz, men det er mulig å modifisere noen enheter for å gjøre det ved hjelp av en metodeanrop Direct Sampling. Ved direkte prøvetaking bruker vi et signal direkte til dongles 'hjerne' som effektivt omgår t
CNC feed-rate måleverktøy laget av skrot: 5 trinn
CNC feed-rate måleverktøy laget av skrot: Har noen noen gang ønsket å måle den faktiske feed-rate på en CNC-maskin? Sannsynligvis ikke før fresebitene er intakte etter en CNC -jobb … men når de begynner å gå i stykker regelmessig, er det kanskje på tide å undersøke. I denne instruksjonsboken kan du
Automotive Electronic Flasher Rate Modification .: 6 trinn (med bilder)
Automatiske elektroniske blinklyshastigheter: For alle som har lagt LED -pærer til kjøretøyene sine, svingesignaler eller bremselys. Siden LED -pærene bruker mindre ampere enn vanlige pærer, tror blinkerenheten at det er en pære utbrent og dobler blitzhastigheten. Denne instruksen viser deg hvordan