Arduino kontrolleriga hududning suv tarkibiga asoslangan namunali kod yuklab
olinadi. Uning pH qiymati 7.00 yoki sozlangan BNC ulagichining kirish qismida
[3].
Tizim
osongina moslashtiriladi, buning uchun kerakli qiymat bazasi va
o'tkazuvchanlik sensori kalibrlashi tuzilgan, barcha ko'rsatkichlar kontrollerga
yuklangan va Arduino IDE-dagi eskiz operatorlarining talab qilinadigan
me'yorlarining cherkov diapazonlari almashtirildi.
3.3 § Yer osti suvlarini tozalashning konstruksiyasini ishlab chiqish
Ichimlik suv texnologik jarayonlar avtomatik boshqaruv tizimi 328e
mikroprotsesori asosida tuzib chiqildi bunda algoritm Arduino IDE dasturida C++
dasturlash tilida amalga oshirildi.
Asosiy elementlar ijro mexanizmi va o’lchov vositasi 9 parametr hisoblanadi
bunda
elementlar indekatorlar, regulyator va ijro mexanizmalari belgilandi va
sketch quyidagi holati belgilandi;
#define LEDinfo 13
#define pinpump 5
#define pinclopF 4
#define pinclop 3
#define PTDS0 A0
#define PTDSF A1
#define PSQ A2
#define PSH A3
#define PTDSC A4
Berilgan nazorat datchiklari pH va TDS datchiklari qo’llaniladi bunda berilgan
qiymatlar milligramlarda belgilanadi. Berilgan jarayonnlarni ishga tushirishni
indekatsiya qilish maqsadida maksimal va minimal
qiymatlarni belgilashga
asoslanadi. Suv tozalash miqdorini maksimal qiyati 1000 litr deb belgiladi, script
holatida quyidagicha belgilanadi;
// Asosiy belgilanadigan kattaliklarning qiymatlarini kiriting
int INTDSL = 1; // mg/l. TDS datchigini
minimal qiymati
int INTDSH = 150; // mg/l. TDS datchigini maksimal qiymati
int INSQL = 0; // l/s. Sarf datchigining minimal qiymati
int INSQH = 5; // l/s. Sarf datchigining maksimal qiymati
int INSHL = 0; // sm. Sath datchigining minimal qiymati
int INSHH = 200; // sm. Sath datchigining maksimal qiymati
int WC = 1000; // litr. Suv sig'imi qiymati
int RV = 3; // mg/l. Sho'rlanganlik darajasining e'talon qiymati
Nominal qiymatlar berilgan ishchi holatini belgilash uchun int qiymatini
biriktirish amalga oshirilgan.
Ma’lumotlarni masofadan boshqarish holati identefikator raqam orqali amalga
oshiriladi va modulning signalarini uzatish uchun SIM900A moduli uchun amalga
oshirildi va shartli ravishda kattaliklar quyidagi qiymat bilan biriktiriladi String
allcomms[] = {"SWS?", "FWS?", "WLS?", "WCS?", "WCSS?"}; ko’rinishida
belgilangan bunda qiymatlar;
-
SWS? - Manbadagi suvning sho'rlanish darajasi.
-
FWS? - Filtrdan chiqayotgan suvning sho'rlanish darajasi(Filtrni qanday
ishlayotganini ko'rsatadi.
-
WLS? - Suv sig'imidagi suv sathi.
-
WCS? - Suv sig'imidagi suv miqdori.
-
WCSS? - Suv sig'imidagi suvning sho'rlanganlik darajasi.
Berilgan signallarni taqoslash va usullar asosida qiymatlarni belgilash if
qiymati orqali amalga oshiriladi.
if (Serial.available()) readmsg();
if (getSens(4) < INSHH / 2) {
unsigned long _LT = millis();
float NW = INSHH - getSens(4);
NW = WC * NW / INSHH;
NW = NW * 0.95;
Berilgan qiymatlar shartlari berilgan holda ishlash orqali amalga oshirishda
sath berilishi asosida amalga oshirildi sath optimal bo’lgan holda bo’lganda ishga
tushiriladi.
Qiymatlarning ishlash jarayoni pH va TDS datchiklarida
berilgan qiymatlar
nominal qiymatga teng bo’lguncha While operatori ish holati davom etiriladi.
while (getSens(1) <= RV) {
digitalWrite(pinpump, HIGH);
float XY = getSens(3) * (millis() - _LT);
if (XY >= NW) {
digitalWrite(pinpump, LOW);
NW = 0;
break;
}
}
Nasos agregatining ishlash holati ham diskret signal orqali amalga oshiriladi
RV qiymatiga asoslangan holda amalga oshiriladi.
Nasos agregati minirializatsiya darajasiga asoslangan holda ish holati
oshirilishi yuqorida ko’rsatilgan sketch asosida amalga oshiriladi.
Berilgan sketchning adekvatligini tekshirish natjasida kompelatsiya
muvofaqiyatli amalga oshirildi (3.4-rasm).
Do'stlaringiz bilan baham: