Mikrokontroler dengan kabel panjang untuk input digital


16

Saya memiliki tombol bel di rumah saya kabel ke papan dev GHI EMX . Perangkat lunak mengevaluasi waktu hari dan menentukan apakah bel pintu berdering atau tidak.

Catatan Samping: Ini diterapkan sebagai cara untuk berurusan dengan ding-dong-parit yang saya terima.

Ini semua bekerja dengan baik kecuali untuk satu masalah, kawat yang terhubung ke papan EMX adalah sekitar 50 kaki (~ 15 meter) panjangnya dan menghasilkan interferensi yang cukup bagi papan untuk berpikir bahwa seseorang telah menekan tombol dan dengan demikian bel pintu berdering pada interval acak sepanjang hari itu Baik istri saya dan anjing saya tidak menghargai ini (tetapi anak-anak berpikir itu sangat menyenangkan).

Saya sudah mencoba memperbaiki masalah dengan mengikuti saran yang ditemukan dalam artikel ini dan menerapkan rangkaian berikut:

Perlindungan low pass filter untuk suatu input

Ini tidak memperbaiki masalah, tetapi saya menemukan bahwa meletakkan resistor 3k di untuk 1k dan mengganti kapasitor .01uF dengan 40uF bekerja sedikit lebih baik, tetapi sesuatu yang lebih dari 3k menyebabkan penundaan yang terlihat ketika menekan tombol sebelum tombol bel berdering. Perbedaan untuk sirkuit saya adalah bahwa papan berjalan pada 3.3V bukan 5V (yang saya asumsikan membuat masalah lebih buruk) dan bukannya menghubungkan ke ground switch melengkapi sirkuit (yaitu dua kabel antara mikrokontroler dan switch).

Kabel yang berjalan di antara sakelar dan mikrokontroler adalah kabel bel pintu standar yang tidak dilindungi atau dipuntir. Mengganti kawat bel dengan kawat berpelindung, sayangnya, bukan pilihan karena itu akan mengharuskan saya merobek drywall.

Saya telah melihat pertanyaan berikut di sini , tapi itu sepertinya berurusan dengan ADC yang mungkin sedikit berbeda dari masalah saya. Bantuan apa pun akan sangat dihargai.

Pembaruan
Setelah membaca lebih banyak dokumentasi , tampak bahwa walaupun mikrokontroler ini ditenagai oleh 3.3V, tetapi 5V toleran pada pin I / O itu. Saya dapat menyesuaikan ke nilai resistor yang lebih tinggi jika saya menggunakan 5V, tetapi apakah ini akan membantu?


1
Tambahkan keypad keamanan ke bel pintu Anda. Hanya mereka yang memasukkan kode empat digit yang benar yang dapat membunyikannya, setiap saat sepanjang hari.
Kaz

Jawaban:


15

Apa yang tidak diperlihatkan oleh skema adalah mode umum 60Hz hum yang sangat besar dan bagaimana landasannya saling berhubungan dengan kedekatan dengan saluran AC & transien saluran listrik.

Contoh Anda adalah contoh yang baik tentang bagaimana tidak menghubungkan kabel panjang.

Izinkan saya menyarankan di masa depan;

  1. lebih suka twisted pair
  2. lebih suka garis yang seimbang
  3. hindari input impedansi tinggi
  4. lebih suka impedansi yang cocok
  5. hindari LPF berlebihan (konstanta lama)
  6. termasuk tutup RF untuk menekan transien.
  7. gunakan manik-manik ferit (CM choke)
  8. hindari loop tanah (mis., koneksi langsung yang belum dimanfaatkan ke sirkuit)
  9. gunakan sirkuit pembasahan kontak (tutup polaritas 10uF yang benar di seluruh kontak yang tidak berlapis emas)
  10. lebih suka membujuk untuk lingkungan EMI yang sangat keras.

Karena banyak opsi tidak berhasil. Lakukan ini;

  • lepaskan tutup besar di papan dan pindah ke kontak saklar jarak jauh. (harus)
  • lepaskan resistor seri 3K (1k) dan tambahkan selongsong ferit CM atau sejenisnya
  • tambahkan tutup RF kecil di papan pada input. misalnya 0,001 ~ 0,01 uF atau jenis induktansi rendah.
  • Ganti 100K dengan 1k ~ 10K.
  • tambahkan manik-manik ferit besar dengan beberapa putaran ke kedua kabel. (Filter CM)

Dengan solusi ini, impedansi sirkuit sakelar akan menurunkan impedansi pada penutupan dan impedansi rendah dengan sakelar penutup listrik saat dibuka. CM hum akan diserap dan noise RF diferensial ditekan. masukkan deskripsi gambar di sini

-menarik tegangan suplai yang sama seperti UC dengan tutup RF yang baik di seluruh chip.


Saya harus menemukan lengan ferit CM tetapi jika tidak, ini terlihat sangat bisa dilakukan. Apakah menurut Anda ini akan berhasil: digikey.com/product-detail/en/KR50TA251512B1/P11400-ND/409505 . Terima kasih!
Matt Ruwe

akan bekerja tanpa, tetapi menambahkan asuransi untuk semburan RF liar. Ini lebih baik .. digikey.com/product-detail/en/FB73-287-RC/M8708-ND/775247 dapatkan selusin atau lebih untuk penggunaan di masa mendatang.
Tony Stewart Sunnyskyguy EE75

membaca salah ID digikey.com/product-detail/en/35T0231-30P/240-2586-ND/1587459 di atas terlalu kecil. Anda akan baik-baik saja tetapi menjadi usang.
Tony Stewart Sunnyskyguy EE75

Terima kasih. Beberapa pertanyaan lain. Di lingkungan perumahan seperti milik saya, ke mana saya harus mengikat landasan bersama? Tanah atau saluran listrik terdekat?
Matt Ruwe

outlet listrik terdekat atau penutup komputer yang terhubung ke outlet baik-baik saja. Kabel panjang menambah terlalu banyak induktansi> 1m.
Tony Stewart Sunnyskyguy EE75

8

Sebuah solusi sederhana mungkin untuk meninggalkan sistem bel seperti sebelum Anda memulai proyek ini dan hanya menggunakan pengontrol mikro untuk mematikan daya ke speaker bel pintu dengan relay ketika Anda tidak ingin mendengar bel.

Memperbarui

Saya tidak terlalu mengenal sistem bel (selain google cepat) sehingga yang berikut mengasumsikan Anda memiliki setidaknya dua konduktor yang berjalan dari MCU Anda ke sakelar.

Papan GHI EMX yang Anda miliki memiliki ADC 10 bit sehingga Anda dapat mengirim 12vDc (atau lebih) ke bel pintu dan menggunakan pembagi tegangan sederhana sehingga tegangan ke MCU tidak melebihi 5 volt maks. Kemudian pada sisi perangkat lunak yang Anda lakukan adalah membaca ADC dan jika nilainya> 1000 (Anda mungkin harus bermain-main dengan nomor ini, dan 1023 adalah maks pada 10 bit ADC) maka bel pintu telah ditekan.

Akan terlihat seperti ini (cobalah untuk tidak kewalahan oleh keterampilan mengedit grafik saya yang luar biasa):

masukkan deskripsi gambar di sini

Pilihan lain yang serupa adalah menggunakan pemicu schmitt dengan tegangan input yang lebih tinggi. Tapi ini akan membutuhkan bagian tambahan dan lebih banyak upaya daripada opsi ADC.

Edit

Jawaban Chris Stratton membuat poin bagus tentang aliran saat ini. Jika Anda mengubah resistor tarik 100k menjadi ~ 220ohm yang dapat melakukan trik.


1
Bukan ide yang buruk, tetapi perlu beberapa kesenangan dari konsep tersebut. Saya masih ingin tahu kapan saklar ditekan setelah berjam-jam sehingga saya bisa menyalakan lampu depan rumah dan memberi sedikit iseng kepada obat mereka sendiri.
Matt Ruwe

mungkin suara sirene polisi yang jauh mendekat dengan taser di sakelar.
Tony Stewart Sunnyskyguy EE75

1
Saran favorit saya adalah dari seorang teman yang memiliki ide untuk menggunakan korek api yang terhubung dengan beberapa kembang api yang akan dimatikan ketika tombol ditekan. =) Pada akhirnya ide itu terlalu berbahaya.
Matt Ruwe

@ Matt lihat pembaruan saya untuk solusi lain. Alih-alih kembang api, saya pernah menggunakan sirene dan lampu sorot menyebabkan anak-anak merokok di samping rumah saya. Saya menangkapnya di video juga, yang membuatnya jauh lebih baik!
Garrett Fogerlie

6

Sebenarnya ada solusi yang sangat sederhana untuk masalah ini.

Kunci untuk memahami solusi ini adalah memikirkan mengapa bel pintu elektro-mekanis biasa tidak berdering karena gangguan serupa. Jawabannya tentu saja adalah membutuhkan daya dering aktual untuk mengalir melalui sirkuit tertutup - interferensi tidak akan memasangkan daya yang cukup ke sirkuit terbuka untuk cincin palsu.

Anda dapat membuat situasi serupa dengan menggunakan resistor pullup bernilai rendah, dengan tombol bel terhubung ke ground. Seratus ohm hambatan akan berarti bahwa sekitar 25 miliamp arus harus mengalir sebelum input mikrokontroler ditarik cukup rendah untuk dibaca sebagai "0". Komunikasi serial jarak jauh sering dilakukan dengan arus 20 mA, jadi 25 mA sudah cukup, tetapi Anda dapat dengan mudah menyesuaikan atas atau bawah.

Anda selanjutnya dapat menolak gangguan dengan memiliki perangkat lunak pada mikrokontroler yang mengharuskan tombol dipertahankan tertutup - tanpa celah - untuk 100 mS atau lebih sebelum itu akan diakui sebagai dering yang valid.

Orang bisa berpendapat bahwa metode ini membuang-buang daya, namun daya hanya dikonsumsi selama waktu bel ditekan. Resistor memang perlu memiliki kapasitas penanganan daya (termal) untuk kemungkinan tombol macet tertutup secara permanen, tetapi itu tidak akan menjadi kasus biasa untuk menghitung konsumsi daya.


kecuali jika Anda menggunakan 10% atau arus terukur pada sakelar logam kontak non-Au, pada akhirnya akan gagal memulai intermiten dengan arus level logika. Itulah mengapa tutup ESR rendah (tutup film pra) sangat penting untuk mengurangi oksidasi dengan pembuangan arus tinggi ESR rendah di seluruh kontak.
Tony Stewart Sunnyskyguy EE75

@Richman - kegagalan akhirnya mungkin terjadi, ya - itu terjadi ketika menggunakan bel elektromekanis juga. Seseorang dapat meningkatkan arus pada teori yang mungkin membantu atau mencoba ide kapasitor pulsa Anda. Beberapa desain tombol bel mungkin secara implisit memiliki kontak geser seperti daun yang tertekan, yang akan banyak membantu. Saya curiga bahwa kegagalan yang mudah diperbaiki setelah beberapa tahun tidak akan menjadi penghenti bagi perangkat kenyamanan yang dibangun seseorang untuk rumah mereka sendiri. Pada tingkat praktis, akan sangat berguna jika orang di pintu setidaknya bisa mendengar samar bel.
Chris Stratton

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.