3.1-jadval
Nisbiy xatoliklarning qiymatlari
№
n
R/R, (%)
1
0
3
2
100
3,118794
3
200
3,290124
4
300
3,535761
5
400
3,891426
6
500
4,420116
7
600
5,244251
8
700
6,637394
9
800
9,361607
10
900
16,63722
11
1000
85,35677
78
3.3-rasm. Nisbiy xatolikning ARO‘ ning chiqish signali n ga bog‘liqligining
hisoblangan grafigi
Qarshilikni o‘lchash natijalarini quyidagi 3.2-jadvalga kiritamiz:
3.2-jadval
Qarshilikni o‘lchash natijalari
№
R, Ом
0,1 % (намуна)
ҳисобланган
R/R, (%)
Arduino Mega 2560 R3
платформасида ўлчанган қиймат
R, Ом
|
R/R|, (%)
1
10000
86,35705
166,0156
61,26906
2
10000
11,45645
878,9063
12,5705
3
10000
6,605437
1855,469
6,845109
4
10000
5,242063
2832,031
5,321225
5
10000
4,842051
3808,594
4,855925
6
10000
4,956397
4785,156
4,925002
7
10000
5,536855
5761,719
5,454487
8
10000
6,783845
6738,281
6,615794
9
10000
9,422857
7714,844
9,048339
10
10000
16,65391
8691,406
15,43414
11
10000
85,35733
9667,969
60,26964
79
Arduino Mega 2560 R
3
platformasi yordamida qarshilikni o‘lchash uchun
quyidagi programma kodini yozamiz:
define R_tayanch 10000.0
define O’RTACHA 10 // o’lchash diapazoni 10 ta
void setupe ( )
{
analogReference (default);
Serial.begin (9600);
}
void loop ( )
{
float resistance;
uint16_t;
static float cumulativeResistance=0;
Static uint8_t i=0
n=analogRead (A0);
resistance=(R_tayanch*n)/(1024,0-n)
cumulativeResistance=cumulativeResistance+resistance;
i+t;
if (i==O’RTACHA)
{
Serial.println(cumulativeResistance/o’rtacha);
cumulativeResistance=0;
i=0;
}
delay (500/O’RTACHA);
}
80
Nazariy hisoblangan va eksperimental o‘lchangan natijalarni solishtirish va
tahlil qilish maqsadida ikkita natijani quyidagi 3.4-rasmda birgalikda quramiz.
3.4-rasm. Nisbiy xatolikning hisoblangan va eksperiment natijasida olingan
qiymatlari grafigi
3.4-rasmdan ma’lumki Arduino Mega 2560 R
3
platformasi yordamida
qarshilikni o‘lchashda uning ARO‘ chiqish kodlari qancha katta bo‘lsa o‘lchash
xatoligi shuncha kam. ARO‘ ning chiqish signali 100 dan kam bo‘lganda esa
ARO‘ ning absolyut xatoligi biz yuqorida qabul qilganimiz singari
n=
2 emas
balki undan bir necha barobar katta. Shuning uchun ARO‘ ning chiqish signalini
mos ravishda 300 yoki undan yuqori bo‘lgan kodlarda ishlatish maqsadga
muvofiq. Bunday diapazonni tanlash esa С++ programmasida juda qulay va oson
amalga oshiriladi.
Buning uchun quyidagicha С++ programmalash tili funksiyasidan foydalanish
zarur.
map (analogRead(A0); 0; 1023; 300; 1023);
(3.10)
Ushbu funksiya yordamida ARO‘ ning chiqish signalini 0 da 1023 gacha sizni
qanaoatlantiradigan dapazonni tanlashingiz mumkin.
|