Alihkan Daftarkan output ke Relay

8

maaf untuk panjangnya.

Ini adalah kelanjutan dari pertanyaan terakhir saya . Saya memiliki papan 8-relay optocoupled yang saya coba sambungkan ke mikrokontroler saya. Saya telah menempatkan register geser 74HC595 sebaris untuk mengkonsolidasikan port input. Namun demikian, dewan telah menunjukkan beberapa perilaku aneh.

masukkan deskripsi gambar di sini

Jika saya tidak memasukkan apa pun, atau hanya sedikit beban ke dalam relay semua berfungsi dengan baik menggunakan register geser. Mereka hidup dan mati tanpa masalah. Segera setelah saya pasang pompa 1+ amp ke relai, Anda dapat mendengar perjalanan relai kemudian mati dengan cepat. IN1 (diagram di atas) LED juga menyala untuk sepersekian detik. Kadang-kadang meskipun (1 dalam 5) relay dan pompa benar-benar tetap menyala. Sekarang di sinilah menjadi aneh; jika saya menghapus register geser dan langsung menghubungkan pin ke mikrokontroler, ia berfungsi dengan baik saat menyalakan pompa.

Jadi gangguan pada register geser dinaikkan tetapi sejauh yang saya mengerti desain papan relay, register geser hanya menyalakan LED di optocoupler (U1) dan sama sekali tidak terhubung ke bagian lain dari rangkaian (register geser) dan pengontrol ditenagai oleh baterai). Papan juga Active Low, jadi seperti yang saya pahami register geser sedang tenggelam saat ini dari optocoupler. Mungkinkah optocoupler membutuhkan lebih banyak arus untuk mengalihkan beban yang lebih tinggi daripada yang bisa tenggelam register geser? Saya mungkin akan pergi karena ini membuat saya bingung. Juga, apakah ada cara interferensi bisa masuk meskipun terisolasi dan menggunakan baterai?

Semua tes yang dilakukan dengan Baterai menyalakan register shift mikrokontroler \, dan sketsa yang sangat sederhana yang menargetkan hanya pin register shift tunggal dengan byte.

8-relay ( Info ): Saat ini dikonfigurasikan dengan kutil dinding 5V yang terpisah untuk menyalakan Relay. Mikrokontroler menyediakan 5V untuk daya optocoupler saja.

Saya menghargai segala bantuan yang dapat Anda berikan kepada saya. masukkan deskripsi gambar di sini

Perbarui 13 Agustus:

Masih tidak jalan tapi saya melakukan banyak pengujian lagi: Saya memindahkan register geser dan Arduino 3 kaki jauhnya dari relay dan daya listrik. Keduanya ditenagai oleh baterai 9V. Satu-satunya yang terhubung ke papan relay adalah rel 5V dari Arduino dan 8 kabel dari register geser ke input papan relay. Hasil yang sama, lampu 100W bekerja dengan sangat baik, pompa menyebabkannya padam. Jika saya menghapus register geser dan tancapkan pin output langsung ke Arduino pompa menyala tanpa masalah.

Hanya untuk memverifikasi tidak ada yang terjadi dengan kutil dinding 5V khusus yang mendukung relay, saya mencabutnya dan mengganti jumper pada JD-VCC dan VCC dan memasang GND Arduino. Hasil yang sama, 100W light berfungsi, pompa menyebabkannya trip.

Itu harus register geser.

Saya juga menempatkan kapasitor decoupling 47 uF pada rel daya, juga register geser memiliki 104 tepat di sebelahnya.

Malam ini saya akan mencoba meletakkan Multimeter sejalan dengan salah satu pin output, saya ingin melihat berapa banyak arus optocoupler menarik.

Saya baru saja mendapat osiloskop juga, jadi saya masih belajar bagaimana menggunakannya tetapi mungkin saya bisa mencari cara mengukur gangguan pada rel 5V atau di jalur output.

Perbarui 14 Agustus:

Saya berhasil menangkapnya gagal dengan osiloskop saya. File wfm Rigol di bawah. Saluran satu dilampirkan ke pin output pada register geser. Saluran dua terpasang ke rel 5V.

File WFM

Saya hanya melakukan beberapa pengujian dan saya berhasil mereproduksi lonjakan 500mv-1V (kadang-kadang drop) di kedua rel 5V dan salah satu pin output dari register geser. Itu masalahnya kan? Apakah jenis lonjakan itu membuat register geser keluar dan bertindak aneh?

15 Agustus:

Di bawah ini adalah tangkapan ketika saya menyalakan pompa secara manual. Tidak menggunakan register geser untuk melakukannya. Garis Biru adalah output pin Shift Register 1, garis Kuning adalah 5V.

Saya juga telah mengambil beberapa gambar pengaturan:

masukkan deskripsi gambar di sini

Ukuran Penuh

masukkan deskripsi gambar di sini

Ukuran Penuh

masukkan deskripsi gambar di sini

Saya juga memiliki posting forum yang juga telah saya perbarui hasilnya: Arduino Forum

16 Agustus:

Saya dapat menangkap gambar yang jauh lebih baik hari ini. Saya tidak menyadari bahwa osiloskop hanya menangkap begitu banyak poin ketika berjalan pada interval 1 detik (benar-benar masuk akal sekarang). Ini emi jahat dari Pin 1 dari daftar shift:

2us

200ns

Saya akan mengambil semua komponen yang direkomendasikan akhir pekan ini dan mencoba menambahkannya satu per satu.

18 Agustus:

Masalah dikonfirmasi. Pompa itu menyebabkan begitu banyak kebisingan sehingga tidak ada yang bisa saya lakukan pada saluran listrik yang rendah yang bisa mengandung riak. Riak-riak yang membuat jalan ke dalam shift register clock \ latch \ pin data dan menyebabkan korupsi \ reset.

Jadi saya pergi ke ekstrim jauh dan merobek sirkuit pelindung lonjakan rak APC Rack daya tinggi dan meletakkannya di depan pompa.

masukkan deskripsi gambar di sini

Sekarang hampir tidak ada kesalahan pada salah satu garis di mana saja. Hore!

Sekarang intinya adalah untuk menjaga ini terkandung dalam tapak penutup itu jadi saya akan melihat apakah saya dapat membuat versi yang lebih kompak, karena saya pikir papan ini berlebihan dan saya akan membutuhkan satu untuk masing-masing dari 5 pompa yang saya miliki. Saya akan mulai dengan hanya satu MOV dan melihat berapa banyak mengurangi kebisingan.

Masalah yang Dipecahkan: Saya memutuskan untuk membeli Filter Saluran untuk melihat apakah saya dapat menyaring suara pompa tepat di sumbernya. Saya membeli ini: Delta High Performance Filter . Sekarang saya bahkan tidak mendapatkan blip pada osiloskop.

Terima kasih atas semua bantuan semua orang, saya berharap saya bisa menandai Anda semua sebagai pemecah tetapi saya tidak bisa jadi saya hanya memberikannya kepada siapa pun yang menawarkan tip terbanyak.

Ada
sumber
Sudahkah Anda menambahkan kapasitor decoupling ke pin daya register geser?
Bruno Ferreira
Ya, saya memiliki 104 terlampir. Karena itu terisolasi tidak akan masalah decoupling menjadi masalah sepanjang waktu, saya meminta sebab saya tidak yakin? Semuanya berfungsi dengan baik jika saya tidak memasukkan pompa.
Ada
Sudahkah Anda melepaskan jumper antara Vcc dan JD-Vcc?
Oli Glaser
Ya sudah dihapus, saya punya kutil dinding 5v khusus yang terhubung ke Gnd dan JD-VCC.
Ada
1
File Rigol WFM, apa itu? Bagaimana kita membaca itu?
stevenvh

Jawaban:

6

Bagaimana kabel register geser? Apakah Anda memiliki kapasitor bypass 0.1uF di seluruh kabel listrik yang dekat dengan paket IC?

Bagi saya itu terdengar seperti masalah kebisingan, terutama karena hanya dipicu ketika Anda memiliki beban pada relay. Fakta bahwa itu menghasilkan negara-shift-register register-reset mendapatkan membuat saya berpikir itu masalah daya.


Juga, bagaimana Anda menghubungkan register geser.
Dengan 74HC595, Anda perlu:

  • Ikat kedua jam register bersamaan (Pin 11 dan 12)
  • Tarik pin master-reset tinggi (pin dasi 10 ke VCC)
  • Tarik garis yang memungkinkan keluaran rendah (pin dasi 13 ke ground)

Terakhir, Anda memerlukan kapasitor bypass 0,1 uF antara pin 16 (Vcc) dan pin 8 (Gnd).

Connor Wolf
sumber
Saya memiliki 104 melintasi vcc dan gnd register geser.
Ada
@ Ada - dan Anda belum membiarkan pin reset mengambang, atau apa pun, bukan?
Connor Wolf
Satu-satunya hal yang dapat saya pikirkan pada saat ini adalah mencoba dan mengalihkan beban non-induktif (mis. Bola lampu 60W, atau sesuatu), dan lihat apakah itu juga memicu masalah. Jika tidak, Anda mengalami masalah EMI saat pompa Anda hidup. jika ya, saya agak bingung. Pada titik itu, mulailah melihat rel pasokan Anda ketika sistem beralih, lihat apakah ada sesuatu yang aneh terjadi pada mereka.
Connor Wolf
Tidak, saya bahkan tidak berpikir register geser direset karena terus mempertahankan relay lain walaupun tidak dapat menghidupkan pompa.
Ada
mari kita lanjutkan diskusi ini dalam obrolan
Connor Wolf
3

