Dalam artikel ini, Wizard akan memberitahu kami bagaimana untuk membuat sistem untuk memantau dan mengawal paras air dalam tangki. Ia adalah sistem yang mudah dan boleh dipercayai.
Ciri-ciri utamanya adalah seperti berikut:
Pemantauan tahap air masa sebenar.
Pam on / off secara automatik.
Tutup kecemasan pam.
Alat dan bahan:
-Arduino Pro mini
-Ultrasonic sensor HC-SR04;
- Modul MAX485;
- Modul LCD i2c;
LCD 1602;
- Mikrokontroler ATTINY45 / 85;
- Voltan Pengatur LM7805;
Transistor NPN (2n3904);
-N-saluran MOSFET IRFD024PBF;
Diode 1N4007;
Penyambung 5-pin;
Penyambung 4-pin
-2 penyambung pin;
- Terminal dengan 2 kenalan (biru) - 2 buah;
- Terminal dengan 2 kenalan (hijau);
DC Jack (- 2 buah.)
-Audio jack (lelaki / perempuan) - 2 buah;
- Resistor 1 kOhm;
- Resistor 10 kOhm - 3 pcs;
- Kapasitor 100 nF - 3 pcs;
Capacitor 100 uF;
- Butang SMD, 6x3.5mm;
-DIP suis (SPST 2) - 2 pcs;
- butang kuasa;
-Tumbler;
-12V DC relay;
-Relay contactor;
- Bekalan kuasa DC 5 V (> 200 mA);
- Bekalan kuasa DC 12V (> 500 mA);
- Kotak-kotak untuk kes saiz yang sesuai;
-Fasteners;
- Aksesori pematerian;
- pemutar skru;
-Wire;
Langkah Pertama: Unit Sensor
Unit ini mengukur paras air dan menghantar data kepada pengawal utama. Ia mempunyai dua sensor untuk mengukur paras air. Satu ialah sensor jarak ultrasonik HC-SR04, dua skru panjang yang menonjol ke luar, seperti yang ditunjukkan dalam foto.
Untuk memasang sensor anda perlu melakukan langkah-langkah berikut:
Letakkan transduser ultrasonik terbalik di hadapan penutup berhampiran bahagian atas dan tandakan kedua-dua lubang untuk pemancar dan penerima ultrasonik.
Potong lubang dan kencangkan sensor di tempat dengan gam panas.
Kemudian gerakkan dua lubang dengan diameter 3 mm dengan jurang 2-3 cm di tengah penutup.
Masukkan bolt M3 panjang dengan terminal dawai yang diapit di antara dua pencuci di bahagian belakang penutup dan ketatkan kacang M3 di bahagian yang lain.
Unit sensor menggunakan ATTINY45 sebagai mikrokontroler utama. Seperti yang dinyatakan sebelum ini, HC-SR04 digunakan untuk mengukur paras air. Ia berfungsi dengan mengukur jarak dari bahagian atas tangki.
Juga, kawalan dilakukan menggunakan dua bolt di litar, yang mana transistor dipasang. Mikrokontroler membaca data dari kedua-dua sensor ini dan menghantar data ke Arduino yang dipasang di unit pengawal.
Pertama, tuan mahu menghantar data melalui modul RF HC-12. Tetapi pelbagai modul ini tidak sepadan dengan keperluan.Penyihir menggunakan TTL MAX485 untuk penukar RS485 dan membuat riser kecil untuk dipasang di tempat modul HC-12.
Skim dan pautan ke papan boleh dimuat turun di alamat ini.
Pemasangan adalah seperti berikut:
HC-SR04 ke litar utama:
Vcc - 5V (CN1).
trig - trigPin (CN1).
echo - echoPin (CN1).
Gnd - GND (CN1).
M3 baut ke litar utama:
Bolt 1 - 5 V (CN1).
Bolt 2 - 100 (CN1).
Modul MAX485 (TX):
VCC - 5V (Penyambung HC-12)
A - bicu audio 1/4 inci.
B - bicu audio 1/4 inci.
GND - GND (Penyambung HC-12)
R0 - RX (Penyambung HC-12)
RE - VCC (MAX485) atau 5V.
DE - RE (disingkat RE dan DE).
DI - TX (penyambung HC-12).
DC Jack (Penyambung P1):
Petua - 5V
Sleeve - GND
Langkah Dua: Pengawal
Operasi pengawal adalah mudah. Arduino digunakan sebagai pengawal utama. Ia menerima data sensor yang dihantar dari papan pemancar melalui modul max485. Ia mempunyai 1602 paparan LCD yang memaparkan paras air semasa dan operasi pam. Ia menggunakan relay 12 V sebagai suis untuk menghidupkan penghubung geganti. Ia mempunyai dua suis, satu untuk menyalakan semula LCD dan satu untuk pam kecemasan hidup / mati.
Pautan kepada gambar rajah litar dan reka bentuk papan litar bercetak untuk pemancar dan penerima terletak di sini.
Modul LCD i2c secara langsung disalurkan ke LCD 1602. Pelompat lampu belakang pada modul i2c disambungkan kepada suis togol untuk hidup / mati. Butang kecemasan (besar) disambungkan ke litar utama melalui penyambung P4.
Modul LCD I2c ke litar utama (CN4):
GND - CN4-1 (GND1).
VCC - CN4-2 (5V).
SCL - CN4-3 (A5).
SDA - CN4-4 (A4).
Penyambung Hubungan Relay:
A1 - 230 VAC1 (sifar).
A2 - NO (hubungan relay).
S1 - 230 VAC1 (sifar).
S2 - 230 VAC2 (fasa)
L1 - Wire Motor Pump 1
L2 - Kawat motor pam 2.
Sambungkan hubungan geganti COM ke 230 VAC2 (garisan).
Langkah Tiga: Perisian dan Pengaturcaraan
Kini anda perlu memprogram pengawal pada kedua-dua peranti.
Untuk memuat turun kod ke ATTINY45, ia memuat turun pustaka SoftwareSerial.h.
Dalam fungsi Gelung,
> Periksa terlebih dahulu jika tangki penuh atau tidak.
> Jika sudah penuh, ia menghantar "255."
> Jika ia tidak penuh, ia memeriksa paras air dengan sensor bunyi ultrasonik dan menghantar data melalui komunikasi siri.
Program ini menggunakan subfungsi getwtrLvl () untuk mendapatkan paras air semasa. Pertama, ia mengukur masa yang diambil sensor untuk menghantar dan menerima gelombang ultrasonik. Kemudian masa ditukar ke jarak menggunakan kelajuan bunyi.
dist = pulseIn (echoPin, HIGH); // masa yang dihabiskan oleh gelombang bunyi.
dist = dist / 28/2; // menterjemahkan masa ke jarak dalam cm
dist = dist * 1.25; // here 1.25 adalah faktor pembetulan untuk mengatasi ralat pengukuran
pulangan semula; // mengembalikan jarak ke fungsi panggilan
Sekarang untuk Arduino.
Dalam fungsi Gelung:
> Pertama sekali diperiksa sama ada butang kecemasan ditekan atau tidak.
> Pemeriksaan sensor. Sebahagian daripada program ini memeriksa ralat sensor. iaitu, jika data yang diterima tidak sah (<= 1) 5 kali, maka paparan menunjukkan ralat sensor dan pam menutup.
> Bahagian seterusnya memaparkan paras air semasa dan memberi arahan untuk pam 1 jika paras air kecil, atau 0 jika 100% (penuh).
Program ini menggunakan dua subfungsions updtMotor () dan getWaterLvl (). Fungsi updtMotor () menunjukkan operasi pam pada LCD, dan juga menghantar isyarat kepada geganti.
Fungsi getWaterLvl mula-mula memeriksa untuk melihat apakah terdapat ralat sambungan. Sekiranya sambungan antara pemancar dan penerima tidak ditubuhkan semasa masa menunggu (3000 ms). Ia menunjukkan ralat sensor dan mematikan pam.
Apabila sambungan dipulihkan, operasi berjalan semula.
Segala-galanya siap, terima kasih kepada tuan yang menarik buatan sendiri.