Daftar Isi:

Sampling Rate/Aliasing Instructable: 8 Langkah (dengan Gambar)
Sampling Rate/Aliasing Instructable: 8 Langkah (dengan Gambar)

Video: Sampling Rate/Aliasing Instructable: 8 Langkah (dengan Gambar)

Video: Sampling Rate/Aliasing Instructable: 8 Langkah (dengan Gambar)
Video: Golang vs Python #shorts tiktok hackmymozg 2024, November
Anonim
Tingkat Pengambilan Sampel/Aliasing Dapat Diinstruksikan
Tingkat Pengambilan Sampel/Aliasing Dapat Diinstruksikan

Saya ingin membuat proyek pendidikan yang mendemonstrasikan aliasing (dan sample rate) dan dimaksudkan untuk ditempatkan di situs web sebagai sumber daya bagi siswa yang belajar tentang aliasing.

Langkah 1: Tata Letak Sirkuit

Tata Letak Sirkuit
Tata Letak Sirkuit
Tata Letak Sirkuit
Tata Letak Sirkuit

Arduino

Arduino adalah dasar dari sirkuit; mendukung motor servo (dengan roda encoder terpasang), dan sensor efek hall yang diposisikan.

-Roda encoder: Tujuan roda encoder adalah untuk menahan magnet yang berputar di jalur melingkar, melayang di atas sensor efek hall yang diposisikan.

-Sensor setup: Hall effect senor ditempatkan di bawah jalur rotasi magnet, tujuannya adalah untuk melacak lewatnya magnet dengan berbagai kecepatan rotasi dan kecepatan pengumpulan data.

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

Sub-Langkah:

  1. Dapatkan bahan:

    Arduino (+ papan roti), kabel, roda encoder, magnet, sensor efek hall, motor servo, aplikasi Matlab, aplikasi Arduino

  2. Potong roda encoder, pasang ke servo, dorong magnet ke dalam slot.
  3. Pasang hall effect senor di bawah jalur magnet (perpanjangan kawat sensor mungkin diperlukan).
  4. Membangun sirkuit.

Langkah 2: Kode Arduino

Kode Arduino
Kode Arduino

Metode pengumpulan data

Kode Arduino menggunakan [Line 41] untuk mengumpulkan informasi, melalui port A0 'Analog In', dari sensor efek hall

Metode transmisi data serial

  • [Baris 43] Menampilkan ke monitor serial variabel 'timer' yang mengimplementasikan fungsi 'millis()' untuk menjaga timer berjalan dalam milidetik selama durasi program.
  • [Baris 45] Menampilkan ke serial monitor variabel 'hallsensor' yang mengimplementasikan 'analogRead' untuk mendapatkan informasi dari hall effect senor saat program sedang dijalankan.

Tujuan dari parameter delay()

Tujuan dari parameter delay() adalah untuk memvariasikan waktu respon pengumpulan data yang diterima dari sensor hall effect

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

Sub-Langkah:

Masukkan kode Arduino di aplikasi Arduino

Langkah 3: Kode Matlab (File HallRT)

Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)
Kode Matlab (File HallRT)

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

Memperoleh data dari ArduinoStep

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

Sub-Langkah:

Masukkan kode Matlab di atas gambar, simpan di file HallRT

Langkah 4: Kode Matlab (thresh_analyze)

Kode Matlab (thresh_analyze)
Kode Matlab (thresh_analyze)
Kode Matlab (thresh_analyze)
Kode Matlab (thresh_analyze)

Metode penghitungan puncak[Gambar 2: Baris 45-53]

  • Penggunaan flag dalam kode Matlab ini adalah agar setelah for loop tersandung ke 'aRval' yang lebih besar dari jumlah nilai 'thresh' yang telah ditentukan sebelumnya akan bertambah satu, puncaknya akan ditandai dengan tanda bintang, dan pernyataan if [Baris 45-50] akan putus karena flag = 1. Pernyataan if kedua dengan flag [Baris 51-53] menunjukkan bahwa setelah puncak terpenuhi dan nilai mulai menurun di sekitar puncak, maka flag = 0 dan perulangan for terus mencari puncak lainnya.
  • Parameter/Nilai yang Diperlukan:

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

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

Sub-Langkah:

Buat file Matlab kedua "thresh_analyze"

Langkah 5: Percobaan 1: Tanpa Aliasing

Percobaan 1: Tanpa Aliasing
Percobaan 1: Tanpa Aliasing
Percobaan 1: Tanpa Aliasing
Percobaan 1: Tanpa Aliasing

Gambar 1: Data Trial @ Delay 200Gambar 2: Data Analisis Thresh

-Parameter Penundaan: 200

Puncak:

Hitung = 45

-Jumlah Revolusi per menit:

45 Revolusi/Menit

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

Sub-Langkah:

  1. Hubungkan Arduino ke laptop Anda.

    Atur penundaan dalam kode Arduino ke "200". Tekan Unggah (di sudut kiri atas aplikasi)

  2. Buka file Matlab Anda HallRT [Line 37] dan ubah variabel 'delayTime' menjadi 200.
  3. Jalankan program HallRT.
  4. Simpan file Matlab di bawah "delay_200". (Simpan Gambar)
  5. Muat file delay_200.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 6: Percobaan 2: Aliasing Sensor (i)

Percobaan 2: Aliasing Sensor (i)
Percobaan 2: Aliasing Sensor (i)
Percobaan 2: Aliasing Sensor (i)
Percobaan 2: Aliasing Sensor (i)

Gambar 1: Uji Coba Data @ Delay 50

Gambar 2: Menganalisis Data Thres

Parameter Penundaan: 50-Puncak:

Hitung = 52

Jumlah Revolusi per menit:

52 Revolusi/Menit

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

Sub-Langkah:

  1. Hubungkan Arduino ke laptop Anda.

    Atur penundaan dalam kode Arduino ke "50". Tekan Unggah (di sudut kiri atas aplikasi)

  2. Buka file Matlab Anda HallRT [Line 37] dan ubah variabel 'delayTime' menjadi 50.
  3. Jalankan program HallRT.
  4. Simpan file Matlab di bawah "delay_50". (Simpan Gambar)
  5. Muat file delay_50.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 7: Percobaan 3: Aliasing Sensor (ii)

Percobaan 3: Aliasing Sensor (ii)
Percobaan 3: Aliasing Sensor (ii)
Percobaan 3: Aliasing Sensor (ii)
Percobaan 3: Aliasing Sensor (ii)

Gambar 1: Data Trial @ Delay 100Gambar 2: Data Analisis Thresh

Parameter Penundaan: 100-Puncak:

Hitung = 54

Jumlah Revolusi per menit:

54 Revolusi/Menit

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

  1. Hubungkan Arduino ke laptop Anda.

    Atur penundaan dalam kode Arduino ke "100". Tekan Unggah (di pojok kiri atas aplikasi).'

  2. Buka file Matlab Anda HallRT [Line 37] dan ubah variabel 'delayTime' menjadi 100.
  3. Jalankan program HallRT.
  4. Simpan file Matlab di bawah "delay_100". (Simpan Gambar)
  5. Muat file delay_100.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Langkah 8: Percobaan 4: Aliasing Sensor (iii)

Percobaan 4: Aliasing Sensor (iii)
Percobaan 4: Aliasing Sensor (iii)
Percobaan 4: Aliasing Sensor (iii)
Percobaan 4: Aliasing Sensor (iii)

Gambar 1: Uji Coba Data @ Delay 300Gambar 2: Data Analisis Thresh

-Parameter Penundaan: 300

Puncak:

Hitung = 32

Jumlah Revolusi per menit:

32 Revolusi/Menit

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

  1. Hubungkan Arduino ke laptop Anda.

    Atur penundaan dalam kode Arduino ke "300". Tekan Unggah (di sudut kiri atas aplikasi)

  2. Buka file Matlab Anda HallRT [Line 37] dan ubah variabel 'delayTime' menjadi 300.
  3. Jalankan program HallRT.
  4. Simpan file Matlab di bawah "delay_300". (Simpan Gambar)
  5. Muat file delay_300.mat.
  6. Jalankan program thresh_analyze. (Simpan Gambar)

Direkomendasikan: