Cara mendiagnosis crosstalk

8

Saya benar-benar baru di bidang elektronik, dan saya sedang berusaha belajar dengan membangun satu set drum elektronik. Saya telah menemukan banyak contoh sirkuit online untuk mengkondisikan output dari piezo untuk dibaca oleh pengontrol (Netduino dalam kasus saya). Rangkaian yang saya gunakan terlihat seperti ini.

  1. Piezo (terhubung dari drum ke papan tempat memotong roti saya dengan kabel cat5)
  2. Sebuah resistor 470k secara paralel
  3. Diode Schottky secara seri (on the + line)
  4. Dioda Zener secara seri (3.3v pada garis +)
  5. Sebuah resistor 1M secara paralel
  6. Kapasitor 0.1uF secara paralel
  7. Pin analog Netduino (dan garis ground terhubung ke pin ground Netduino)

Saat ini saya memiliki 6 sirkuit ini yang menempel pada 6 pin analog di Netduino saya. Sirkuit ini melakukan pekerjaan yang sangat baik untuk tidak melewatkan hit pada drum dan juga memberikan rentang kecepatan / volume dinamis yang cukup baik. Masalahnya adalah ketika saya memukul salah satu drum dengan sangat keras, saya mendapatkan beberapa crosstalk yang buruk (yaitu saya memukul satu drum, tetapi beberapa drum memberi isyarat). Saya telah terjebak dalam hal ini selama beberapa minggu sekarang dan telah mencoba mengubah sirkuit dengan segala cara yang dapat saya pikirkan, tetapi tampaknya tidak dapat memperbaiki masalah ini. Yang paling dekat saya bisa datang adalah meletakkan pembagi tegangan di akhir rangkaian. Ini memang menghilangkan crosstalk, tetapi dengan biaya rentang dinamis yang jauh lebih rendah (yaitu, sekeras apa pun saya menekan drum, saya tidak mendapatkan lebih dari setengah nilai pembacaan ADC maks). SAYA' sudah diperiksa dan diperiksa dua kali bahwa semuanya terhubung ke tanah yang sama. Schottky harus menjaga agar sinyal negatif tidak sampai ke Netduino, dan Zener harus memastikan saya tidak mendapatkan apa pun di atas 3.3v yang diinginkan Netduino.

Saya pikir osiloskop mungkin akan membantu satu ton dalam mencari tahu apa yang salah, tetapi karena ini adalah proyek / percobaan elektronik pertama saya, agak sulit untuk membenarkan pembelian beberapa ratus dolar kepada istri;)

Adakah yang bisa mengarahkan saya ke arah yang benar untuk mencari tahu apa yang salah?

EDIT:

Ini adalah usaha saya di sebuah skema. Saya baru saja mengunduh Eagle dan tidak sepenuhnya yakin bagaimana menggunakannya, tetapi mudah-mudahan ini cukup dekat untuk memberikan ide. Simbol piezo di sebelah kiri tidak terlihat tepat bagi saya, tetapi itulah yang diberikan Eagle kepada saya.

skema

EDIT # 2:

Per beberapa permintaan di bawah ini, berikut adalah beberapa gambar sirkuit saya (sedikit diperbarui dari beberapa saran orang). Juga, saya sudah memasukkan beberapa gambar drum. Drum menggunakan kepala drum "layar" khusus yang membuat suara sangat sedikit terdengar. Ada sepotong kecil busa yang memindahkan getaran kepala drum ke piezo.

Papan tempat memotong roti Sirkuit Satu set drum Drum Tunggal

herbrandson
sumber
Skema akan sangat membantu. Karena Anda meminta semua orang yang membaca ini untuk merekonstruksi skema dari deskripsi teks Anda tentang sirkuit. Terus terang, tidak ada yang mau repot-repot melakukannya.
The Photon
Silakan tambahkan diagram sirkuit yang tepat, ini agak sulit untuk diikuti! Mungkin ada jarak dalam memiliki pembagi tegangan yang lebih kecil untuk mencocokkan input ke output; perhatikan bahwa jika tegangan input melewati 3.3V, itu mungkin akan menyebabkan masalah pada Netduino.
pjc50
2
Kedua, foto rangkaian yang dibangun akan sangat berguna bagi kita untuk melihat apakah ada cara konstruksi yang dapat menyebabkan masalah crosstalk ... Yang mengatakan, saya dengan StevenVH, crosstalk akustik tampaknya lebih mungkin daripada listrik.
The Photon
Terima kasih atas tanggapan semua orang. Saya telah memasang skema kasar. Saya harap itu membantu. Saya akan mencoba menambahkan foto nanti malam.
herbrandson
Sepertinya Zener atau diode Schottky Anda terhubung dengan cara yang salah. Sebuah Zener menghasilkan drop tegangan tetap pada saat arus akan di ke katoda dan datang keluar dari anoda. Ketika dihubungkan dengan cara lain, itu berperilaku seperti dioda normal (kira-kira 0,6-0,7 V drop).
The Photon

Jawaban:

8

Skema nyata akan membantu !!

Saya tidak berpikir crosstalk adalah sesuatu di sirkuit Anda, tetapi akustik. Drum lain berperan sebagai mikrofon dan menangkap getaran drum yang Anda mainkan. Satu-satunya solusi yang saya lihat adalah menambahkan antisound ke sinyal drum lain, tetapi itu mengharuskan Anda memiliki ide yang sangat bagus tentang amplitudo dan fase sinyal yang ingin Anda batalkan.

