Sadržaj:

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

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

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

Želim stvoriti obrazovni projekt koji demonstrira aliasing (i uzorke) i namijenjen je postavljanju 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 kola; koji podržava servo motor (s montiranim kotačem kodera) i pozicionirani senzor Hall efekta.

-Kotač enkodera: Svrha kotača kodera je da suspenduje magnet koji se rotira kružnom putanjom, lebdeći iznad postavljenog senzora Holovog efekta.

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

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

Pod-koraci:

  1. Nabavite materijale:

    Arduino (+ ploča za kruh), žice, kodirajući kotač, magnet, senzor 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 efekta ispod putanje 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 [Linija 41] za prikupljanje informacija, preko A0 porta 'Analog In', sa senzora Hall efekta

Način serijskog prenosa podataka

  • [Linija 43] Prikazuje u serijski monitor varijablu 'timer' koja implementira funkciju 'millis ()' kako bi održala tajmer u milisekundama za vrijeme trajanja programa.
  • [Red 45] Prikazuje u serijski monitor varijablu "Hallsensor" koja implementira "analogRead" za dobijanje informacija od senzora Hall efekta dok se program pokreće.

Svrha parametra delay ()

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

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

Pod-koraci:

Unesite Arduino kôd u Arduino aplikaciju

Korak 3: 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)
Matlab kod (HallRT datoteka)

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

Dobivanje podataka iz ArduinoStepa

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

Pod-koraci:

Ulazni Matlab kôd 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 [Red 45-50] će se prekinuti jer je flag = 1. Druga if-naredba sa zastavicom [Red 51-53] ukazuje na to da kada se dostigne 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 šta iznad nje u aRvalu kao vrhunac.

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

Pod-koraci:

Kreirajte drugu Matlab datoteku "thresh_analyze"

Korak 5: Pokušaj 1: Bez aliasinga

Pokušaj 1: Bez uklapanja
Pokušaj 1: Bez uklapanja
Pokušaj 1: Bez uklapanja
Pokušaj 1: Bez uklapanja

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. Priključite Arduino na prijenosno računalo.

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

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

Korak 6: Pokus 2: Postavljanje senzora (i)

Pokus 2: Sklapanje senzora (i)
Pokus 2: Sklapanje senzora (i)
Pokus 2: Sklapanje senzora (i)
Pokus 2: Sklapanje senzora (i)

Slika 1: Probni podaci @ Odgoda 50

Slika 2: Thresh analizirani podaci

Parametar kašnjenja: 50-vrhovi:

Broj = 52

Broj okretaja u minuti:

52 okretaja/minuta

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

Pod-koraci:

  1. Priključite Arduino na prijenosno računalo.

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

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

Korak 7: Pokus 3: Postavljanje senzora (ii)

Pokus 3: Postavljanje senzora (ii)
Pokus 3: Postavljanje senzora (ii)
Suđenje 3: Postavljanje senzora (ii)
Suđenje 3: Postavljanje 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. Priključite Arduino na prijenosno računalo.

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

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

Korak 8: Pokus 4: Postavljanje senzora (iii)

Suđenje 4: Postavljanje senzora (iii)
Suđenje 4: Postavljanje senzora (iii)
Suđenje 4: Postavljanje senzora (iii)
Suđenje 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. Priključite Arduino na prijenosno računalo.

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

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

Preporučuje se: