Pernahkah Anda mengalami salah satu momen tersebut, ketika Anda mencari-cari di tumpukan suku cadang Anda, dan memiliki ide proyek yang agak aneh yang tidak bisa Anda singkirkan dari kepala? Anda tahu, orang-orang yang tidak memiliki penggunaan yang jelas, tetapi hanya menuntut untuk dilahirkan, dari kaca dan baja dan silikon?

Kali ini, ide keras kepala yang dipertanyakan adalah semacam pelampung LED yang dapat diisi ulang tetapi bukannya lampu yang berkedip, ia memiliki server Linux tertanam yang sepenuhnya dapat diakses oleh cloud dalam bentuk Raspberry Pi 3 Model B +. Pilihan Anda papan Linux tertanam harus bekerja – Saya kebetulan memiliki banyak ini karena kesalahan pengiriman.

Ada dua tantangan utama di sini: Pertama, itu harus menggabungkan kombinasi praktis terkecil dari panel surya, daya pasokan, dan baterai yang dapat menjalankan Raspberry Pi. Kedua, kita perlu sedikit mengaktifkan dan mengakses Pi di mana pun itu, serta dapat menghubungkannya ke WiFi tanpa akses fisik langsung. Dalam artikel ini kita akan berhadapan dengan masalah pertama – tetap ikuti untuk yang lainnya.

Suatu kali saya menyatukan sekelompok orang untuk membuat 'Dyson Lampshade', yang tentu saja Dyson Sphere dirender kurang besar, kurang bulat, dan lebih tidak masuk akal.

Menghirup Solar

Saya mendekati tantangan pertama dari sudut pandang bahwa Raspberry Pi tidak perlu terlalu sering. Sebuah ESP8266 (Wemos D1 Mini) yang menjalankan NodeMCU dapat menyediakan manajemen baterai, dan menerima perintah melalui MQTT untuk mengaktifkannya, sementara tetap berada dalam mode tidur nyenyak hampir sepanjang waktu. Ini mengkonsumsi daya yang sangat kecil, memungkinkan modul surya kecil 5 volt untuk meneteskan muatan baterai lithium yang cukup besar untuk memberi daya server selama beberapa jam waktu berjalan.

Modul surya layak disebutkan dengan cepat. Mereka adalah LR0GC02 (PDF) dari Sharp, yang dirancang untuk menetes mengisi berbagai elektronik bergerak. Tidak seperti banyak modul di luar sana, keduanya sangat ter-enkapsulasi dan sangat tipis (sekitar 1mm). Mereka juga datang dengan spesifikasi detail. Sebuah modul 300mW tunggal sudah cukup untuk proyek ini, tetapi saya menggunakan tiga secara paralel selama pengembangan untuk mempercepat berbagai tes. Modul tenaga surya kecil ini juga akan menjadi pilihan yang menarik.

Mengelola kekuatan dari modul-modul ini adalah di mana hal-hal menjadi sedikit berbulu. Kami memiliki sumber daya 4-5V pengisian sel lithium yang memiliki tegangan output nominal 3.7V. Kemudian kita memiliki modul ESP8266, yang berjalan pada 3.3V tetapi dapat menerima lebih tinggi melalui pengatur linear terintegrasi, selama Anda melihat tegangan putus. Akhirnya, kita memerlukan output 5V yang dapat dengan mudah diaktifkan untuk menyalakan Raspberry Pi. Juga akan menyenangkan untuk memiliki garis 12V untuk ekspansi masa depan.

Magnificence of Modern Module

Untungnya, semua suara terdengar lebih buruk daripada yang sebenarnya, dan ada beberapa modul yang sangat umum yang akan menyelesaikan masalah ini bagi kita: [19659011] Dari kiri ke kanan: Pengisi daya litium USB, konverter peningkatan DC-DC, dan konverter DC-DC buck. Harganya sekitar satu dolar AS masing-masing, yang merupakan nilai besar!

Tahap pertama adalah modul pengisian sel lithium USB. Ini menerima output ~ 5 V dari panel surya kita, dan akan dengan aman mengisi sel lithium. Output dari modul adalah apa pun tegangan baterai.

Berikutnya, saya menambahkan DC-DC boost converter set ke output 12V. Modul-modul ini lebih baik dari 90% efisien, menerima berbagai tegangan, dan akan menghasilkan tegangan tetap yang diatur oleh trimpot. Output 12V terhubung ke regulator linear pada ESP8266. Dengan cara ini, bahkan jika tegangan baterai turun di bawah sekitar 3.7V, itu akan terus berfungsi. Ini sangat penting karena ESP8266 memonitor baterai dan mengaktifkan dan menonaktifkan server. Jika kita menghubungkan regulator liniernya secara langsung ke output baterai, itu akan mati karena kehilangan daya sementara masih ada cukup banyak daya yang dapat digunakan dalam sistem. Kami kehilangan sedikit efisiensi di sini, tetapi ESP8266 tidak aktif sebagian besar waktu, jadi saya bisa mentolerir itu.

Output 12V kemudian dimasukkan ke DC-DC buck converter untuk menurunkan tegangan ke 5V untuk Raspberry Pi. Penting untuk menggunakan konverter uang dengan pin pengaktifan, sehingga kami dapat mengontrol status keluaran menggunakan ESP8266 nanti. Jika tidak, Anda harus menambahkan MOSFET atau serupa untuk mengontrol output daya.

Manajemen Baterai Bertanggung Jawab

Pada titik ini, kita memiliki semua tingkat tegangan yang kita butuhkan, dan mengisi sirkuit kontrol untuk mencegah baterai kita terlibat dalam pembakaran spontan tanpa direncanakan. Namun, ketika sel lithium dibuang terlalu jauh, mereka tidak dapat diisi ulang dengan aman lagi. Kita perlu memonitor baterai dan mencegahnya merender sendiri menjadi pemberat kertas yang tidak biasa.

Solusinya cukup mudah: ESP8266 memiliki konverter analog ke digital. Hanya dapat menerima hingga 3.3V, dan baterai kami dapat menyediakan lebih dari ini, jadi saya menggunakan beberapa resistor 100kΩ yang diatur sebagai pembagi tegangan untuk menjatuhkan tegangan – kami tidak benar-benar membutuhkan presisi tinggi di sini.

Untuk memulai program kontrol kami, saya mengatur timer untuk menjalankan ESP8266 selama 11 detik sebelum tidur selama 10 menit, ini adalah waktu yang cukup lama bagi chip untuk memeriksa perintah secara online. Kemudian, jika tegangan baterai di bawah 3,4 volt, akan segera tidur selama 16 menit.

 function checkvolt ()
x = adc.Baca (0)
cetak (x)
jika x <528 kemudian
print ("baterai rendah, tidur lebih lama")
node.dsleep (960000000)
akhir
akhir

checkvolt ()

berfungsi tidur ()
    node.dsleep (600000000)
akhir

tmr.alarm (0,11000,0, tidur)

Beberapa perhitungan kasar menunjukkan bahwa modul akan mengkonsumsi rata-rata sekitar 1,5 mA secara normal, dan sekitar 0,2mA jika baterai rendah. Kenyataannya akan ada arus yang dikonsumsi oleh semua bagian bahkan ketika sistem tidur. Saya diberitahu bahwa matahari bersinar setidaknya satu kali setiap bulan atau lebih (saya akan memeriksanya di beberapa titik), dan baterai tidak akan mengalami kesulitan mempertahankan muatan. Dalam hal apapun, jika asumsi sebelumnya salah, saya memiliki masalah yang lebih besar untuk ditangani.

Mengatur Regulator Tegangan

Akhirnya, kita harus dapat mengontrol output 5V dari regulator tegangan terakhir. Ketika saya membeli modul yang memiliki pin ‘enable’ tersedia, tidak ada dokumentasi bagaimana cara kerjanya, dan chip yang digunakan dalam modul saya tidak jelas. Melihat lembar data untuk beberapa IC dari konverter DC-DC yang berbeda, sepertinya itu mungkin pin aktif-tinggi aktif yang ditarik dengan resistor pada modul.

Saya mencoba menariknya kembali dengan resistor 50kΩ , dan output tegangan turun ke nol. Memasok 3,3 volt dari salah satu pin GPIO dari ESP8266 memicu pin aktif, dan output 5V lagi.

Saya sedikit menghabiskan baterai, lalu membiarkannya berjalan di bawah sinar matahari selama satu jam - itu diisi ulang sedikit seperti yang diharapkan , mendorong tawa gila yang diperlukan. Tahapan daya ... lengkap!

Di mana Linux?

Kecil, bertenaga matahari, tetapi selain bersantai di bawah sinar matahari, itu belum benar-benar melakukan apa pun. Kebanyakan perangkat keras komputer membutuhkan perangkat lunak dan jelas ini tidak terkecuali - jadi bagaimana kita menjadikan ini menjadi mesin Linux yang ramping dan hijau?

Di artikel berikutnya, kita akan membahas cara mengontrol sistem ini melalui MQTT, mengatur remote konfigurasi (misalnya jika saya perlu mengubah kata sandi WiFi saya), dan mengatur terowongan reverse-SSH sehingga kami dapat terhubung ke Raspberry Pi tanpa harus mengkonfigurasi ulang jaringan kami untuk mengakomodasi itu.

Ironi bahwa server saya sekarang mendapatkan lebih banyak sinar matahari daripada saya tidak hilang pada saya. Saya tinggal di dekat khatulistiwa meskipun, dan berjemur untuk waktu yang lama adalah kegiatan yang disediakan untuk wisatawan - salah satu yang biasanya mereka pelajari untuk menghindari cukup cepat!

Leave a Reply

Your email address will not be published. Required fields are marked *