User manual

62
V funkciji SerialPort1_DataReceived() bo sedaj sledil najbolj zanimiv del programa VB.NET.
Ta funkcija bo klicana vsakič ko bodo prejeti podatki serijskega vmesnika. Tukaj preberemo
bajte ki jih pošlje program Arduino™ in jih takoj procesira. Pred branjem in procesiranjem
vedno preverimo ali je povezava najprej odprta in nato preverimo koliko bajtov je na voljo v
sprejemnem spominu. Nato preberemo bajte v input_data() in jim določimo prejete vrednosti
spremenljivkam HighByte, LowByte in crc. Na koncu preverimo, če se izračunana in prejeta
vsota ujemata, da ni prišlo do napake med prenosom. Sedaj izračunamo vrednost izmerjenih
meritev. Da dobimo določeno obliko uporabimo funkcijo Format() v VB.NET in izpišemo
urejeno vrednost v Label1.
16.1 Razširitev merilnega območja
Če želite meriti višje napetosti, potrebujete prenapetostni delivec, sestavljen iz upornika R1
in R2. Lahko ju uporabite za razširitev območja vhodne napetosti po želji. Vendar se bo
ločljivost zmanjšala z večjim merilnim območjem.
V našem primeru, ki je namenjen za vhodno napetost 5 V, je ločljivost 0,00488 V ali 4,88 mV
na pretvorbeni korak. Digitalna vrednost analognega vhoda lahko razreši 1024 korakov,ker
ima digitalno ločljivost 10 bitov.
Koraki pretvorbe (koraki): 1024 = 2
10
Ločljivost na število = U
ADC
/koraki
5 V / 1024 = 0,00488 V = 4,88 mV
Če bi dvignili vhodno napetost razpona na 30 V, bi se ločljivost zmanjšala za petkrat ((30 V
– 5 V) / 5 V = 5). Delali bi z ločljivostjo 0,0244 V = 24,4 mV.
Sedaj lahko določimo delivec napetosti za območje delovanja do 30 V. Kot že vemo hočemo
razširiti vhodno območje iz 5 V na 30 V, kar ustreza faktorju 5. Vhodni signal za merjenje
napetosti ne sme imeti prenizkih Ohmov in mora biti vsaj 100 k. Sodobni voltmetri imajo, za
primerjavo, vhodno upornost 10 M, da dajo kar najmanj obremenitve na vir napetosti in da
se izognejo napačnim rezultatom meritev.