8 kilowatt Sakelar AC 4 saluran dengan pengukuran konsumsi. Bagian 1

Untuk mengotomatisasi rumah besar, tugas menghidupkan / mematikan beban yang kuat muncul - pompa kolam renang, boiler, dan bahkan ruang tamu secara keseluruhan (ketika tidak ada yang tinggal di dalamnya), dan saya juga ingin mengetahui jumlah energi yang mereka konsumsi. Tetapi tidak ada perangkat yang siap pakai dengan karakteristik yang diperlukan (dan bahkan dekat dengan mereka). Saya harus menciptakannya sendiri. Versi pertama ternyata tidak terlalu bisa diservis, tetapi menunjukkan bahwa sedikit pekerjaan dan Anda mendapatkan perangkat yang sepenuhnya selesai.



Terus terang, saya praktis tidak punya pengalaman dalam menciptakan perangkat AC yang kuat. Karena itu, ketika mengembangkan perangkat ini, saya mencoba memainkannya dengan aman sampai ke arrester penangkal petir maksimum, jalur lebar yang dirancang untuk menyolder ban tembaga yang kuat, melindungi di lapisan tengah papan. Pada versi pertama, ada beberapa kelebihan dan kesalahan (misalnya, dalam lembar data pada modul catu daya. Tegangan output 1 dan Vout1 - ternyata tidak sama, jadi saya harus memotong trek, dan saya hanya mengarahkan konektor microUSB sehingga port di atasnya tidak bekerja).

Untuk switching, relay bistable 80-ampere EW80 dipilih. Saya harus mengatakan bahwa pilihannya tidak terlalu berhasil - kasingnya bocor dan dalam kondisi lokal kelembaban tinggi mungkin tidak cocok. Sayangnya, pilihan relay bistable yang kuat dari pemasok yang tersedia tidak terlalu besar, sehingga Anda harus menutup setiap relai secara terpisah, atau seluruh casing. Sebagai kunci kontrol, saya mengambil driver MOSFET ADP3624 (satu untuk setiap pasangan relay), yang memungkinkan memberi tegangan pada belitan di kedua polaritas dan melepaskannya setelah tersandung. Sensor aula ACS759-100 mengukur konsumsi, dan tegangan saluran melalui transformator berdaya rendah. Sebagai ADC dan mikrokontroler kontrol adalah STM32F373CBT6.

Untuk menyederhanakan koneksi perangkat jadi, voltase input disuplai ke satu konektor, dan bus tembaga 7x3mm yang disolder di atas track board akan direntangkan ke semua saluran switching. Dalam kondisi kabel yang mungkin sangat panjang ke beban (puluhan meter), diputuskan untuk mengganti nol dan fase pada saat yang sama untuk menghindari masalah dengan gangguan, distorsi dan hanya untuk keselamatan. Karena papan tidak dirancang untuk beroperasi tanpa perangkat perlindungan eksternal ("colokan", RCD), tidak ada elemen keselamatan di atasnya, hanya ada penangkal petir untuk perlindungan terhadap impuls tegangan tinggi. Setiap saluran memiliki LED indikator, ada juga sirkuit pensinyalan ("tweeter" dan relay untuk 10 ampere beban eksternal), tetapi penggunaannya dalam perangkat lunak belum diimplementasikan.

Perangkat ini dikendalikan melalui port serial dengan isolasi galvanik (secara teoritis dimungkinkan untuk menggunakan port USB), dengan protokol sederhana yang mirip dengan yang digunakan pada dimmer saya. Saya akan menggantinya dengan MQTT-over-serial nanti.



Saya harus mengatakan segera bahwa rangkaian ternyata tidak terlalu sukses dan akan berubah sedikit di versi berikutnya - stabilitas tegangan 3,3 volt untuk menyalakan sensor saat ini dan pengontrol tidak tahan terhadap kritik, yang mengarah pada kesalahan dalam mengukur daya dalam beberapa puluh watt (bahkan tanpa beban) kemungkinan besar saya akan menyediakan sumber tegangan 3.3V referensi yang stabil untuk setiap sensor secara terpisah. Mungkin juga layak menggunakan ADC 16-bit dalam controller, tetapi, sayangnya, kecepatannya tidak terlalu tinggi - sekarang arus dan tegangan diukur sekitar 5000 kali per detik, yang secara teoritis dapat dilakukan dengan 16-bit, tetapi saya belum berhasil mencapai stabilitas Karyanya dengan banyak saluran melalui DMA.

Firmware pengontrol sekali setiap sepuluh detik menampilkan data tentang konsumsi beban pada setiap saluran dan tegangan listrik, menerima perintah untuk menghidupkan dan mematikan saluran. Perangkat lunak ini sangat kasar, itu juga harus diulang agar dan menambahkan berbagai fungsi kontrol (misalnya, tegangan berlebih dalam jaringan, overload, overheating board, dll.).

Kode pada github

Source: https://habr.com/ru/post/id402375/


All Articles