Sa artikulong ito, sasabihin sa amin ng Wizard kung paano gumawa ng isang sistema para sa pagsubaybay at pagkontrol sa antas ng tubig sa isang tangke. Ito ay isang simple at maaasahang sistema.
Ang mga pangunahing tampok nito ay ang mga sumusunod:
Pagsusubaybay sa antas ng tubig sa real time
Awtomatikong on / off pump.
Pang-emergency na pagsara ng bomba.
Mga tool at materyales:
-Arduino Pro mini
-Ultrasonic sensor HC-SR04;
- Modyul na MAX485;
- LCD module i2c;
LCD 1602;
- Microcontroller ATTINY45 / 85;
- Boltahe Regulator LM7805;
NPN transistor (2n3904);
-N-channel MOSFET IRFD024PBF;
Diode 1N4007;
5-pin na konektor;
4-pin na konektor
-2 pin na konektor;
- Mga terminal na may 2 mga contact (bughaw) - 2 mga PC;
- Terminal na may 2 contact (berde);
DC Jack (- 2 mga PC.)
-Audio jack (lalaki / babae) - 2 mga PC;
- Resistor 1 kOhm;
- Resistor 10 kOhm - 3 mga PC;
- Capacitor 100 nF - 3 mga PC;
Capacitor 100 uF;
- pindutan ng SMD, 6x3.5mm;
-DIP switch (SPST 2) - 2 mga PC;
- pindutan ng kapangyarihan;
-Tumbler;
-12V DC relay;
-Relay contactor;
- Ang supply ng kuryente ng DC 5 V (> 200 mA);
- DC 12V supply ng kuryente (> 500 mA);
-Boxes para sa kaso ng isang angkop na sukat;
-Fastener;
-Mga accessory;
- distornilyador;
-Wire;
Hakbang Una: Yunit ng Sensor
Sinusukat ng yunit na ito ang antas ng tubig at nagpapadala ng data sa pangunahing magsusupil. Mayroon itong dalawang sensor para sa pagsukat ng antas ng tubig. Ang isa ay ang HC-SR04 ultrasonic distansya sensor, ang iba pang dalawang mahabang screws na nakausli palabas, tulad ng ipinapakita sa larawan.
Upang mai-install ang mga sensor na kailangan mo upang maisagawa ang mga sumusunod na hakbang:
Ilagay ang ultrasonic transducer na baligtad sa harap ng takip malapit sa tuktok at markahan ang dalawang butas para sa ultrasonic transmitter at tagatanggap.
Gupitin ang mga butas at i-fasten ang sensor sa lugar na may mainit na pandikit.
Pagkatapos ay mag-drill ng dalawang butas na may diameter na 3 mm na may isang puwang ng 2-3 cm sa gitna ng takip.
Ipasok ang mahabang bolts ng M3 gamit ang terminal ng wire na naka-clamp sa pagitan ng dalawang tagapaghugas ng pinggan sa likuran ng takip at higpitan ang mga M3 nuts sa kabilang panig.
Ginagamit ng sensor unit ang ATTINY45 bilang pangunahing microcontroller. Tulad ng nabanggit kanina, ang HC-SR04 ay ginagamit upang masukat ang antas ng tubig. Gumagana ito sa pamamagitan ng pagsukat ng distansya mula sa tuktok ng tangke.
Gayundin, ang kontrol ay isinasagawa gamit ang dalawang bolts sa circuit, na naka-install ang transistor. Ang microcontroller ay nagbabasa ng data mula sa pareho ng mga sensor na ito at nagpapadala ng data sa Arduino na naka-install sa unit ng controller.
Una, nais ng panginoon na magpadala ng data sa pamamagitan ng HC-12 RF module. Ngunit ang hanay ng mga modyul na ito ay hindi tumutugma sa mga kinakailangan.Ginamit ng wizard ang MAX485 TTL sa converter ng RS485 at gumawa ng isang maliit na riser upang mai-install sa lugar ng mga HC-12 module.
Maaaring mai-download ang iskema at link sa board sa adres na ito.
Ang pag-install ay ang mga sumusunod:
HC-SR04 hanggang sa pangunahing circuit:
Vcc - 5V (CN1).
trig - trigPin (CN1).
echo - echoPin (CN1).
Gnd - GND (CN1).
M3 bolts sa pangunahing circuit:
Bolt 1 - 5 V (CN1).
Bolt 2 - 100 (CN1).
MAX485 (TX) module:
VCC - 5V (HC-12 Konektor)
A - 1/4-inch audio jack.
B - 1/4-inch audio jack.
GND - GND (HC-12 Konektor)
R0 - RX (HC-12 Konektor)
RE - VCC (MAX485) o 5V.
DE - RE (pinaikling bilang RE at DE).
DI - TX (HC-12 konektor).
DC Jack (P1 Konektor):
Tip - 5V
Sleeve - GND
Hakbang Dalawang: Kontroler
Ang operasyon ng magsusupil ay simple. Ang Arduino ay ginagamit bilang pangunahing magsusupil. Tumatanggap ito ng data ng sensor na ipinadala mula sa board transmitter sa pamamagitan ng max485 module. Mayroon itong 1602 LCD display na nagpapakita ng kasalukuyang antas ng tubig at operasyon ng bomba. Gumagamit ito ng isang 12 V relay bilang isang switch upang i-on ang relay contactor. Mayroon itong dalawang switch, isa para sa pag-backlight ng LCD at isa para sa emergency pump on / off.
Matatagpuan ang isang link sa diagram ng circuit at disenyo ng nakalimbag na circuit board para sa transmiter at tatanggap dito.
Ang module na i2c LCD ay direktang naibenta sa 1602 LCD. Ang jumper ng backlight sa module na i2c ay konektado sa toggle switch para sa on / off. Ang pindutan ng pang-emergency (malaki) ay konektado sa pangunahing circuit sa pamamagitan ng konektor P4.
I2c LCD module sa pangunahing circuit (CN4):
GND - CN4-1 (GND1).
VCC - CN4-2 (5V).
SCL - CN4-3 (A5).
SDA - CN4-4 (A4).
Mga koneksyon sa Relay ng Relay:
A1 - 230 VAC1 (zero).
A2 - HINDI (relay contact).
S1 - 230 VAC1 (zero).
S2 - 230 VAC2 (yugto)
L1 - Pump Motor Wire 1
L2 - Pump motor wire 2.
Ikonekta ang contact ng relay ng COM sa 230 VAC2 (linya).
Hakbang Tatlong: Software at Programming
Ngayon ay kailangan mong i-program ang mga Controller sa parehong aparato.
Upang mag-download ng code sa ATTINY45, nag-download ito ng library ng SoftwareSerial.h.
Sa pagpapaandar ng Loop,
> Suriin muna kung ang tangke ay puno o hindi.
> Kung puno ito, nagpapadala ito ng "255."
> Kung hindi ito buo, sinusuri nito ang antas ng tubig na may isang sensor ng tunog ng ultrasonic at nagpapadala ng data sa pamamagitan ng seryeng komunikasyon.
Ang program na ito ay gumagamit ng getwtrLvl () subfunction upang makuha ang kasalukuyang antas ng tubig. Una, sinusukat nito ang oras na kukuha ng sensor upang maipadala at makatanggap ng mga ultrasonic na alon. Pagkatapos ang oras ay nai-convert sa distansya gamit ang bilis ng tunog.
dist = pulseIn (echoPin, HIGH); // oras na ginugol ng tunog ng tunog.
dist = dist / 28/2; // isalin ang oras sa distansya sa cm
dist = dist * 1.25; // dito 1.25 ang kadahilanan ng pagwawasto upang malampasan ang error sa pagsukat
bumalik dist; // ibabalik ang distansya sa pagpapaandar ng pagtawag
Ngayon para sa Arduino.
Sa pag-andar ng Loop:
> Una ay nasuri kung ang pindutan ng pang-emergency ay pinindot o hindi.
> Suriin ang sensor. Bahagi ng mga tseke ng programa para sa isang error sa sensor. i.e., kung ang natanggap na data ay hindi wasto (<= 1) 5 beses, kung gayon ang display ay nagpapakita ng error sa sensor at ang bomba ay nabagsak.
> Ang susunod na bahagi ay nagpapakita ng kasalukuyang antas ng tubig at nagbibigay ng isang utos para sa pump 1 kung ang antas ng tubig ay maliit, o 0 kung ito ay 100% (buo).
Ang program na ito ay gumagamit ng dalawang subfunctions updatetMotor () at makakuhaWaterLvl (). Ang pag-andar ng updatetMotor () ay nagpapakita ng pagpapatakbo ng bomba sa LCD, at nagpapadala rin ng signal sa relay.
Ang pag-andar ng getWaterLvl ay unang suriin upang makita kung mayroong error sa koneksyon. Kung ang koneksyon sa pagitan ng transmiter at ang tatanggap ay hindi itinatag sa oras ng paghihintay (3000 ms). Nagpapakita ito ng isang error sa sensor at pinatay ang bomba.
Kapag ang koneksyon ay naibalik, ang pagpapatuloy ay magpapatuloy.
Ang lahat ay handa na, salamat sa master para sa isang kawili-wili gawang bahay.