Bagaimana cara menggunakan relay 5V dengan arduino pro mini 3.3V?

12

Saya menggunakan pasangan mini arduino pro (3.3V) untuk proyek otomatisasi rumah dan ingin menambahkan relay ke desain PCB akhir untuk menghidupkan dan mematikan beberapa hal.

Karena saya ingin menggunakan relay 5V seperti ini: HF 46F 5V, Miniatur HF power relay, 5 V, 1 NO 5 A

Saya bertanya-tanya bagaimana saya bisa mengganti relay ini dengan Arduino, karena mini pro hanya memiliki output 3.3V pada pin? Arduino digerakkan oleh Baterai Li-Ion 3.7V.

Pertanyaan lain adalah bagaimana cara menggunakan relay dengan aman dengan voltase tinggi? (Terlepas dari jejak-lebar dan jejak jarak antara bagian tegangan tinggi dan rendah pada pcb) Terima kasih sebelumnya!

Henry
sumber
1
Mengapa tidak memilih relai tegangan rendah? Ada versi 3V dari model yang Anda tautkan. Anda mungkin menemukan bahwa 3.7V cukup untuk menutup kontak pada beberapa relay tegangan yang lebih tinggi; itu akan mengatakan di datasheet. Tegangan 'pick-up' minimum untuk relay yang terhubung adalah 3.75V, jadi itu tidak akan berfungsi. Saya tidak punya pengalaman undervolting relay jangka panjang, jadi saya tidak bisa mengatakan dengan pasti bahwa Anda harus mengandalkan teknik itu.
CharlieHanson
Jalankan relay dari PSU tegangan tinggi yang memberi makan Arduino dan lepaskan beban dari regulator 3,3 V. Anda sedang mencari saklar MOSFET atau transistor. Ada ribuan posting di situs SE ini mengenai hal ini.
Transistor
1
@CharlieHanson tidak mungkin controller dapat sumber / tenggelam cukup saat ini untuk langsung menggerakkan relay seperti ini, bahkan jika tegangan kumparan cocok. Anda akan selalu membutuhkan semacam tahap penyangga.
jippie
@ Jippie saya tidak mengatakan controller bisa. Karena ini adalah komentar dan bukan jawaban, saya tidak melihat perlunya lilin liris tentang masalah saat ini.
CharlieHanson
Mengapa baterai ini diberdayakan dan tidak menggunakan catu daya yang berasal dari pasokan beban? Bahkan jika Anda ingin baterai MCU ditenagai untuk keperluan cadangan, jalankan elemen switching Anda (relay, dll) dari pasokan yang berasal dari pasokan beban - tidak ada banyak manfaat untuk mengklik relay jika tidak ada daya listrik untuk menjalankan beban, dan daya tahan baterai Anda akan jauh lebih baik jika Anda tidak mematikan koil relay.
Chris Stratton

Jawaban:

10

Ada banyak sekali cara untuk menghubungkan perangkat 5V ke pin output 3.3V.

// diedit Jawaban asli / diterima dapat ditemukan di bawah. Bagian yang diedit ini harus merupakan versi perbaikan dari yang asli.

Harap diingat bahwa jawaban ini adalah untuk mengarahkan relay, jika Anda akan mengganti 20VDC pada ~ 3A, MOSFET akan menjadi solusi yang lebih baik / lebih murah, karena Anda tidak memerlukan relay.

Pin output tidak boleh digunakan untuk menggerakkan apa pun. Sinyal keluaran adalah sinyal kontrol arus rendah. Agak diterima untuk menggerakkan LED langsung dari pin keluaran (jika menggunakan resistor pembatas arus yang cukup tinggi), tetapi hal itu dapat menimbulkan masalah, karena arus total pada beberapa pin juga dapat dibatasi oleh perangkat keras. Untuk komunikasi, kadang-kadang bekerja menggunakan 3.3V karena dapat didaftarkan sebagai logis tinggi, tetapi Anda lebih baik tidak mengandalkannya, untuk aplikasi serius apa pun.

