Sadržaj:

Brzina uzorkovanja/usklađivanje Upute: 8 koraka (sa slikama)
Brzina uzorkovanja/usklađivanje Upute: 8 koraka (sa slikama)

Video: Brzina uzorkovanja/usklađivanje Upute: 8 koraka (sa slikama)

Video: Brzina uzorkovanja/usklađivanje Upute: 8 koraka (sa slikama)
Video: Analog-to-Digital Converters (ADC) - Charge-Balancing and Delta-Sigma ADC 2024, Studeni
Anonim
Brzina uzorkovanja/Aliasing Instructable
Brzina uzorkovanja/Aliasing Instructable

Želim stvoriti obrazovni projekt koji demonstrira aliasing (i stopu uzorkovanja) i namjerava se postaviti na web stranicu kao izvor za studente koji uče o aliasingu.

Korak 1: Raspored cirusa

Raspored plodova
Raspored plodova
Raspored plodova
Raspored plodova

Arduino

Arduino je osnova sklopa; koji podržava servo motor (s montiranim kotačem kodera) i pozicionirani senzor Hall učinka.

-Kotač enkodera: Svrha kotača kodera je suspendiranje magneta koji se okreće kružnom putanjom, lebdeći iznad postavljenog senzora Hall efekta.

-Postavljanje senzora: Senzor Hall efekta postavljen je ispod puta rotacije magneta, njegova je svrha pratiti prolazak magneta s različitim brzinama rotacije i brzinama prikupljanja podataka.

---------------------------------------------------------------------------------------------------------

Pod-koraci:

  1. Nabavite materijale:

    Arduino (+ ploča za kruh), žice, kotač kodera, magnet, osjetnik Hall efekta, servo motor, aplikacija Matlab, aplikacija Arduino

  2. Izrežite kotač davača, postavite na servo, gurnite magnet u utor.
  3. Priključite senzor Hall učinka ispod puta magneta (možda će biti potrebni produžni vodiči senzora).
  4. Izgradite krug.

Korak 2: Arduino kod

Arduino kod
Arduino kod

Način prikupljanja podataka

Arduino kôd koristi [redak 41] za prikupljanje informacija, putem A0 porta 'Analog In', s senzora Hall efekta

Način serijskog prijenosa podataka

  • [Redak 43] Prikazuje u serijski monitor promjenjivu "mjerač vremena" koja implementira funkciju "millis ()" kako bi održala radni mjerač u milisekundama za vrijeme trajanja programa.
  • [Red 45] Prikazuje u serijski monitor varijablu "Hallsensor" koja implementira "analogRead" za dobivanje informacija od senzora Hall učinka tijekom izvođenja programa.

Svrha parametra delay ()

Svrha parametra delay () je mijenjanje vremena odziva prikupljanja podataka koji se prima od senzora Hall učinka

---------------------------------------------------------------------------------------------------------

Pod-koraci:

Unesite Arduino kôd u Arduino aplikaciju

Korak 3: Matlab kôd (HallRT datoteka)

Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)
Matlab kod (HallRT datoteka)

-Način prijema podataka - [Slika 3: Red 77]

Dobivanje podataka iz ArduinoStepa

---------------------------------------------------------------------------------------------------------

Pod-koraci:

Ulazni Matlab kod je iznad brojki, spremite u HallRT datoteku

Korak 4: Matlab kod (thresh_analyze)

Matlab kod (thresh_analyze)
Matlab kod (thresh_analyze)
Matlab kod (thresh_analyze)
Matlab kod (thresh_analyze)

Metoda brojanja vrhova [Slika 2: Linije 45-53]

  • Upotreba zastavice u ovom Matlab kodu je takva da kada for petlja naleti na 'aRval' koji je veći od unaprijed postavljene 'thresh' vrijednosti, broj će se povećati za jedan, vrhunac će biti označen zvjezdicama, a if-naredba [redak 45-50] će se slomiti jer je zastavica = 1. Druga if-naredba sa zastavicom [redak 51-53] ukazuje na to da kada se dosegne vrhunac i vrijednosti počnu opadati oko vrha, tada zastavica = 0 i for petlja nastavlja tražiti više vrhova.
  • Parametri/potrebne vrijednosti:

    • 'aRval': Prikupljeni podaci probnog rada.
    • 'thresh': Odabrana vrijednost koja označava bilo što iznad nje u aRvalu kao vrhunac.

---------------------------------------------------------------------------------------------------------

Pod-koraci:

Napravite drugu Matlab datoteku "thresh_analyze"

