Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Smart Blinds: Kontrol Cahaya Otomatis dengan Arduino & Energi Surya

Komponen dan Perlengkapan

KomponenJumlah
SparkFun Arduino Pro Mini 328 - 5V/16MHz1
Arduino UNO1
Sensor Suhu1
Transistor PNP PN2907A1
LDR (Resistor Terbuka Cahaya)1
Resistor 10k ohm1
Resistor 1k ohm1
Panel Surya1
DC-DC Booster1
Konektor JST1
Tempat Baterai 4xAA1
Servo (Tower Pro MG996R)1
Baterai Lithium 3.6V Rechargeable1
Coupling Motor Servo1
Kapasitor 100 nF1
PCB Custom OSH Park1
Kabel Jumper Beragam1

Alat yang Diperlukan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Halo! Proyek ini membahas perbaikan yang dibuat pada proyek asli saya, yaitu Jendela Vertikal Otomatis Tenaga Surya. Desain asli yang diposting memenuhi kebutuhan saat itu. Sistem beroperasi dengan baik selama hampir 4 bulan sebelum beberapa kekurangan desain menjadi terlihat.

Untuk meringkas, tujuan jendela vertikal adalah untuk membuka dan menutup berdasarkan tingkat cahaya, baik untuk memasuki cahaya atau menutup untuk privasi. Selain itu, jendela vertikal harus menutup ketika terlalu "panas," yang merupakan penentuan yang sepenuhnya subjektif.

Saya mengimpor proyek ini dari tempat lain, dan bagian alat/perlengkapan di sini tidak memberikan opsi yang saya inginkan, jadi Anda harus menerima daftar item seperti itulah, alih-alih dalam format Hackster.io yang rapi. Maaf.

Desain Baru Melakukan Hal Berikut:

Alasan untuk persyaratan desain ini adalah jendela yang dirancang untuk ini adalah jendela lantai 2 di atas pintu depan rumah. Jendela ini menghadap Selatan (benar-benar SSE), yang berarti ada banyak sinar matahari (dan potensi kehangatan) di musim panas dengan jendela vertikal terbuka, tetapi potensi terlalu panas di musim panas.

Seperti yang dinyatakan, jendela vertikal bekerja sempurna selama sekitar 4 bulan (pasang Januari, mereka kembali turun sekitar Juni). Kekurangan yang ditemukan adalah:

Jadi mari kita mulai!

Langkah 1: Daftar Komponen

Saya memilih untuk menggunakan Arduino untuk proyek ini. Itu apa yang saya tahu. Anda dapat menggunakan mikrokontroler lain, apa saja yang sesuai dengan Anda. Anda akan melihat saya membeli banyak dari SparkFun - mereka lokal bagi saya. Yang hebatnya adalah saya dapat melakukan pemesanan di pagi hari dan kemudian mengambilnya sore hari itu juga.

Tautan lain yang Anda lihat berasal dari banggood.com - mereka memiliki banyak komponen murah, dan berbagai macam bagian elektronika. Jika Anda nyaman menunggu hingga satu bulan atau lebih untuk komponen Anda, Anda dapat mendapatkan barang murah. Dan dari taydaelectronics.com. Jika Anda dapat membeli beberapa barang sekaligus, harga sangat BAIK. Pengiriman cukup wajar. Jadi beberapa komponen yang Anda lihat dalam daftar saya sebenarnya saya pesan 5, 10, atau 20 item untuk mencapai minimum pemesanan. Siapa tahu, mungkin saya akan membangun beberapa ini.

Langkah 2: Alat

Item yang berguna untuk dimiliki:

Langkah 3: Buat Prototipe Proyek

OK. Jadi sekarang setelah Anda memiliki semua komponen dan area kerja, saatnya untuk mencampur semuanya dan melihat apa yang terjadi.

Dalam proyek asli, hal pertama yang saya lakukan adalah menghubungkan dua baterai AA ke DC-DC booster 5V dan memverifikasi bahwa saya mendapat output 5V. Kali ini, saya melakukan hal yang sama, hanya dengan baterai aktual, baterai lithium rechargeable 3.6V. Saat penuh diisi, ia berada pada 4.1-4.2V. Menurut multimeter saya, saya mendapat 5.04V dari booster. Cukup baik.

Langkah berikutnya yang saya ambil adalah meletakkan semua komponen pada papan roti tanpa solder, untuk menulis kode untuk mengontrolnya, serta mengambil pengukuran arus dan tegangan.

Saat membuat prototipe, Anda tidak memerlukan panel surya dan modul pengisian baterai lithium terhubung. Instruksi ada di sini untuk perakitan lengkap. Dari titik ini ke depan, semua komponen kecuali modul pengisian telah dipasang untuk semua pengukuran.

Sebelum menambahkan transistor dalam langkah 13-16, urutan berikut terjadi:

