Daftar Isi:

Termostat Ruangan - Arduino + Ethernet: 3 Langkah
Termostat Ruangan - Arduino + Ethernet: 3 Langkah

Video: Termostat Ruangan - Arduino + Ethernet: 3 Langkah

Video: Termostat Ruangan - Arduino + Ethernet: 3 Langkah
Video: Alat kontrol gas LPG untuk pemanas ruangan dgn sensor DHT22 dan Arduino 2024, Juli
Anonim
Termostat Ruangan - Arduino + Ethernet
Termostat Ruangan - Arduino + Ethernet

Dalam hal perangkat keras, proyek ini menggunakan:

  • Arduino Uno / Mega2560
  • Perisai Ethernet Wiznet W5100 / modul Ethernet Wiznet W5200-W5500
  • Sensor suhu DS18B20 pada bus OneWire
  • Relay SRD-5VDC-SL-C digunakan untuk peralihan boiler

Langkah 1: Deskripsi Termostat Ethernet

Deskripsi Termostat Ethernet
Deskripsi Termostat Ethernet

Arduino adalah platform tertanam praktis yang dapat digunakan, misalnya, untuk membangun termostat ruangan, yang akan kami tunjukkan hari ini. Termostat dapat diakses dari jaringan LAN di mana ia berada, sementara itu dilengkapi dengan antarmuka web yang digunakan untuk mengkonfigurasi semua elemen termostat. Antarmuka web berjalan langsung di Arduino dalam mode server web. Server web memungkinkan menjalankan beberapa halaman HTML independen, yang dapat bersifat informatif atau bahkan fungsional. Server web berjalan pada port 80 -

Relai elektromagnetik SRD-5VDC-SL-C, yang digunakan dalam proyek, memungkinkan peralihan hingga 10A pada 230V - daya 2300W. Dalam hal mengganti sirkuit DC (beban) dimungkinkan untuk mengganti 300W (10A pada 30V DC). Atau, relai SSR OMRON G3MB-202P sepenuhnya kompatibel untuk diagram pengkabelan, yang hanya cocok untuk beban non-induktif dan khusus untuk sirkuit AC. Daya switching maksimum 460W (230V, 2A). Konsumsi Arduino dengan Ethernet shield dan periferal lainnya berada pada level 100-120mA dengan relai terbuka. Saat ditutup, di bawah 200mA pada suplai 5V.

Langkah 2: Antarmuka Web

Antarmuka Web
Antarmuka Web

Antarmuka web untuk termostat memungkinkan:

  • Lihat suhu waktu nyata dari sensor DS18B20
  • Lihat status relai waktu nyata dengan perubahan output dinamis di halaman
  • Ubah suhu target (referensi) dalam kisaran 5 hingga 50 ° C dengan langkah 0,25 ° C
  • Ubah histeresis dalam rentang 0 hingga 10 ° C dengan langkah 0,25 ° C

Antarmuka web dirancang untuk mengakomodasi layar yang lebih besar dan lebih kecil. Ini responsif, mendukung layar definisi tinggi layar lebar, tetapi juga perangkat seluler. Antarmuka menggunakan gaya CSS yang diimpor dari kerangka Bootstrap dari server CDN eksternal, yang memuat perangkat sisi klien saat membuka halaman yang berjalan di Arduino. Karena memori Arduino Uno terbatas, maka hanya dapat menjalankan halaman dalam ukuran beberapa kB. Dengan mengimpor gaya CSS dari server eksternal, akan mengurangi kinerja dan beban memori Arduino. Implementasi perangkat lunak (untuk Arduino Uno) menggunakan 70% memori flash (32kB - 4kB Bootloader) dan 44% memori RAM (2kB).

Bagian statis halaman web (header dan footer dokumen HTML, tautan Bootstrap CSS, tag meta, header respons HTTP, Tipe Konten, formulir, dan lainnya) disimpan langsung di memori flash Arduino, yang secara signifikan dapat mengurangi jumlah RAM yang digunakan untuk pengguna -konten yang dihasilkan. Dengan demikian, server web lebih stabil dan dapat menangani multi-koneksi beberapa perangkat dalam jaringan secara bersamaan.

Untuk menjaga nilai yang ditetapkan bahkan setelah listrik mati, nilai tersebut disimpan dalam memori EEPROM Arduino. Suhu referensi ke offset 10, histeresis ke offset 100. Masing-masing nilai menempati maksimum 5B dalam memori EEPROM. Batas transkripsi EEPROM berada pada level 100.000 transkrip. Data ditimpa hanya ketika formulir HTML dikirimkan. Jika perangkat tidak menyimpan apa pun pada offset EEPROM yang disebutkan pada permulaan pertama, penulisan otomatis akan dilakukan dengan nilai default - referensi: 20,25, histeresis 0,25 ° C

Meta tag Refresh menyegarkan seluruh halaman Arduino setiap 10 detik. Pada saat ini perlu untuk menulis perubahan untuk termostat, jika tidak, jendela input akan diatur ulang ketika halaman di-refresh. Karena pustaka Ethernet tidak menyertakan penggunaan server web asinkron, seluruh halaman harus ditulis ulang. Data dinamis yang terutama berubah adalah nilai keluaran saat ini - On / Off.

Langkah 3: Halaman HTML Berjalan di Server Web, Skema, Kode Sumber

Halaman HTML Berjalan di Server Web, Skema, Kode Sumber
Halaman HTML Berjalan di Server Web, Skema, Kode Sumber

Halaman HTML yang berjalan di Arduino:

  • / - halaman root yang berisi formulir, daftar keluaran logika saat ini untuk relai, suhu
  • /action.html - memproses nilai dari formulir, menulisnya ke memori EEPROM, mengarahkan pengguna kembali ke halaman root
  • /get_data/ - mendistribusikan data suhu saat ini, suhu referensi, dan histeresis ke pihak ketiga (komputer, mikrokontroler, klien lain …) dalam format JSON

Ada juga versi diperpanjang termostat ini yang meliputi:

  • Mode manual untuk relay (waktu tidak terbatas, hard ON / OFF)
  • Pengatur waktu pengawas
  • Tersedia lebih banyak sensor, misalnya: SHT21, SHT31, DHT22, BME280, BMP280 dan lain-lain
  • Mode pendinginan
  • Kontrol dan konfigurasi melalui RS232 / UART terlepas dari Ethernet
  • Kontrol suhu PID untuk termostat
  • Kemungkinan untuk menggunakan platform ESP8266, ESP32 untuk termostat

Implementasi program untuk proyek ini dapat ditemukan di: https://github.com/martinius96/termostat-ethernet/ Implementasi berisi program untuk alamat IPv4 statis / dinamis yang ditetapkan ke perisai Ethernet.

Termostat hanya ditujukan untuk suhu dalam ruangan! (di atas 0 ° C), di mana logika sistem disesuaikan. Dimungkinkan untuk mengganti termostat ruangan yang ada dengan termostat, dimungkinkan untuk sementara mengganti termostat di lemari es, mempertahankan suhu konstan di terarium dan sejenisnya.

Direkomendasikan: