Shutdown Controller untuk Raspberry Pi di dalam mobil

14

Sebagai lanjutan dari pertanyaan saya sebelumnya saya mencoba membuat pengontrol shutdown untuk Raspberry Pi saya. Raspberry Pi perlu diaktifkan dari baterai, tetapi harus dimatikan setelah Pi mendeteksi bahwa kunci kontak telah dimatikan.

Pi akan mengambil umpan 3.3V dari jalur ACC (saya punya komponen lain yang akan mengambil 5V dari jalur ACC melalui 7805, jadi saya akan turun ke 3.3V menggunakan pembagi tegangan kecuali ada yang punya saran yang lebih baik - I ' Saya juga akan mengendarai uPD6708 yang membutuhkan 5V CMOS I / O, jadi harus turun dari 5V ke 3.3V pada 2 baris lainnya).

Perangkat lunak yang berjalan di RPi akan menetapkan salah satu pin GPIO tinggi, mungkin ketika RPi menutup pin GPIO semua akan rendah. Jadi Q1 harus menyalakan relay, menjaga daya RPi menyala selama kunci kontak menyala, atau pin GPIO tinggi.

Saya memiliki 3 kit sekering dengan tutup 1000uF dan beberapa jenis transformator / induktor, jadi saya juga dapat menggunakan salah satunya pada masing-masing baterai 12V dan jalur aksesori 12V.

Pengontrol yang dimatikan ini mengklaim hanya menggambar 50uA dalam keadaan siaga - jika saya menggunakan gerbang CMOS 4071 OR yang akan menjadi awal, tetapi dari apa yang saya baca, Anda akan membutuhkan lebih banyak arus dari gerbang OR untuk menjenuhkan transistor - adalah itu benar?

Mengingat bahwa saya perlu mengubah level 5 baris dari 3.3V ke 5V dan 2 dari 5V ke 3.3V selain persyaratan sub-sirkuit ini, siapa pun dapat merekomendasikan komponen / alternatif untuk OR1, Q1, RLY1 dan / atau ada modifikasi?

skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab

Inilah upaya saya untuk mengikuti saran @Connor Wolf.

  • R1 dan C3 harus dipilih untuk memungkinkan RPi dimatikan dengan benar
  • Saya telah menambahkan C1 karena saya membayangkan bahwa itu akan memakan waktu singkat sebelum relay beralih setelah kunci kontak dimatikan - Saya tidak tahu berapa lama itu, tapi saya kira RPi akan menarik sekitar 700mA dari kapasitor, selain 555 dan relay

skema

mensimulasikan rangkaian ini

@Nick menyarankan itu bisa lebih sederhana - seperti ini mungkin? Saya mencoba untuk menghapus dioda sehingga saya bisa menggunakan catu daya 12V-5V 1A USB (atau sepasang). Lembar data 555 mengatakan bahwa outputnya 3.3V (sumber 100mA maks? Halaman ini mengatakan 200mA). RPi akan membaca garis ACC pada 3.3V untuk menentukan kapan harus dimatikan.

skema

mensimulasikan rangkaian ini

Nicholas Albion
sumber
1
7805 Anda akan menjadi BENAR-BENAR PANAS saat sirkuit Anda ditarik. Dengan undian raspberry pi 700 mA, pada vDrop 7V (12v-5v) Anda, Anda akan menghilangkan 4,9 watt (7V * 0,7A) pada regulator. Anda benar - benar perlu melihat DC-DC untuk itu.
Connor Wolf
1
Juga, "kit sekering" Anda ditarik dengan cara yang salah. Saat ini, dioda hanya menyingkat input 12V, dan induktor tidak melakukan apa-apa. Saya akan menebak bahwa induktor dalam seri dengan saluran listrik, dan dioda adalah sebaliknya (yang akan membiarkannya mencegah reverse-biasing input).
Connor Wolf
2
Pembagi tegangan bukan cara yang baik untuk menyalakan sesuatu, karena beban bervariasi tegangan akan bervariasi. Cukup gunakan semacam pengatur, harganya murah & cukup banyak.
John U
@ConnorWolf Saya punya 7805CT yang diberi nilai 1A. ... Apakah itu hanya berlaku jika Anda turun dari 6V ke 5V? Ketika saya Google untuk konverter DC-DC banyak dari hasil pencarian menyebutkan 7805. Kecuali jika konverter DC-DC output 5.7VI pikir saya perlu beralih D2 dan D3 untuk dioda schottky dengan penurunan tegangan kurang dari 0,25V
Nicholas Albion
@NicholasAlbion - Saya tidak mengatakan itu tidak akan berfungsi, hanya saja Anda akan membutuhkan heatsink yang sangat besar, atau kipas / heatsink yang lebih kecil, agar tetap dingin.
Connor Wolf

Jawaban:

8

Saat menggunakan sirkuit pengatur waktu sekali pakai akan berfungsi, saya pikir solusi yang lebih mudah dapat digunakan. Lihatlah sirkuit ini.

masukkan deskripsi gambar di sini

Untuk klarifikasi, "VBAT" adalah sumber 12V yang selalu menyala selama baterai terhubung. Namun, "ACC" adalah sumber 12V yang hanya menyala ketika kunci kontak menyala atau kunci diatur ke "aksesori." Daripada menggunakan relay 5V hanya untuk mengontrol daya ke RPi, mengapa tidak menggunakan relay otomatis 12V standar seperti yang ditunjukkan. Dengan cara ini, tidak ada daya yang terbuang (kecuali untuk arus kumparan saat daya hidup) karena semuanya akan terputus dari baterai.

Satu sisi koil selalu terhubung ke 12V. Sisi yang berlawanan terhubung ke arde (sasis) melalui N-Channel FET (Q1). Sementara MOSFET digunakan dalam diagram, setiap FET yang mampu menenggelamkan arus koil dapat digunakan. Saat "ACC" dihidupkan, Q1 akan ON, menghubungkan koil ke ground dan menggerakkan saklar. Ini pada gilirannya akan memberi daya pada rangkaian regulasi 5V apa pun yang Anda rencanakan untuk digunakan (regulator 7805 sederhana dengan pendingin, konverter DC-DC switching, pasokan USB yang disebutkan, dll).

Diode D2 ada untuk memastikan kapasitor hanya dapat dilepaskan ke Q1 dan dapat menjadi biasa atau Shottky. Metode lain mungkin harus digunakan untuk tegangan berlebih dan perlindungan arus dari baterai.

Tegangan "ACC" dapat dimasukkan melalui pembagi tegangan untuk membuat sinyal 3.3V untuk RPi. Hati-hati dengan level tegangan ini, mengingat baterai 12V otomatis bisa lebih seperti 14V DC. Selama sinyal ini HI, RPi tahu bahwa daya menyala. Jelas, pin GPIO ini harus ditetapkan sebagai input dengan semua pullup internal dinonaktifkan. Ketika "ACC" dimatikan, RPi akan melihat sinyal LO pada pin dan mulai mematikannya.

Ketika tegangan "ACC" dimatikan, kapasitor C1 akan menahan muatan begitu lama, mengeluarkan melalui resistor R1. Setelah tegangan kapasitor turun di bawah ambang gerbang Q1, itu akan mati, memutuskan koil relay dari tanah dan melepaskan daya dari sirkuit periferal. Jika "level logika MOSFET" digunakan untuk Q1, itu akan tetap AKTIF sampai tegangan C1 cukup rendah. Saya menguji sirkuit ini menggunakan NTD4960 ( Datasheet ), dan tetap menyala sekitar 15 detik - sampai C1 sekitar 2V. Untuk menambah waktu, tambah nilai kapasitansi.

Kurt E. Clothier
sumber
Bagaimana cara memilih FET yang sesuai? Saya sudah memiliki relay 12V - 621D012 (270ohm -> 44mA) Katalog Jaycar online mendaftar sebagai berikut: 2N7000, PN100, VN10KM, IRF540N, IRF1405 dan banyak lagi
Nicholas Albion
1
Saya percaya 2N7000 akan menjadi pilihan yang baik, tetapi inilah yang Anda cari ... Jenis: N Channel FET (bukan NPN BJT); Forward Current (I_d): Setidaknya 100mA - (dua kali lipat dari 44mA); Gate Threshold Voltage (V_gs or V_gth): Tidak lebih dari 3V; Gerbang Kapasitansi: Tidak masalah, kami menempatkan lebih eksternal! Resistansi "ON" (R_ds): rendah baik, tetapi disipasi daya Anda akan rendah; Power Disipation (P_d): 44mA ^ 2 * R_ds << setidaknya dua kali lipat ini
Kurt E. Clothier
Bisakah ini toko dibeli? Saya mencoba melakukan hal yang sama dengan OP tetapi saya tidak tahu bagaimana cara membuat sirkuit sendiri. Apakah ada solusi yang dibeli toko untuk ini?
John Demetriou
2

Jujur, saya pikir Anda terlalu banyak memikirkan ini.

Secara pribadi, saya hanya menggunakan satu tembakan dengan periode satu atau dua menit, dipicu oleh mobil yang dimatikan.

Ketika Anda mematikan mobil, tembakan satu-shot, menahan relai tertutup sampai waktu habis. Yang perlu Anda lakukan adalah memastikan bahwa pi raspberry Anda mati dalam satu atau dua menit setelah mobil dimatikan. Ini seharusnya cukup mudah dengan memonitor input dari daya sakelar mobil.

Keuntungan terbesar untuk sistem seperti ini adalah bahwa ketika perangkat lunak Anda rusak (kapan, tidak jika), itu akan tetap mati, sehingga Anda tidak akan berakhir dengan baterai mati. Sekali suntikan harus sederhana. Anda bisa menggunakan 555, atau sedikit mikroprosesor (seperti yang disarankan Olin).
Hal lain yang menyenangkan adalah bahwa, jika Anda melakukan desain dengan benar, sistem dapat melepaskan diri dari aki mobil, memastikan penarikan arus diam benar-benar 0.

Connor Wolf
sumber
kedengarannya hebat - bagaimana ini dilakukan?
Nicholas Albion
Kedengarannya agak seperti sirkuit yang digunakan untuk menyalakan lampu korteks, setelah pintu mobil ditutup. Dari memori, kapasitor diisi ke 12V dan tahan pada FET atau serupa. Lepas daya, tutupnya perlahan habis - sampai FET dimatikan.
Alan Campbell
RPi menarik 5V pada sekitar 700mA dan saya pikir saya perlu sekitar 10 detik untuk mematikan. Menggunakan kapasitor adalah pemikiran pertama saya, tetapi itu akan melibatkan kapasitor senilai sekitar $ 100
Nicholas Albion
@ NicolasAlbion, tutup tidak akan digunakan untuk memberikan daya langsung ke Pi, tetapi tegangan gerbang ke FET (yang akan mengendalikan relay). Resistansi gerbang FET sangat tinggi, jadi Anda tidak perlu topi besar untuk bertahan selama 10 detik yang dibutuhkan.
Pentium100
0

Setiap metode penundaan tetap mengalami masalah karena tidak tahu berapa banyak waktu yang harus ditutup oleh RPi. Akan lebih baik untuk menekan tombol yang memberi sinyal Pi untuk dimatikan, kemudian bisa melakukan apa yang diperlukan untuk shutdown tertib yang bersih, membutuhkan waktu selama diperlukan, kemudian mengeluarkan sinyal GPIO kembali ke sirkuit tombol yang mematikan kekuasaan. Itu memberi RPi waktu sebanyak yang diperlukan untuk melakukan hal-hal seperti mematikan kartu SD dengan aman. Rangkaian tidak harus terlalu rumit. Anda dapat melihat sirkuit sederhana di

http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/on-off-power-controller

Situs web menggambarkan operasi sirkuit.

pengguna22047
sumber
Anda membuat poin yang bagus, meskipun saya tidak berpikir ada yang mau harus melalui proses seperti itu setiap kali mereka mematikan mobil mereka. Akan lebih masuk akal bagi RPi untuk merasakan shutdown dengan memonitor voltase jalur ACC (hanya pada saat mobil menyala), lalu matikan daya sendiri dari jalur 12V "selalu menyala" ketika siap untuk melakukannya - mengotomatisasi sistem.
Kurt E. Clothier
-2

Gunakan 4 baterai isi ulang AA. Beri daya pada Pi dari mereka dan minta baterai dari baterai mobil.

Gunakan 1 GPIO untuk memberi tahu Pi jika kunci kontak menyala atau mati.

Shutdown saat siap.

Erfaan56
sumber
3
Saya pikir jawaban ini perlu lebih detail agar bermanfaat. Mungkin memposting skematis atau deskripsi tentang bagaimana Anda pikir ini akan bekerja dan apa jenis pengisian sirkuit / perangkat / kontrol daya yang akan Anda usulkan.
PeterJ