sunting (ulang komentar Anda)
Jika memukul drum yang diputus tidak memberi Anda crosstalk, maka sepertinya itu tidak akustik. Saya ingin melihat kabel Anda. Sinyal harus berupa tegangan puncak tinggi (dV tinggi / dt), diikuti oleh sinus yang cepat membusuk (resonansi drum). Jika kabel antara drum dan mikrokontroler sangat panjang dan sangat baik digabungkan (seperti terjalin), dengan impedansi tinggi yang Anda miliki ini dapat menyebabkan crosstalk kecil . Tidak begitu banyak dari gelombang sinus resonansi, tetapi dari puncak cepat ketika Anda menekannya. Tapi ini seharusnya hanya memberikan suara "centang" kecil, bukan drum yang khas.
Jadi bagaimana Anda menghubungkannya? Cobalah menggunakan kabel terpisah untuk masing-masing drum.

stevenvh
sumber
Terima kasih atas tanggapannya. Saya telah memasang skema yang mudah-mudahan akan membantu.
herbrandson
Setuju bahwa itu adalah penggandengan mekanis yang kemungkinan penyebabnya. Mencari cara untuk meredam / mengisolasi perambatan getaran di antara bantalan drum
vicatcu
Saya tidak terlihat seperti ini adalah masalah akustik. Per saran dari @fceconel di bawah ini, saya mencoba melepaskan salah satu drum dan melihat apakah saya masih mendapatkan crosstalk. Hasilnya adalah crosstalk hanya terjadi ketika drum tersambung. Dengan kata lain, jika saya memukul drum dengan keras (saat itu terhubung) saya mendapatkan crosstalk. Jika saya melepaskan drum yang sama dan memukulnya dengan keras lagi, tidak ada crosstalk. Hubungkan drum yang sama lagi dan tekan keras dan crosstalk kembali. Saya pikir itu mengesampingkan ini menjadi masalah akustik. Apa kamu setuju?
herbrandson
Saya telah menambahkan beberapa foto yang menunjukkan kabel yang sebenarnya. Itukah yang kamu cari?
herbrandson
6

Saya akan merekomendasikan untuk mengubah penempatan zener seperti yang ditunjukkan memiliki efek yang Anda inginkan; ini tidak ada hubungannya dengan masalah Anda.

Seperti disebutkan stevenvh, mustahil Anda memiliki crosstalk listrik dari pengaturan semacam itu, tetapi jika Anda ingin memastikan kabel yang terlindung dari drum ke arduino akan membantu. Tetapi dalam kasus yang paling mungkin, di mana ini merupakan efek akustik, pertimbangkan untuk menangani masalah dalam perangkat lunak. Hampir tidak mungkin Anda menekan dua drum pada waktu yang bersamaan, bahkan jika Anda menggunakan kedua tangan untuk memukul secara bersamaan dua drum yang berbeda. Jadi bagaimana kalau hanya menganggap sebagai hit yang valid pada waktu tertentu hanya kutu input terkuat, dan mengabaikan yang lain?

BTW, untuk mengonfirmasi bahwa masalahnya benar-benar akustik, coba lepaskan satu drum dan tekan untuk melihat apakah masih menghasilkan input pada drum (terhubung) lainnya.

skema

EDIT: direvisi sesuai dengan komentar di bawah ini masukkan deskripsi gambar di sini

fceconel
sumber
Saya tidak berpikir itulah yang dimaksudkan untuk dilakukan zener. Adalah ide yang bagus untuk memotong hasil untuk memastikan rentang A / D tidak terlampaui, tapi saya pikir zener ada di sana untuk mengatur level minimum di mana hit drum terdeteksi. Itu di tempat yang tepat untuk itu, tepat di belakang. Juga, untuk memotong, saya akan menempatkan zener setelah D2.
Olin Lathrop
2
Tetapi dalam pertanyaan dia mengatakan "Zener harus memastikan aku tidak mendapatkan apa pun di atas 3.3v yang diinginkan Netduino", kan?
fceconel
Anda benar tentang penempatannya. Mengoreksi.
fceconel
Pernyataan OP saling bertentangan. Saya curiga dia melihat skema dengan zener secara seri dan secara tidak sengaja membaliknya, tujuan yang seharusnya berbeda untuk zener. Dalam kasus apa pun, ambang batas untuk kebutuhan minimum memukul drum paling baik dilakukan di firmware.
Olin Lathrop
Tujuan zener memang untuk memotong sinyal tidak lebih dari 3.3V (Netduino max). Ambang minimum sudah ditangani dalam perangkat lunak.
herbrandson
3

Saya pikir level pemicu Anda untuk memutuskan drum terkena terlalu sensitif. Anda memerlukan beberapa level di bawah yang menurut Anda drum tidak sengaja dipukul. Itu mungkin yang zener di sirkuit Anda dimaksudkan untuk dilakukan, tetapi Anda memilikinya kabel mundur sehingga hanya menambah ambang kecil alih-alih lebih dari 3 V sebagaimana dimaksud.

Namun, zener lebih merupakan peretasan untuk thresholding. Anda mengatakan ini akan menjadi mikrokontroler, jadi saya akan kehilangan zener sama sekali dan melakukan ambang minimum dalam mikro. Ini mengasumsikan bahwa hasil pukulan maksimum hanya sekitar kisaran tegangan A / D penuh. Sesuaikan resistor kedua (lain kali letakkan perancang komponen dalam skema Anda) untuk mendapatkan volume maksimum yang tepat, kemudian sesuaikan firmware untuk mengabaikan puncak di bawah tingkat tertentu.

Olin Lathrop
sumber
5
Siapa pun yang menurunkan pendapat ini, menurut Anda apa yang salah, menyesatkan, atau nasihat buruk?
Olin Lathrop