Korak 5: Pokus 1: Bez zamjenjivanja

Pokus 1: Bez zamjenjivanja
Pokus 1: Bez zamjenjivanja
Pokus 1: Bez zamjenjivanja
Pokus 1: Bez zamjenjivanja

Slika 1: Probni podaci @ Odgoda 200Slika 2: Thresh analizirani podaci

-Parametar kašnjenja: 200

Vrhovi:

Broj = 45

-Broj okretaja u minuti:

45 okretaja/minuta

---------------------------------------------------------------------------------------------------------

Pod-koraci:

  1. Spojite Arduino na prijenosno računalo.

    Postavite kašnjenje u Arduino kodu na "200". Pritisnite Upload (u gornjem lijevom kutu aplikacije)

  2. Idite u svoju Matlab datoteku HallRT [redak 37] i promijenite varijablu 'delayTime' na 200.
  3. Pokrenite program HallRT.
  4. Spremite Matlab datoteku pod "delay_200". (Spremi sliku)
  5. Učitajte datoteku delay_200.mat.
  6. Pokrenite program thresh_analyze. (Spremi sliku)

Korak 6: Pokus 2: Postavljanje senzora (i)

Pokus 2: Postavljanje senzora (i)
Pokus 2: Postavljanje senzora (i)
Pokus 2: Postavljanje senzora (i)
Pokus 2: Postavljanje senzora (i)

Slika 1: Probni prijenos podataka @ Odgoda 50

Slika 2: Thresh analizirani podaci

Parametar kašnjenja: 50-vrhovi:

Broj = 52

Broj okretaja u minuti:

52 okretaja/minuta

---------------------------------------------------------------------------------------------------------

Pod-koraci:

  1. Spojite Arduino na prijenosno računalo.

    Postavite kašnjenje u Arduino kodu na "50". Pritisnite Upload (u gornjem lijevom kutu aplikacije)

  2. Idite u svoju Matlab datoteku HallRT [redak 37] i promijenite varijablu 'delayTime' na 50.
  3. Pokrenite program HallRT.
  4. Spremite datoteku Matlab pod "delay_50". (Spremi sliku)
  5. Učitajte datoteku delay_50.mat.
  6. Pokrenite program thresh_analyze. (Spremi sliku)

Korak 7: Pokus 3: Postavljanje senzora (ii)

Pokus 3: Aliasing senzora (ii)
Pokus 3: Aliasing senzora (ii)
Pokus 3: Aliasing senzora (ii)
Pokus 3: Aliasing senzora (ii)

Slika 1: Probni podaci @ Odgoda 100Slika 2: Thresh analizirani podaci

Parametar kašnjenja: 100-vrhovi:

Broj = 54

Broj okretaja u minuti:

54 okretaja/minuta

------------------------------------------------ -------------------------------------------------- ------- Podkoraci:

  1. Spojite Arduino na prijenosno računalo.

    Postavite kašnjenje u Arduino kodu na "100". Pritisnite Upload (u gornjem lijevom kutu aplikacije). '

  2. Idite u svoju Matlab datoteku HallRT [redak 37] i promijenite varijablu 'delayTime' na 100.
  3. Pokrenite program HallRT.
  4. Spremite datoteku Matlab pod "delay_100". (Spremi sliku)
  5. Učitajte datoteku delay_100.mat.
  6. Pokrenite program thresh_analyze. (Spremi sliku)

Korak 8: Pokus 4: Postavljanje senzora (iii)

Pokus 4: Postavljanje senzora (iii)
Pokus 4: Postavljanje senzora (iii)
Pokus 4: Postavljanje senzora (iii)
Pokus 4: Postavljanje senzora (iii)

Slika 1: Probni podaci @ Odgoda 300Slika 2: Thresh analizirani podaci

-Parametar kašnjenja: 300

Vrhovi:

Broj = 32

Broj okretaja u minuti:

32 okretaja/minuta

-------------------------------------------------- -------------------------------------------------- ------- Podkoraci:

  1. Spojite Arduino na prijenosno računalo.

    Postavite kašnjenje u Arduino kodu na "300". Pritisnite Upload (u gornjem lijevom kutu aplikacije)

  2. Idite u svoju Matlab datoteku HallRT [redak 37] i promijenite varijablu 'delayTime' na 300.
  3. Pokrenite program HallRT.
  4. Spremite datoteku Matlab pod "delay_300". (Spremi sliku)
  5. Učitajte datoteku delay_300.mat.
  6. Pokrenite program thresh_analyze. (Spremi sliku)

Preporučeni: