Uporaba temperaturnega senzorja LM35

Na analogni vhod A0 razvojne plošče Arduino Uno bomo priključili temperaturni senzor LM35. Temperaturni senzor LM 35 smo že spoznali pri vaji Merjenje in prikaz temperature na LCD.

Najprej bomo izdelali virtualni instrument, ki bo meril in prikazoval temperaturo v °C. Temperatura se naj prikazuje na termometru (Thermometer) in na grafikonu (Waveform Chart). Če temperatura preseže vrednost 30°C, se naj na Čelni plošči vklopi simulacijska LED dioda (Boolean Round LED). Temperatura se naj izmeri vsakih 300 ms.

Slika 1: Blok diagram

Napetost na izbranem analognem vhodu A0 (izhod temperaturnega senzorja LM35) pomnožimo z 100 zato, ker ima temperaturni senzor karakteristiko 10 mV / 1°C. Z uporabo primerjalnika (Greater?) primerjamo izmerjeno temperaturo z nastavljeno vrednostjo, ki znaša 30°C. Če izmerjena temperatura preseže vrednost 30°C, vklopi LED dioda.

Zanka While se ponovi vsakih 300 ms. Vsakih 300 ms se torej izvede meritev temperature.

Za prikaz morebitne napake smo tokrat uporabili blok Simple Error Handler.vi (Functions > Programming > Dialog & User Interface > Simple Error Handler.vi), ki nam v dialognem oknu opiše napako, če je do nje prišlo.

Slika 2: Čelna plošča

Regulacija temperature v prostoru:

Izdelajmo virtualni instrument v okolju LabVIEW, ki bo komuniciral z Arduino Uno za regulacijo temperature v prostoru. Uporabili bomo senzor temperature LM35. Za grelec bomo uporabili upor, ki bo nameščen nepostedno ob senzorju. Tok ki teče skozi upor bo le tega segreval, upor pa bo segreval temperaturni senzor LM35. Za hlajenje bomo uporabili računalniški ventilator (12 V). Rdeča LED dioda naj sveti takrat, ko je vklopljen grelec, zelena LED dioda pa naj sveti takrat, ko je vklopljen ventilator.

Naloga naj deluje po neslednjih zahtevah:

Slika 3: Elektronski načrt in priključitev elementov na razvojno ploščo Arduino Uno

Kot je razvidno iz spodnjega posnetka, bomo izhod temperaturnega senzorja LM35 priključili na analogni pin A0, grelec na digitalni pin 2 in ventilator na digitalni pin 3 razvojne plošče Arduino Uno:

Poglejmo najprej algoritem programa v Blok diagramu in razlago.

Slika 4: Algoritem programa za regulacijo temperature v prostoru, Blok diagram

Vsi okvirji uporabljene strukture Case:

Slika 5: Zunanja struktura Case, selektor izbire True

Slika 6: Zunanja struktura Case, selektor izbire False, notranja struktura Case, selektor izbire True

Slika 7: Zunanja struktura Case, selektor izbire False, notranja struktura Case, selektor izbire False

Uporabili smo programsko strukturo Ploščata sekvenca (Flat Sequence Structure).

Sekvenca (Sequence) oziroma zaporedje je programska struktura, ki je namenjena določitvi vrstnega reda izvajanja kode. Uporablja se v primerih, ko je pomemben vrstni red izvajanja posameznih segmentov kode. Obstajata dve vrsti sekvenc:

Sekvenca je sestavljena iz več okvirjev. Pri zloženi sekvenci so okvirji zloženi en nad drugim, tako da je viden samo en okvir, pri ploščati sekvenci pa so okvirji nameščeni drug ob drugem in so tako vidni vsi okvirji.

Sekvenco kreiramo z orodjem Flat Sequence ali Stacked Sequence, ki se nahajata na paleti Functions > Programming > Structures. Privzeto se ob namestitvi sekvence kreira en okvir. Okvirje dodajamo z opcijama Add Frame After ali Add Frame Before v priročnem meniju strukture.

Sekvenca izvaja okvirje zaporedno in je tekom izvajanja ni mogoče prekiniti. Pri uporabi sekvenc je včasih potrebno podatke iz enega okvirja prenesti v drug okvir. Ploščate sekvence omogočajo kreiranje direktne povezave med objekti, ki se nahajajo v različnih okvirjih. Ob tem se na robu med okvirji kreira tunel.

Algoritem (koda programa) v našem primeru vsebuje sekvenco s tremi okvirji:

Levi okvir sekvence:

Slika 8: Funkcijskemu bloku Waveform Chart History spremenimo vlogo iz Read na Write.

Sredinski okvir sekvence:

Slika 9: Lokalni spremenljivki vklapljata oziroma izklapljata grelec in ventilator.

Desni okvir sekvence:

        Slika 10: Lokalni spremenljivki, povezani z Booleanovo konstanto False.

Čelna plošča

Posamezne kontrole smo namestili v kontrolo Tab Control (Controls > Modern > Containers > Tab Control) tako, da smo jih povlekli na izbrano stran Tab Control. V priročnem meniju Tab Control izbiramo dodajanje strani (Add Page After ali Add Page Before), omogočimo različne barve posameznih strani (Advanced > Allow Muliple Colors), izbiramo položaj zavihkov (Advanced > Tab Location > Right) in ostale stvari.

Okvir vmesnika izberemo Controls > Modern > Decorations > Vertical Smooth Box. Ko ga primerno razširimo, ga označimo in pošljemo v ozadje (orodna vrstica  Reorder > Move To Back. Če smo s položajem vseh objektov vmesnika zadovoljni, celotni vmesnik označimo (zunaj vmesnika pritisnemo na levo tipko miške in jo pridržimo ter z miško povlečemo preko celotnega vmesnika) in ga nato zaklenemo (orodna vrstica Reorder > Lock), da posameznih objektov na vmesniku in celotnega vmesnika ne moramo več premikati.