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.
- Piezo (terhubung dari drum ke papan tempat memotong roti saya dengan kabel cat5)
- Sebuah resistor 470k secara paralel
- Diode Schottky secara seri (on the + line)
- Dioda Zener secara seri (3.3v pada garis +)
- Sebuah resistor 1M secara paralel
- Kapasitor 0.1uF secara paralel
- 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.
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.
sumber
Jawaban:
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.
sumber
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.
EDIT: direvisi sesuai dengan komentar di bawah ini
sumber
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.
sumber