Anda dapat memilih relai yang dapat bekerja dengan tegangan rendah / arus rendah. Taruhan terbaik Anda adalah "solid state relay", karena ini tidak memerlukan koil untuk diberi energi dan dapat bekerja pada tegangan / arus rendah. Periksa spesifikasi untuk menemukan yang sesuai dengan kebutuhan Anda.

Biasanya, Anda akan menyalakan perangkat 3.3V dari sesuatu seperti 5V USB atau 9V plug. Sumber-sumber ini seringkali dapat memberikan daya yang dibutuhkan untuk memberi energi pada koil relay Anda. Anda harus membuat sinyal kontrol papan Anda dan mengganti "daya input" di atas koil relay Anda. (TODO tambahkan diagram, saya saat ini tidak dapat, beri saya 12jam)

Pikiran bahwa beberapa breakout relay sudah memiliki sirkuit untuk ini. Dan voltase input Anda seharusnya tidak lebih tinggi / lebih rendah dari nilai kumparan. Sumber Anda harus dapat memasok arus yang cukup untuk relai.

Gelung mungkin "tiba-tiba" mengambil banyak arus, Anda mungkin melihat bahwa tegangan pada papan Anda turun, atau bahwa reset. Seringkali, catu daya tidak "cukup responsif". Anda dapat memperbaikinya dengan menambahkan kapasitor untuk "menyangga" daya, sehingga dapat dilepaskan pada saat kumparan perlu diberi energi, dan itu tidak akan mengambil daya dari sisa papan.

// akhir edit

  1. Hubungkan saja. (Jalan yang salah)**

Ini mungkin bekerja dalam beberapa skenario, tetapi tidak pada skenario ini. Relai akan menarik terlalu banyak arus. Untuk menghubungkan koneksi data rendah saat ini, itu sebenarnya dapat bekerja karena 3.3V mungkin dilihat sebagai logika TINGGI.

2. Cara Arduino.

Beli TTL Logic Level Shifter - https://www.sparkfun.com/products/12009

Papan kecil ini akan mengubah output 5V, ketika diberikan 3.3V pada sinyal masuk. Satu-satunya masalah, bagaimanapun, adalah bahwa Anda akan membutuhkan 5V pada input papan.

3. Cara Elektronik.

Anda dapat dengan mudah menggunakan transistor atau MOSFET untuk mengganti arus (lebih tinggi) lainnya. Ini tidak jauh berbeda dari opsi 2, tetapi lebih rumit, tetapi lebih murah.

4. Cara lain, seperti bos.

Cari Stack-Exchange / Google untuk orang-orang dengan masalah yang sama. Saya telah menemukan bahwa Anda benar-benar dapat meningkatkan 3.3V ke 5V, sehingga Anda tidak memerlukan pasokan 5V. https://www.circuitsathome.com/dc-dc/33v-to-5v-dc-dc-converter

5. Penanganan masalah

Dapatkan relai yang berfungsi pada tegangan baterai Anda dan dapat dipicu dari 3.3V. Anda dapat mempertimbangkan sesuatu seperti ini: http://www.ebay.com/itm/5PCS-3V-3-3V-Relay-High-Level-Driver-Module-optocouple-Relay-Module-for-Arduino-/331413255692

Ini memiliki optocoupler, untuk mengisolasi Arduino dari relay aktual. Mungkin lebih baik untuk mendapatkan yang benar-benar berfungsi pada rentang tegangan baterai Anda. Sehingga Anda dapat menghubungkannya ke baterai (dan pin sinyal ke Arduino). Jadi kumparan tidak diaktifkan secara langsung oleh Arduino, yang akan menarik terlalu banyak arus.

6. Menggunakan persediaan 5V

Anda dapat membalikkan keadaan jika Anda benar-benar menginginkannya. Anda mungkin ingin menggunakan USB-Powerbank (atau sirkuit buatan sendiri / disediakan) untuk menyalakan pro mini Anda, pro mini akan dapat mengambil 5V secara langsung. ( Https://www.arduino.cc/en/ Utama / ArduinoBoardProMini )

Anda sekarang dapat menggunakan 5V untuk memberi daya relai menggunakan opsi 2, 3 atau 5.

Paul
sumber
@ jippie Anda benar, segera diedit ketika saya melihatnya.
Paul
Terima kasih! Saya pikir akan lebih baik menggunakan relay 3V, dalam hal ini saya tidak memerlukan regulator tegangan (yang membutuhkan banyak ruang yang tidak saya miliki). <br/> Saya akan menggunakan Songle SRD- Cina yang murah 03VDC-SL-C (saya hanya akan menggunakan ini untuk tegangan di bawah 20V DC) Untuk menggerakkan relay Songle dengan aman, saya memerlukan transistor dan dioda (perbaiki saya jika saya salah). Saya akan menggunakan NPN 2N2222 dan 1N4007 jika tidak apa-apa. Begini cara skema saya mencari (D5 adalah Digital arduino pin 5; GND.2 adalah GND dari arduino): link
Henry
@ Henry Saya tidak tahu banyak tentang Elektronik / skema, tapi itu tidak akan berhasil. Anda harus meletakkan baterai secara seri dengan koil, dan menggunakan transistor sebagai "saklar". Sehingga Arduino dapat mengaktifkan transistor, dan membiarkan arus baterai lebih tinggi ke pengangkatan yang berat. Saya bisa memeriksa apakah saya bisa membuat skematis, tetapi besok.
Paul
ya saya sadar saya mencampur sesuatu di sana: D saya googled sedikit dan berakhir dengan kabel baru ini: tautan Apakah benar? Terima kasih sebelumnya!
Henry
@ Henry, saya memikirkan sesuatu seperti ini kabel.com/geekdad/wp-content/uploads/2012/09/relay_driver.jpg hanya google: "transistor drive relay circuit" Anda bukan orang pertama yang melakukan ini, jadi tidak perlu menemukan kembali roda (dalam hal ini) :)
Paul
2

Sirkuit ini dapat memecahkan masalah Anda. Saya harap ini bekerja untuk suplai 3,3 V dan relay 5V juga. Untuk menjelaskan alasannya, kutip dari laman tertaut:

"Sirkuit ini memungkinkan relai 12v untuk beroperasi pada suplai 6v atau 9v. Kebanyakan relai 12v membutuhkan sekitar 12v untuk" menarik "tetapi akan" bertahan "sekitar 6v. 220u mengisi melalui 2k2 dan dioda bawah. Ketika sebuah input di atas 1.5v diterapkan pada input rangkaian, kedua transistor dinyalakan dan 5v melintasi elektrolitik menyebabkan ujung negatif elektro pergi di bawah rel 0v sekitar 4,5v dan ini menempatkan sekitar 10v melintasi relai. "

masukkan deskripsi gambar di sini

Abu Bakar
sumber
Dari mana datangnya 5V?
CharlieHanson
Saya melewatkan titik bahwa tidak ada persediaan lain yang tersedia. Memperbarui sirkuit. Terima kasih telah menyampaikannya kepada saya.
Abu Bakar
0

Temukan relai yang memiliki koil untuk 3.3volts, atau. . .

Anda harus mendapatkan (atau membuat) pasokan 5 volt.

Jika Anda mencari "step up breakout" Anda akan menemukan produk yang dapat meningkatkan 3.3V hingga 5 volt. Perangkat seperti ini akan menelan biaya beberapa dolar.

Atau, Jika Anda mengendarai sirkuit AC, Anda bisa menggunakan sirkuit driver TRIAC langsung dari 3,3 volt.

SSR (solid state relay) juga dapat dipertimbangkan.

EDIT: berdasarkan komentar, saya baru sadar Anda akan memerlukan transistor (MOSFET) untuk menggerakkan koil relay.

Marla
sumber
Suntingan Anda membatalkan seluruh sisa jawaban. Setelah Anda memiliki transistor (sebenarnya, bipolar lebih baik daripada FET) tegangan MCU sedikit matte setidaknya dalam kisaran 3.3V dan ke atas.
Chris Stratton