Apa yang terjadi di sini!? Cukup dengan menghubungkan servo, kita telah menambahkan 14 mA arus idle ke sistem. Bagaimana kita dapat mengatasi ini? Sahabat kita yang baik, transistor. Pembelian kit Arduino asli saya berisi beberapa transistor NPN. Setelah membaca tentang mereka (terima kasih SparkFun!), saya memutuskan untuk mencoba konfigurasi Low Side Switch. Namun, ini tidak bekerja. Saya *masih* memiliki arus idle yang jauh lebih besar dari yang diharapkan. Saya mengukur tegangan di pin Emitter, Base, dan Collector, dan menemukan bahwa pin Base memiliki tegangan ketika saya tidak mengharapkan ada. Saya tidak 100% yakin apa yang terjadi, selain mungkin sirkuit internal servo menemukan jalur ke ground melalui pin PWM yang digunakan untuk mengontrol posisi motor? Jika ada yang punya ide, saya mendengarkan dengan baik.

Jadi cobalah transistor PNP dalam konfigurasi High Side Switch.

Sukses! Sekarang, ketika servo tidak bergerak, sepertinya tidak ada servo yang terpasang. Oleh karena penggunaan transistor dalam langkah 13-16.

Langkah 4: Pemrograman

Tentu saja, setelah Anda melakukannya, Anda harus memprogram Pro Mini untuk mengujinya. Anda AKAN mengujinya terlebih dahulu, bukan? Saya mencoba menggunakan kabel TTL ke USB SparkFun, tetapi tidak bisa membuatnya bekerja. Mungkin saya punya kabel yang salah? Jadi saya memutuskan untuk melihat apakah dapat dilakukan tanpa.

Nah, hanya di situs ini saja, ada beberapa instruksi untuk memprogram Arduino Pro Mini menggunakan Arduino Uno. Ini cukup sederhana. Bagi saya, bagian yang paling menakutkan adalah mengeluarkan IC dari Uno (ini perlu dilakukan karena Anda tidak dapat memprogram Uno sebagai Pro Mini):

Saya membuat dua set kabel dan menghubungkannya ke papan roti. Saya melekatkan kedua ujung kabel jumper bersama-sama sehingga saya tidak perlu menghubungkan pin secara individual, setelah itu selesai. Saya tipe orang yang bilang, jika saya harus melakukan ini dua kali, saya dapat mengotomasi atau membuatnya lebih sederhana.

Sekarang ketika Anda pergi ke Arduino IDE, pilih "Arduino Pro or Pro Mini," dan Anda dapat memprogram papan langsung. Saya bahkan dapat memrogramnya ulang tanpa melepas seluruh perakitan dari jendela vertikal, jika saya menemukan perubahan yang ingin saya buat.

Ini adalah sketsa SmartBlinds yang saya gunakan untuk proyek ini. Saya pikir cukup terdokumentasi dengan baik, tetapi jika Anda memiliki pertanyaan, jangan ragu untuk bertanya. Kelas EEPROM Logging juga diperlukan, dan tersedia di perpustakaan di github saya.

Saya juga telah menambahkan upaya baik tampilan papan roti dan tampilan skematik dari proyek. Fritzing terus mengganggu saya, jadi mungkin tidak terlihat bagus.

Langkah 5: Mulai Perakitan

Sekarang setelah kita memiliki beberapa data tentang sistem kita, mari kita mulai merakitnya.

Penambahan yang saya buat kali ini adalah menggunakan konektor JST dan solder kabel inti padat ke mereka untuk memberikan sedikit jangkauan tambahan. Secara default, mereka SANGAT pendek. Menggunakan konektor memiliki manfaat tambahan untuk memberikan titik jeda yang mudah antara baterai dan sisa sirkuit.

Catat dalam proyek pertama saya saya pasti gagal dalam pengukuran kritis ini, karena saya tidak menemukan bahwa servo motor menguras 14 mA sepanjang waktu.

Ini adalah waktu yang baik juga untuk solder kabel inti padat ke panel surya. Saya menambahkan sekitar 2 kaki kabel ke konektor JST untuk menempatkan panel surya di lokasi yang tepat di jendela untuk memaksimalkan cakupan sinar matahari sepanjang tahun, tetapi meminimalkan dampak visual. Simpan konektor pendek(er) untuk solder ke PCB. Ini meminimalkan ukuran bagian yang pergi ke rel atas jendela vertikal. Selain itu, menggunakan kabel inti padat untuk solder ke PCB tampaknya (bagi saya) bekerja lebih baik daripada solder kabel berpita ke lubang. Hasil Anda mungkin berbeda.

Potong PCB ke ukuran yang Anda butuhkan untuk jendela vertikal Anda. Papan yang saya beli terlalu besar sekitar 3 baris lubang, jadi saya memotongnya sebanyak itu. Saya mencoba untuk meletakkan sirkuit sekecil mungkin, dan se rapi mungkin. Potong kabel ke ukuran yang Anda butuhkan, dan berikan sedikit lentur untuk melewati sudut, dll. Dan kemudian ke dalam (atau keluar) lubang PCB. Perhatikan tinggi pin konektor servo, dan pastikan konektor tidak akan mengganggu operasi servo di dalam jendela vertikal.

