Kabel yang benar menyampaikan keadaan solid ke pin GPIO?

13

tl; dr - Saya ingin menghubungkan relay ini ke pin GPIO pada Raspberry Pi B + saya.


Saya sedang mencari untuk membeli relay solid-state untuk Raspberry Pi saya. Setelah banyak mencari, saya menemukan relay 8-channel dari Sainsmart ini:

masukkan deskripsi gambar di sini

Namun, saya tidak begitu yakin bagaimana menghubungkannya ke Pi. Halaman ini menyediakan daftar masing-masing pin. Jika saya mengerti benar, pin GPIO memberikan 50 mA pada 3.3V. Ada juga beberapa pin GPIO yang menyediakan 5V. Menurut spesifikasi untuk relai, 3.3V harus cukup untuk mengaktifkan saluran.

Berdasarkan pengetahuan saya yang sangat terbatas, saya telah menghasilkan diagram pengkabelan ini:

masukkan deskripsi gambar di sini

Apakah ini benar? Apakah saya melewatkan sesuatu? Setiap saran sangat dihargai.

Nathan Osman
sumber

Jawaban:

14

Diagram pengkabelan Anda sudah benar, karena (sesuai situs web Sainsmart.com yang Anda tautkan) spesifikasi perangkat adalah:

Tegangan sinyal kontrol input:

0V - 0.5V Low stage (SSR is OFF),
0.5V – 2.5V (unknown state).
2.5V - 20V High state (SSR is ON).

Raspberry Pi menggunakan sinyal 3V3 pada pin GPIO-nya; tingkat tegangan yang cukup tinggi untuk memicu Status Tinggi dalam relai sesuai spesifikasi. Arduino (yang menggunakan papan yang sama) menggunakan sinyal 5V pada pin GPIO dan berfungsi sama baiknya dengan papan ini. Sirkuit lain di papan tulis harus ditenagai oleh sumber 5V, di mana Anda telah memasang kabel papan dengan benar ke pin catu daya 5V pada header GPIO.

Namun, spesifikasi yang Anda kutip tidak sepenuhnya benar. Header GPIO terdiri dari pin catu daya (1x 3V3 dan 2x5V), beberapa pin Ground, serta pin GPIO. Pin GPIO (seperti GPIO17 yang Anda sebutkan) sangat terbatas pada saat ini mereka dapat menyediakan (tidak seperti pin 5V yang dapat memasok setidaknya 0,5A jika tidak lebih tergantung pada model rPi). Setiap pin dapat menghasilkan maksimum 16mA (bukan 50mA seperti yang Anda sebutkan), dengan total arus gabungan maksimum di semua pin 50mA. Ini cukup untuk mendorong beberapa LED, tetapi tidak lebih. Pin biasanya digunakan untuk mengirim sinyal ke perangkat lain, dan relay Anda adalah contoh sempurna.

Seperti yang saya sebutkan, sirkuit Anda akan berfungsi dengan baik saat Anda menggambarnya (asalkan Anda menyuplai sumber daya yang berbeda ke terminal relai, halaman Sainsmart mengatakan ini tentang tegangan Relai dan arus yang didukungnya:

Output SSR (setiap saluran):

 Load voltage range: 75 to 264V AC (50/60Hz).
 Load current: 0.1 to 2 AMP.

). Ini adalah praktik umum untuk menempatkan setidaknya sebuah resistor pada garis antara GPIO17 dan relay (1kOhm sudah cukup) untuk menghindari korsleting dari penggorengan rPi Anda melalui pin GPIO. Juga, jika Anda ingin menjadi sangat aman, Anda dapat mencegah miswiring yang tidak disengaja dari mengirim arus ke output GPIO17 Anda dengan kabel di dioda (pastikan polaritasnya tepat di dioda!).

Akhirnya, karena Anda baru dalam hal ini, berhati-hatilah bagaimana Anda memanfaatkan pin GPIO, terutama pin 5V. Jika Anda menggunakan kabel jumper betina yang benar seharusnya tidak ada masalah, tetapi jika Anda memutuskan untuk bekerja dengan kawat dilucuti pada ujung GPIO, Anda mungkin akhirnya secara tidak sengaja menghubungkan pin 5V dengan pin GPIO, yang mengarah ke bencana (Seperti saya menyebutnya - "Pi goreng"). Kemudian - atur pin GPIO Anda menjadi "output" (dalam bahasa / perpustakaan apa pun yang Anda gunakan), dan gunakan register pull-down bawaan (untuk memastikan bahwa ketika sinyal "mengapung" akan ditarik ke 0V dan tidak t tidak sengaja memicu relai).

Semoga berhasil!

PS: Video di halaman Sainsmart tidak banyak membantu, satu-satunya hal yang berguna untuk diamati adalah bahwa dalam demo mereka memiliki relay bertenaga dari suplai 5V terpisah daripada menggunakan pin GPIO rV 5V. Menurut spesifikasi, dewan hanya akan menggunakan 160mA, yang jauh di bawah apa yang rPi dapat suplai. Jadi Anda baik-baik saja. Halaman Sainsmart juga memiliki "dokumen" Raspberry Pi yang ditautkan, tetapi halaman itu ( https://github.com/fixedd/RPi_Relay_Interface#readme ) memiliki penafian yang mengatakan bahwa instruksinya tidak diperlukan untuk modul Sainsmart, seperti (mengutip):

Catatan / Peringatan

Ini sebelumnya dinyatakan untuk modul relay SainSmart, tetapi kemudian ditunjukkan kepada saya bahwa board ini sebenarnya sudah memiliki logika ini.

Phil B.
sumber
Sama-sama. Masalahnya dengan elektronik adalah bahwa sebagian besar itu cukup sederhana, setelah Anda memahami prinsip-prinsip dasar. Saya hanya ingin memastikan Anda memiliki semua yang Anda butuhkan untuk memulai, dan tidak perlu belajar dengan menggoreng beberapa Pi :)
Phil B.
Memang, saya pasti akan berinvestasi dalam jumper yang tepat untuk menghindari korslet apa pun.
Nathan Osman
1
Tindak lanjut: instruksi Anda bekerja dengan sempurna dan saya bisa mendapatkan beberapa jumper wanita-ke-pria yang pas di terminal sekrup pada relay. Kabel yang tersisa sederhana dan saya akhirnya menulis paket Go untuk mengontrol pin GPIO pada Pi.
Nathan Osman
Dalam jawaban Anda, Anda menyatakan bahwa rPi dapat menghasilkan total maksimum 50mA, dan Anda melanjutkan bahwa papan relay menggunakan 160mA, yang jauh di bawah apa yang rPi dapat suplai . Ini sepertinya bertentangan dengan saya, mohon klarifikasi.
Codor
1
50mA adalah apa yang dapat disediakan pin GPIO. Pin 5V (juga pada header GPIO, tetapi secara tegas bukan pin GPIO melainkan passthrough dari sumber daya suplai) dapat menangani beban yang lebih besar, pasti lebih dari 160mA yang dibutuhkan oleh papan relay.
Phil B.
1

Jawaban singkatnya adalah: ya. Berdasarkan diagram kabel di atas ketika pin GPIO tinggi, kabel yang dimasukkan ke terminal sekrup berlabel 1 di sebelah relai akan terhubung. Sebaliknya ketika pin GPIO menjadi rendah, 2 kabel akan terputus melalui relay. Jika Anda mencoba menyalakan semua relay dari satu sumber, Anda dapat daisy rantai satu terminal sekrup dari masing-masing bank bernomor bersama dengan kawat jumper kecil dan menyediakan sumber tegangan tinggi hanya ke salah satu terminal sekrup jumper. Semua terminal sekrup terbuka lainnya kemudian dapat terhubung ke perangkat, lampu, atau apa pun yang Anda gunakan.

jsalassi
sumber