Isi kandungan:

Kaedah Pensampelan / Pengasingan diarahkan: 8 Langkah (dengan Gambar)
Kaedah Pensampelan / Pengasingan diarahkan: 8 Langkah (dengan Gambar)

Video: Kaedah Pensampelan / Pengasingan diarahkan: 8 Langkah (dengan Gambar)

Video: Kaedah Pensampelan / Pengasingan diarahkan: 8 Langkah (dengan Gambar)
Video: Master Financial Reporting & Control: Your Path to Business Success! #audiobook 2024, Julai
Anonim
Kaedah Pensampelan / Pengasingan Diajar
Kaedah Pensampelan / Pengasingan Diajar

Saya ingin membuat projek pendidikan yang menunjukkan aliasing (dan kadar sampel) dan bertujuan untuk diletakkan di laman web sebagai sumber untuk pelajar yang belajar tentang aliasing.

Langkah 1: Susun atur Ciruit

Susun atur Ciruit
Susun atur Ciruit
Susun atur Ciruit
Susun atur Ciruit

Arduino

Arduino adalah pangkalan litar; menyokong motor servo (dengan roda pengekod terpasang), dan sensor kesan ruang yang diposisikan.

-Encoder wheel: Tujuan roda encoder adalah untuk menggantungkan magnet yang berputar di jalan bulat, melayang di atas sensor kesan dewan yang diposisikan.

-Penyediaan sensor: Sensor kesan dewan diletakkan di bawah jalur putaran magnet, tujuannya adalah untuk mengesan pemergian magnet dengan pelbagai kelajuan putaran dan kadar pengumpulan data.

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

Sub-Langkah:

  1. Dapatkan bahan:

    Arduino (+ papan roti), wayar, roda pengekod, magnet, sensor kesan dewan, motor servo, aplikasi Matlab, aplikasi Arduino

  2. Potong roda pengekod, pasangkan ke servo, masukkan magnet ke dalam slot.
  3. Pasang senor kesan dewan di bawah jalur magnet (sambungan wayar mungkin diperlukan).
  4. Litar binaan.

Langkah 2: Kod Arduino

Kod Arduino
Kod Arduino

Kaedah pengumpulan data

Kod Arduino menggunakan [Baris 41] untuk mengumpulkan maklumat, melalui port 'Analog In' A0, dari sensor kesan dewan

Kaedah penghantaran data bersiri

  • [Baris 43] Memaparkan ke dalam monitor bersiri pemboleh ubah 'pemasa' yang menerapkan fungsi 'milis ()' untuk menjaga pemasa berjalan dalam milisaat selama program.
  • [Baris 45] Memaparkan ke monitor bersiri pemboleh ubah 'hallsensor' yang mengimplementasikan 'analogRead' untuk mendapatkan maklumat dari hall efek senor ketika program sedang dijalankan.

Tujuan parameter delay ()

Tujuan parameter delay () adalah untuk mengubah waktu tindak balas pengumpulan data yang diterima dari sensor kesan hall

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

Sub-Langkah:

Masukkan kod Arduino dalam aplikasi Arduino

Langkah 3: Matlab Code (HallRT File)

Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)
Kod Matlab (Fail HallRT)

-Cara penerimaan data - [Gambar 3: Baris 77]

Mendapatkan data dari ArduinoStep

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

Sub-Langkah:

Input Matlab code berada di atas angka, simpan dalam fail HallRT

Langkah 4: Matlab Code (thresh_analyze)

Kod Matlab (thresh_analyze)
Kod Matlab (thresh_analyze)
Kod Matlab (thresh_analyze)
Kod Matlab (thresh_analyze)

Kaedah mengira puncak [Rajah 2: Garisan 45-53]

  • Penggunaan bendera dalam kod Matlab ini adalah begitu setelah loop untuk tersandung pada 'aRval' yang lebih besar daripada jumlah nilai 'thresh' yang telah ditetapkan akan meningkat satu, puncak akan ditandai dengan tanda bintang, dan pernyataan if [Garis 45-50] akan pecah kerana bendera = 1. Pernyataan if kedua dengan bendera [Garis 51-53] menunjukkan bahawa apabila puncak dipenuhi dan nilai-nilai mula menurun di sekitar puncak, maka bendera = 0 dan gelung untuk terus mencari lebih banyak puncak.
  • Parameter / Nilai yang diperlukan:

    • 'aRval': Data yang dikumpulkan dari percubaan.
    • 'thresh': Nilai yang dipilih untuk menunjukkan apa-apa di atasnya dalam aRval sebagai puncak.

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