Saya juga menggaruk garis terukir pada DC-DC booster yang menuju indikator LED. Ini menghemat sekitar 1 mA sepanjang waktu. Idealmente, sensor suhu akan terpisah sendiri, untuk mengurangi dampak potensial dari servo atau komponen lain. Saya gagal melakukannya, dan itu ada di samping transistor.

Langkah 6: Selesaikan Perakitan, Satu Pemrograman Terakhir

Hal terakhir yang saya lakukan setelah menyelesaikan perakitan adalah memulihkan kelas logging EEPROM. Saya tidak ingin menulis ke EEPROM saat membuat prototipe dan mencoba hal-hal yang berbeda, jadi saya memberi komentar pada kode itu. Namun sekarang setelah kita siap untuk diterapkan, saatnya untuk mengaktifkan logging. Output log ada di sini. Ini juga dilampirkan di bawah, seperti dalam format asli.

Pro Mini memiliki 1024Kb EEPROM. Berdasarkan ukuran 22 byte per entri, plus 2 byte "pola sinkronisasi," saya seharusnya dapat mendapatkan 42 entri di EEPROM sebelum itu melingkar. Itu kurang dari sebulan data, pada 2 aktivitas per hari. Saya ingin mendapatkan lebih banyak, tetapi itu akan memerlukan kartu SD atau EEPROM yang lebih besar. Mungkin revisi berikutnya.

Saya juga melakukan satu pengukuran arus terakhir, untuk memastikan saya tidak memiliki pendek di suatu tempat. Arus yang saya ukur sekitar 1.5 mA. Dengan baterai 900 mA-hour, itu seharusnya memberikan sekitar 600 jam operasi tanpa pengisian ulang. Kurangi sedikit karena tidak selalu dalam mode tidur, dan tentu saja setiap kali bergerak, Anda menguras baterai lebih cepat. Menggunakan perpustakaan LowPower dari rocketlabs, ia tidur pada 1.5 mA. Selama eksekusi, sekitar 25 mA, dan saat memindahkan jendela vertikal, antara 200 mA hingga sekitar 500 mA, atau lebih. Saya ingin membuat baterai bertahan lebih lama, tetapi saya juga suka memiliki LED menyala saat berjalan sehingga saya tahu itu bekerja, jadi itu adalah kompromi yang saya terima.

FEF476VIRXTB0NK.txt

Langkah 7: Instalasi

OK, sekarang untuk memasang di jendela vertikal.

Langkah 8: Santai dan Nikmati!

Nikmati operasi yang mulus dari jendela vertikal saat mereka terbuka dan tertutup secara otomatis.

Jika Anda membuat satu menggunakan desain saya, tolong beri tahu saya! Saya akan senang mendengarnya, dan jika Anda membuat perubahan atau perbaikan. Jika Anda memiliki pertanyaan, tanyakan. Situs web ini sangat membantu dalam mempelajari banyak keterampilan yang terlibat dengan proyek ini, dan saya akan senang memberikan kembali.

Update: Setelah beberapa bulan operasi, saya senang dapat mengatakan mereka berperilaku TEMPAT yang seharusnya! Satu keanehan yang kita temukan adalah jika lampu di koridor lantai atas DAN pintu masuk lantai bawah kedua menyala, jendela vertikal tetap terbuka setelah gelap - yang membuatnya sempurna untuk menunjukkan fungsinya dengan tamu. Dan pada hari-musim panas akhir di mana menjadi sangat panas, jendela vertikal tertutup karena suhu pada suhu yang sangat nyaman - jendela menjadi lebih panas dari lantai utama, jadi jendela vertikal tertutup sementara masih di 70-an (F) di dalam rumah.

Kode

Github

https://github.com/Froz3nArcher/libraries/tree/master/EEPROMLog

Github

https://github.com/Froz3nArcher/SmartBlinds

Skematik

Skematik Jendela Vertikal Pintar

https://github.com/Froz3nArcher/SmartBlinds/blob/master/SmartBlinds.fzz

Proses manufaktur

  1. Bartender Cerdas: Bangun Stasiun Koktail Berbasis Raspberry Pi Sendiri
  2. Smart Blinds: Kontrol Cahaya Otomatis dengan Arduino & Energi Surya
  3. Bangun Sensor Halangan Sederhana dengan Arduino – Tutorial Mudah LED IR & Fotodioda
  4. Sepatu Smart Self-Lacing dengan Penambahan Energi Terpadu
  5. Pelacak Surya Berbasis IoT: Manajemen Energi Cerdas dengan Arduino
  6. Buat Lengan Robotik Arduino Pintar: Tutorial DIY Mudah
  7. Sistem Pemantauan Suhu Cerdas untuk Sekolah: Akurat, Real-Time, dan Aman
  8. Sarung Tangan Cerdas Gestur-ke-Teks untuk Bahasa Isyarat
  9. Pengacara Baterai Cerdas Lanjutan dengan Multiplexing & Tampilan Digital
  10. Bangun Rangkaian Input Analog Terisolasi untuk Arduino