Coba pindahkan Arduino sejauh mungkin dari modul relai dan pompa sepraktis mungkin. Pastikan juga kabel yang terkait dengan daya (pompa) tidak berada di dekat Arduino.

Kemudian gunakan kabel twisted pair atau CAT5 untuk mengirim sinyal on / off dari Arduino.

Saya tidak dapat membuka file wfm (saya kira itu beberapa nilai hex tapi ini akan sulit untuk divisualisasikan jika dibuka pula), tetapi dari deskripsi Anda sepertinya Anda telah menangkap acara tersebut.
Lonjakan ini (yang mungkin lebih cepat / lebih besar dari yang ditunjukkan pada cakupan Anda tergantung pada BW dan pengaturan) kemungkinan akan menjadi masalah. Bagaimana lonjakan seperti itu masuk ke rel Anda masih harus dipecahkan - Saya pikir pada titik ini satu atau dua foto dari setup Anda mungkin akan banyak membantu, dan jika mungkin diagram rinci dari semua kabel Anda (pompa, modul relay, semua pasokan listrik, Arduino, dll)

Apakah adaptor relai dan arduino ground dihubungkan bersama?

EDIT - melihat gambar, tata letak tidak terlihat bagus, agak sempit. Tampaknya ada kabel listrik yang berada di bawah modul relai - ini mungkin kopling ke sisi Arduino yang terisolasi. Cobalah untuk memindahkan ini jika Anda bisa.
Anda juga harus benar-benar menggunakan CAT5 atau serupa untuk sinyal register geser - jalankan bersama-sama dengan 5V untuk mengurangi area loop.
Pada titik ini saya juga akan mencoba menambahkan beberapa dioda bias terbalik ke 5V dan ground dari output register geser, untuk menjepit lonjakan yang muncul (5V zener opsional, tetapi ide bagus jika Anda memilikinya)

Kembali ke belakang dioda

Anda juga dapat menempatkan kapasitor bertubuh kecil dari saluran ke ground (mis. 100nF) karena hanya berupa sinyal sakelar.
Untuk memastikan sepenuhnya tidak ada koneksi antara apa pun yang seharusnya tidak ada, mungkin layak untuk menguji kesinambungan antara ground Arduino dan modul Relay, dan Arduino 5V dan Relay 5V.

Oli Glaser
sumber
Apakah maksud Anda register geser juga? Saat ini sudah terpasang di unit power bar tapi saya bisa melepaskannya dan memindahkannya lebih jauh. Apakah Anda berpikir itu mengambil suara?
Ada
Ya, pindahkan ini juga dan gunakan kabel dari output register geser ke modul. Kedengarannya seperti itu dipancarkan EMI jika itu masih terjadi saat menyalakan Arduino dari baterai.
Oli Glaser
@ Ada - apakah Anda mencoba yang di atas? Jika demikian, apakah ada bedanya?
Oli Glaser
Ya, hasil diposting di atas.
Ada
Hmmm, ada yang salah di sini :-) Jika Anda memiliki ruang lingkup sekarang kemudian mulai memeriksa sinyal dan daya selama switching relay, Anda harus mendapatkan ide tentang apa yang terjadi. Posting gambar hasil jika Anda tidak yakin apa yang harus dilakukan.
Oli Glaser
1

Ini tentu terdengar seperti masalah Interferensi Elektromagnetik.

Catu daya Arduino Ground harus terhubung ke "lahan hijau" sistem daya lokal Anda. Steker kosong dengan kabel tunggal ke 'tanah hijau' dapat digunakan.

Cobalah untuk memisahkan kabel pompa secara fisik dari barang-barang komputer mikro.

Anda juga dapat menambahkan "penekan lonjakan" MOV (Metal Oxide Varistor) di pompa untuk menyerap paku yang dapat terjadi ketika beban diaktifkan.

Berapa level tegangan dan arus pompa?

Kabel Anda terlihat benar.

Terry King
sumber
Saya memperbarui posting saya dengan beberapa pengujian lagi. Saya setuju sepertinya EMI, Fake juga mendorong saya seperti itu kemarin. Saya mengalami kesulitan melacaknya. Ketika Anda mengatakan untuk menghubungkan ground, apakah itu masih berlaku jika Arduino bertenaga baterai? Pompa 120V 1.2 Amps. Terima kasih
Ada