Sub-Langkah:

Buat fail Matlab kedua "thresh_analyze"

Langkah 5: Percubaan 1: Tanpa Aliasing

Percubaan 1: Tanpa Aliasing
Percubaan 1: Tanpa Aliasing
Percubaan 1: Tanpa Aliasing
Percubaan 1: Tanpa Aliasing

Gambar 1: Percubaan Data @ Kelewatan 200 Gambar 2: Data Analisis Thresh

-Delay Parameter: 200

Percakap:

Kira = 45

-Bilangan Revolusi seminit:

45 Revolusi / Minit

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

Sub-Langkah:

  1. Sambungkan Arduino ke komputer riba anda.

    Tetapkan kelewatan dalam kod Arduino ke "200". Tekan Muat naik (di sudut kiri atas aplikasi)

  2. Pergi ke HallRT fail Matlab anda [Line 37] dan ubah pemboleh ubah 'delayTime' menjadi 200.
  3. Jalankan program HallRT.
  4. Simpan fail Matlab di bawah "delay_200". (Simpan Gambar)
  5. Muatkan fail delay_200.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 6: Percubaan 2: Pengasingan Sensor (i)

Percubaan 2: Pengasingan Sensor (i)
Percubaan 2: Pengasingan Sensor (i)
Percubaan 2: Pengasingan Sensor (i)
Percubaan 2: Pengasingan Sensor (i)

Gambar 1: Percubaan Data @ Kelewatan 50

Gambar 2: Data Analisis Thresh

Parameter Kelewatan: 50-Puncak:

Kira = 52

Bilangan Revolusi seminit:

52 Revolusi / Minit

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

Sub-Langkah:

  1. Sambungkan Arduino ke komputer riba anda.

    Tetapkan kelewatan dalam kod Arduino ke "50". Tekan Muat naik (di sudut kiri atas aplikasi)

  2. Pergi ke fail Matlab HallRT [Talian 37] anda dan ubah pemboleh ubah 'delayTime' menjadi 50.
  3. Jalankan program HallRT.
  4. Simpan fail Matlab di bawah "delay_50". (Simpan Gambar)
  5. Muatkan fail delay_50.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 7: Percubaan 3: Pengasingan Sensor (ii)

Percubaan 3: Pengasingan Sensor (ii)
Percubaan 3: Pengasingan Sensor (ii)
Percubaan 3: Pengasingan Sensor (ii)
Percubaan 3: Pengasingan Sensor (ii)

Gambar 1: Percubaan Data @ Kelewatan 100 Gambar 2: Data Analisis Thresh

Delay Parameter: 100-Puncak:

Kira = 54

Bilangan Revolusi seminit:

54 Revolusi / Minit

------------------------------------------------ -------------------------------------------------- ------- Sub-Langkah:

  1. Sambungkan Arduino ke komputer riba anda.

    Tetapkan kelewatan dalam kod Arduino ke "100". Tekan Muat naik (di sudut kiri atas aplikasi). '

  2. Pergi ke fail Matlab HallRT [Talian 37] anda dan ubah pemboleh ubah 'delayTime' menjadi 100.
  3. Jalankan program HallRT.
  4. Simpan fail Matlab di bawah "delay_100". (Simpan Gambar)
  5. Muatkan fail delay_100.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 8: Percubaan 4: Pengasingan Sensor (iii)

Percubaan 4: Pengasingan Sensor (iii)
Percubaan 4: Pengasingan Sensor (iii)
Percubaan 4: Pengasingan Sensor (iii)
Percubaan 4: Pengasingan Sensor (iii)

Gambar 1: Percubaan Data @ Kelewatan 300 Gambar 2: Data Analisis Thresh

Parameter Kelewatan: 300

Percakap:

Kira = 32

Bilangan Revolusi seminit:

32 Revolusi / Minit

-------------------------------------------------- -------------------------------------------------- ------- Sub-Langkah:

  1. Sambungkan Arduino ke komputer riba anda.

    Tetapkan kelewatan dalam kod Arduino ke "300". Tekan Muat naik (di sudut kiri atas aplikasi)

  2. Pergi ke fail Matlab HallRT [Talian 37] anda dan ubah pemboleh ubah 'delayTime' menjadi 300.
  3. Jalankan program HallRT.
  4. Simpan fail Matlab di bawah "delay_300". (Simpan Gambar)
  5. Muatkan fail delay_300.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Disyorkan: