Sirkuit solenoida yang dioperasikan MOSFET saya menghancurkan input Arduino saya

14

Saya membuat serangkaian PCB untuk memberi daya pada beberapa katup solenoida yang menggunakan catu daya eksternal. Saya menukar mereka dengan BS170 MOSFET menggunakan Arduino sebagai sinyal gerbang. Aku berdasarkan itu solusi dengan Jason S .

Ini adalah ilustrasi seperti apa sirkuit saya: MOSFET mengoperasikan rangkaian katup

Pada pengujian PCB, saya perhatikan bahwa sebagian besar dari mereka berfungsi dengan baik, tetapi beberapa dari mereka tidak. Tidak masalah, mungkin benda solder.

Namun, yang salah itu berhasil menghancurkan dua pin digital Arduino! Pada satu, saya mendapatkan tegangan konstan 5 V, dan yang lainnya menghasilkan 0,2 V ketika saya mengirim sinyal TINGGI ke sana, dan 0,5 V ketika saya mengirim sinyal RENDAH. Hal-hal aneh.

Jadi saya kira sirkuit yang salah entah bagaimana menyebabkan (sebagian) 16 V mengalir melalui Arduino, menghancurkan mereka.

Bagaimana cara melindungi Arduino dalam skenario ini dari arus terlalu tinggi?

Saya tahu tentang dioda zener , tapi saya tidak tahu bagaimana menempatkannya untuk melindungi input.

Informasi teknis:

Dyte
sumber
Perangkat lunak apa yang Anda gunakan untuk membuat gambar itu? Terlihat sangat bagus!
mjh2007
3
Mengecewakan. Gratis dan sangat berguna untuk hal-hal semacam ini, juga untuk desain PCB :)
Dyte
Gate-source zener diode katakanlah 12V (> Vgate_drive) adalah ide yang sangat bagus di semua sirkuit dengan beban induktif. Pasang zener dekat dengan MOSFET. Anoda ke sumber dan Katoda ke gerbang sehingga zener biasanya tidak melakukan. || Jauh jauh lebih baik MOSFET di 26c / 10 Digikey misalnya IRLML6346 SOT23. Atau NDT3055 48c / 10 TO251 bertimbal, atau RFD14N05 71c / 10 TO220.
Russell McMahon
...When MOSFETs fail they often go short-circuit drain to gate...Dikutip dari sini .
abdullah kahraman
Menerapkan 16V dapat membunuh port Arduino Anda.
abdullah kahraman

Jawaban:

7

Secara teori, sirkuit ini baik-baik saja.
Diperlukan peningkatan dalam praktik.

Menambahkan dioda zener sumber gerbang dari katakanlah 12V (> Vgate_drive) adalah ide yang sangat bagus di semua sirkuit dengan beban induktif. Hal ini menghentikan gerbang yang didorong tinggi secara destruktif oleh kopling "kapasitansi Miller" ke saluran pembuangan selama variasi tegangan drainase yang tidak terduga atau ekstrim.

Pasang zener dekat ke MOSFET.
Hubungkan Anode ke sumber dan Katoda ke gerbang sehingga zener biasanya tidak melakukan.

Resistor penggerak gerbang 10k (seperti yang ditunjukkan) besar dan akan menyebabkan pematian yang lambat dan aktif serta lebih banyak disipasi daya di MOSFET. Ini mungkin bukan masalah di sini.

MOSFET yang dipilih sangat kecil dalam aplikasi ini.
Jauh lebih baik lagi MOSFET yang tersedia ex stock di Digikey termasuk:

Untuk 26c / 10 Digikey IRLML6346 SOT23 pkg, 30V, 3.4A, 0,06 Ohm, Vgsth = 1.1V = ambang gerbang ambang tegangan ..

NDT3055 48c / 10 TO251 bertimbal 60V, 12A, 0,1 Ohm, Vgsth = 2V

RFD14N05 71c / 10 TO220 50V, 14A, 0,1 Ohm, 2V Vgsth.


TAMBAH

MOSFET YANG COCOK UNTUK 3V GATE DRIVE:

Sistem hanya menghancurkan jawaban saya yang lebih panjang :-(. Jadi - MOSFET HARUS memiliki Vth (ambang tegangan) tidak lebih dari 2V untuk bekerja dengan baik dengan pengontrol pasokan 3V3.
Tidak ada FET yang disarankan memenuhi persyaratan ini.
Mereka dapat bekerja setelah mode pada mode beban saat ini tetapi kurang kuat dan sangat lossy dan solusinya tidak meluas ke beban yang lebih besar.
Tampaknya IRF MENDAPAT dalam rentang ukuran yang bersangkutan yang memiliki Vth (dari Vgsth) <= 2 volt SEMUA memiliki kode numerik 4 digit dimulai dengan 7 kecuali IRF3708 .

OK FET termasuk IRFxxxx di mana xxxx = 3708 6607 7201 6321 7326 7342 7353 7403 7406 7416 7455 7463 7468 7470

Akan ada yang lain tetapi semua yang disarankan tampaknya memiliki Vth = 4V atau 5V dan marjinal atau lebih buruk dalam aplikasi ini.

Vgsth atau Vth harus setidaknya satu Volt lebih sedikit dan idealnya beberapa volt kurang dari tegangan drive gerbang yang sebenarnya.

Russell McMahon
sumber
Ya, saya akan mencari cara yang aman dan saya akan menggunakan MOSFET lain. Itu dan dioda zener mungkin harus melakukan trik. Di toko elektronik dekat dengan tempat saya tinggal mereka tidak memiliki MOSFET yang Anda usulkan, tetapi mereka memiliki: IRF520, IRF530, IRL530, IRF540, IRF540, IIRF730, IRF740, IRF830, IRF840, IRF9140, IRF9530, IRF9540, IRF9540, IRF9540, IRF9510, IRF9510, IRF956, IRF956, IRFDD110, IRFD9120, IRFP50, IRFP054, IRFP140, IRFP150, IRFP450, IRFP520, IRFP9140, IRFZ44, IRFZ46. Saya kira saya bisa menggunakan IRF520 misalnya? tiriskan terus menerus saat ini adalah 6,5 hingga 9,2. Min Vgs adalah 2V dan maks adalah 4V, apakah itu baik-baik saja untuk Arduino?
Dyte
IRF520 baik untuk Arduino untuk dikendarai. Min Vgs dan "maks Vgs" tidak sesuai dengan yang Anda pikirkan, itulah tegangan "treshold", tempat MOSFET mulai melakukan. Vgs maksimum jauh lebih tinggi (di atas 5v, Arduino akan menampilkan). Melebihi peringkat yang lebih tinggi (20V?) Dan Anda akan merusak FET.
Bryan Boettcher
Ia bekerja menggunakan IRF520 MOSFET dan diode 5.1 V zener, dan mungkin akan terus bekerja saat ini :) Terima kasih banyak telah membantu saya. Semua jawaban membantu saya, tetapi Anda menguraikan dioda zener dan jenis MOSFET tertentu, jadi saya menerima jawaban Anda sebagai jawaban.
Dyte
@Russell McMahon: Tegangan output arduino saya adalah (sedikit kurang dari) 5V, bukan 3V3. Bukankah itu mengubah situasi?
Dyte
10

Katup Anda memiliki nilai 500mA pada 12V. Jika Anda memasok 16V itu akan menarik agak lebih dari 500mA. Dengan asumsi itu adalah perlawanan, itu akan menarik 667mA.

Arus maksimum absolut untuk MOSFET yang Anda gunakan adalah kontinu 500mA. Apa pun di atas peringkat maksimum absolut dapat menghancurkan perangkat. Ini mungkin mengapa Anda melihat masalah keandalan.

Tidak ada mode kegagalan dijamin untuk MOSFET, jadi saya tidak terkejut bahwa itu akan gagal sedemikian rupa untuk merusak output Arduino.

Seperti yang disebutkan Jason dalam jawaban terkait, BS170 adalah pilihan yang buruk dari MOSFET. Anda membutuhkan yang lebih baik. Pilih satu dalam kasing TO-220 yang memiliki peringkat pada beberapa amp. Anda juga perlu memastikan Vgs diberi peringkat untuk drive tingkat logika 5V.

Dioda mana yang Anda gunakan?

markrages
sumber
Hai Mark, dioda yang saya gunakan adalah 1N4001: fairchildsemi.com/ds/BS/BS170.pdf
Dyte
5

Katup Anda memiliki nilai ~ 500 mA. BS170 juga dinilai untuk 500 mA, tetapi itu adalah angka penjualan-nada. Saya akan menggunakan FET (jauh) berperingkat lebih tinggi di sini, 500mA melalui TO92 membuat saya gugup. Dan Anda memiliki resistor gerbang 1k, yang merupakan ide bagus dalam kebanyakan kasus, tetapi itu mungkin menyebabkan FET yang buruk untuk beralih terlalu lambat untuk bertahan hidup 0,5A.

