Inhoudsopgave:
- Stap 1: Ciruit-lay-out
- Stap 2: Arduino-code
- Stap 3: Matlab-code (HallRT-bestand)
- Stap 4: Matlab-code (thresh_analyze)
- Stap 5: Proef 1: Geen aliasing
- Stap 6: Proef 2: Aliasing van sensor (i)
- Stap 7: Proef 3: Aliasing van sensor (ii)
- Stap 8: Proef 4: aliasing van sensor (iii)
Video: Sampling Rate/Aliasing Instructable - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:20
Ik wil een educatief project maken dat aliasing (en steekproeffrequenties) demonstreert en dat bedoeld is om op een website te worden geplaatst als hulpmiddel voor studenten die leren over aliasing.
Stap 1: Ciruit-lay-out
Arduino
De Arduino is de basis van het circuit; ondersteuning van de servomotor (met gemonteerd encoderwiel) en de gepositioneerde hall-effectsensor.
-Encoderwiel: het doel van het encoderwiel is om een magneet op te hangen die in een cirkelvormig pad draait en boven een gepositioneerde hall-effectsensor zweeft.
-Sensoropstelling: de hall-effect-senor wordt onder het rotatiepad van de magneet geplaatst, het doel is om het passeren van de magneet te volgen met verschillende rotatiesnelheden en gegevensverzamelingssnelheden.
---------------------------------------------------------------------------------------------------------
Substappen:
-
Verkrijg materialen:
Arduino (+ breadboard), draden, encoderwiel, magneet, hall-effectsensor, servomotor, Matlab-applicatie, Arduino-applicatie
- Knip het encoderwiel uit, monteer op servo, druk de magneet in de gleuf.
- Bevestig de hall-effect-sensor onder het pad van de magneet (draadverlengingen van de sensor kunnen nodig zijn).
- Circuit bouwen.
Stap 2: Arduino-code
Wijze van gegevensverzameling
De Arduino-code gebruikt [Line 41] om informatie te verzamelen, via de 'Analog In' A0-poort, van de hall-effectsensor
Methode van seriële gegevensoverdracht:
- [Regel 43] Toont in de seriële monitor een variabele 'timer' die de functie 'millis()' implementeert om een lopende timer in milliseconden te houden voor de duur van het programma.
- [Line 45] Toont in de seriële monitor een variabele 'hallsensor' die 'analogRead' implementeert om informatie te verkrijgen van de hall-effect-sensor terwijl het programma wordt uitgevoerd.
Doel van de parameter delay()
Het doel van de parameter delay() is om de responstijd van de gegevensverzameling die wordt ontvangen van de hall-effectsensor te variëren
---------------------------------------------------------------------------------------------------------
Substappen:
Voer de Arduino-code in de Arduino-toepassing in
Stap 3: Matlab-code (HallRT-bestand)
-Wijze van gegevensontvangst - [Figuur 3: Regel 77]
Gegevens verkrijgen van de ArduinoStep
---------------------------------------------------------------------------------------------------------
Substappen:
Invoer Matlab-code is boven de cijfers, opslaan in HallRT-bestand
Stap 4: Matlab-code (thresh_analyze)
Methode voor het tellen van pieken [Figuur 2: Regels 45-53]
- Het gebruik van de vlag in deze Matlab-code is zo dat zodra de for-lus een 'aRval' tegenkomt die groter is dan de vooraf ingestelde 'thresh'-waardetelling met één zal toenemen, de piek wordt gemarkeerd met een asterisk, en het if-statement [Line 45-50] zal breken omdat flag = 1. Het tweede if-statement met een flag [Line 51-53] geeft aan dat zodra de piek is bereikt en de waarden rond de piek beginnen af te nemen, dan flag = 0 en de for-lus blijft zoeken naar meer pieken.
-
Parameters/noodzakelijke waarden:
- 'aRval': De verzamelde gegevens van een proefrun.
- 'thresh': Een gekozen waarde om alles erboven in aRval als een piek aan te geven.
---------------------------------------------------------------------------------------------------------
Substappen:
Maak een tweede Matlab-bestand "thresh_analyze"
Stap 5: Proef 1: Geen aliasing
Afbeelding 1: Gegevensproef @ Delay 200 Afbeelding 2: Geanalyseerde drempelgegevens
-Vertragingsparameter: 200
Pieken:
Telling = 45
-Aantal omwentelingen per minuut:
45 omwentelingen/minuut
---------------------------------------------------------------------------------------------------------
Substappen:
-
Sluit de Arduino aan op je laptop.
Stel de vertraging in de Arduino-code in op "200". Druk op Uploaden (in de linkerbovenhoek van de applicatie)
- Ga naar je Matlab-bestand HallRT [Line 37] en verander de variabele 'delayTime' naar 200.
- Voer het HallRT-programma uit.
- Sla het Matlab-bestand op onder "delay_200". (Afbeelding opslaan)
- Laad het delay_200.mat-bestand.
- Voer het programma thresh_analyze uit. (Afbeelding opslaan)
Stap 6: Proef 2: Aliasing van sensor (i)
Figuur 1: Data Trial @ Delay 50
Afbeelding 2: Geanalyseerde gegevens dorsen
Vertragingsparameter: 50-pieken:
Telling = 52
Aantal omwentelingen per minuut:
52 omwentelingen/minuut
---------------------------------------------------------------------------------------------------------
Substappen:
-
Sluit de Arduino aan op je laptop.
Stel de vertraging in de Arduino-code in op "50". Druk op Uploaden (in de linkerbovenhoek van de applicatie)
- Ga naar je Matlab-bestand HallRT [Line 37] en verander de variabele 'delayTime' naar 50.
- Voer het HallRT-programma uit.
- Sla het Matlab-bestand op onder "delay_50". (Afbeelding opslaan)
- Laad het delay_50.mat-bestand.
- Voer het programma thresh_analyze uit. (Afbeelding opslaan)
Stap 7: Proef 3: Aliasing van sensor (ii)
Afbeelding 1: Gegevensproef @ Delay 100 Afbeelding 2: Geanalyseerde drempelgegevens
Vertragingsparameter: 100-pieken:
Aantal = 54
Aantal omwentelingen per minuut:
54 omwentelingen/minuut
------------------------------------------------ -------------------------------------------------- ------- Substappen:
-
Sluit de Arduino aan op je laptop.
Stel de vertraging in de Arduino-code in op "100". Druk op Uploaden (in de linkerbovenhoek van de applicatie).'
- Ga naar je Matlab-bestand HallRT [Line 37] en verander de variabele 'delayTime' naar 100.
- Voer het HallRT-programma uit.
- Sla het Matlab-bestand op onder "delay_100". (Afbeelding opslaan)
- Laad het delay_100.mat-bestand.
- Voer het programma thresh_analyze uit. (Afbeelding opslaan)
Stap 8: Proef 4: aliasing van sensor (iii)
Afbeelding 1: Gegevensproef @ Delay 300 Afbeelding 2: Geanalyseerde drempelgegevens
-Vertragingsparameter: 300
Pieken:
Aantal = 32
Aantal omwentelingen per minuut:
32 omwentelingen/minuut
-------------------------------------------------- -------------------------------------------------- ------- Substappen:
-
Sluit de Arduino aan op je laptop.
Stel de vertraging in de Arduino-code in op "300". Druk op Uploaden (in de linkerbovenhoek van de applicatie)
- Ga naar je Matlab-bestand HallRT [Line 37] en verander de variabele 'delayTime' naar 300.
- Voer het HallRT-programma uit.
- Sla het Matlab-bestand op onder "delay_300". (Afbeelding opslaan)
- Laad het delay_300.mat-bestand.
- Voer het programma thresh_analyze uit. (Afbeelding opslaan)
Aanbevolen:
Kies een titel en trefwoorden voor uw Instructable: 6 stappen (met afbeeldingen)
Kies een titel en trefwoorden voor uw Instructable: Het kiezen van de juiste titel en trefwoorden kan het verschil zijn tussen een instructable die naar de voorpagina van Google-zoekresultaten gaat of crasht en brandt in het gevreesde no-views-land van internet. Hoewel trefwoorden en titel niet de enige zijn
Bouw je eigen zelfrijdende auto - (dit instructable is werk in uitvoering): 7 stappen
Bouw je eigen zelfrijdende auto - (This Instructable Is Work in Process): Hallo, als je mijn andere Instructable on Drive Robot With Remote USB Gamepad bekijkt, is dit project vergelijkbaar, maar op kleinere schaal. Je kunt ook hulp of inspiratie krijgen van Robotics, Home-Grown Voice-Recognition of Self-Grown Voice-Recognition, of zelf
TAD 130 Instructable: 20 stappen
TAD 130 Instructable: Overzicht
Hoe een Instructable te plaatsen: 7 stappen
Hoe een Instructable te plaatsen: Dus je hebt besloten om over te stappen van alleen lezen naar het maken van instructables? Maar … je hebt geen idee hoe je iets moet doen? Nou, het is supereenvoudig, dus ik zal je stap voor stap leren hoe je een instructable maakt
PC-montage Instructable: 12 stappen
PC Assembly Instructable: Welkom bij mijn PC Assembly Instructable! Uit deze handleiding leert u hoe u uw eigen pc kunt samenstellen!1. Lees de componenten door die u nodig hebt.2. Lees het hoofdstuk over veiligheid. (BELANGRIJK)3. Ik heb informatie gegeven over wat elk onderdeel is en wat het d