Dioda apa yang Anda gunakan? Itu harus dinilai untuk 0.5A, jadi 1n4148 tidak akan melakukannya. Saya tidak yakin, tapi itu mungkin benar-benar mendapatkan lebih dari 0,5 karena bagian yang bergerak dari nilai mungkin menyebabkan lonjakan yang lebih besar daripada kumparan biasa.

Dalam gambar Anda, Anda memiliki nilai arus balik yang mengalir melewati koneksi ground Arduino. Saya akan mengubahnya menjadi bintang: sambungkan arduino ground ke langsung ke catu daya. Atau jauh lebih baik: gunakan optocouple untuk mengisolasi sirkuit arus tinggi dari Arduino (dan gunakan dua catu daya terpisah).

Wouter van Ooijen
sumber
Dioda yang saya gunakan adalah 1N4001. diodes.com/datasheets/ds28002.pdf Saya tidak memikirkan coupler opto. Itu skenario yang baik untuk diselidiki :)
Dyte
5

Anda harus memiliki resistor sumber gerbang di MOSFET Anda sehingga gerbang tidak dapat mengambang jika output Arduino adalah impedansi tinggi. Karena catu daya solenoida dan catu daya Arduino terpisah, skenario ini dapat terjadi (kecuali jika Anda menjamin dengan desain bahwa Arduino selalu di posisi pertama.)

Apakah MOSFET sebenarnya jauh dari solenoid? Jika demikian, itu harus dipindahkan lebih dekat. Pindahkan sehingga saluran langsung menghubungkan ke strip protoboard di mana kabel merah pergi ke solenoid dan dioda. Kemudian buat koneksi sumber pendek ke strip GND. Lebih baik memiliki loop sinyal gerbang yang lebih panjang (pada daya rendah) vs loop panjang yang membawa daya. Anda bisa memindahkan Arduino lebih dekat ke solenoid juga, menjaga semua loop pendek.

Adam Lawrence
sumber
Dengan resistor gerbang-sumber, maksud Anda resistor antara gerbang dan sumber MOSFET? Maaf jika ini pertanyaan bodoh :). Nilai apa yang Anda sarankan? Tentang jarak, tidak, semua komponen dekat satu sama lain, saya memiliki rangkaian ini disolder pada PCB terukir sendiri. Hanya kabel ke Arduino yang lebih panjang. Saya harus mengatakan, saya tidak tahu bahwa ini membuat perbedaan. Saya pikir perbedaan waktu yang ditempuh oleh arus beberapa cm lebih jauh dapat diabaikan.
Dyte
@ Dte Ya, sebuah resistor antara gerbang dan sumber.
Adam Lawrence
@Dyte, saya membayangkan resistor 10k gerbang-sumber akan baik-baik saja. Tujuannya hanya untuk memastikan bahwa gerbang MOSFET tidak mengambang. Anda menginginkan sesuatu yang cukup rendah yang dapat "menang" terhadap elemen-elemen rangkaian parasit, tetapi cukup tinggi sehingga keluaran Arduino dapat "menang" ketika perlu mengaktifkan MOSFET.
ajs410
3

Sirkuit seperti yang diilustrasikan terlihat baik, asalkan satu-satunya koneksi ground antara papan Arduino dan terminal negatif dari pasokan +16 adalah kabel biru pendek. Di sisi lain, mungkin saja celana pendek yang tidak disengaja dapat menyebabkan hal-hal buruk terjadi. Sulit untuk menebak dengan tepat apa yang mungkin terjadi tanpa melihat bagaimana papan bermasalah yang sebenarnya diletakkan.

Jika Anda mendorong spesifikasi MOSFET Anda, itu bisa dengan mudah gagal dengan cara mengirim +16 keluar gerbang, tetapi jika resistor seperti yang diilustrasikan, saya berharap Arduino harus dilindungi dengan cukup baik.

supercat
sumber
1

Pertama-tama, Anda perlu dioda perpindahan cepat bukan dioda 2n4001-4 murah ini, ketika menggunakan motor atau kumparan. Semakin cepat switching, semakin besar BEMF dibuat. Juga gunakan 914 switching diode ke gerbang MOSFET dari Arduino, dan 10K tarik / turun resister dari gerbang ke tanah.

Tommey Reed
sumber