Staro za novo ili Internet of Things - II deo
U prošlom blog postu upoznali smo se sa osnovnim konceptima IoT-a (Internet of Things), naveli izazove koje nosi sa sobom, sada idemo dalje, jedan korak ispred. Postoje različita mišljenja o IoT-u. Neki smatraju da je energija jedan od ozbiljnijih problema koje IoT donosi. Sa druge strane pojedini misle da je to sigurnost podataka, mada ima i onih koji smatraju da je IoT trenutna moda, to morate da procenite sami. No mišljenja su različita i dobro ih je imati. “Staro za novo”, to je mišljenje autora ovog teksta. No, nastavljamo dalje. U ovom blog postu upoznaćemo se sa više tipova analognih senzora i kako se modeluju varijabilnim naponskim razdelnikom. Nakon toga, predstavićemo nezavisno razvojno okruženje podobno za simulaciju kako analognih senzora tako i senzora sa digitalnim izlazom.
Slika 1: Električna šema razvojnog okruženja. |
Sharp GP2D120XJ00F Senzor
Popularan među
robotičarima za merenje udaljenosti u cilju zaobilaženja prepreka mobilnog
robota, Sharp GP2D120XJ00F spada u analogne senzore bazirane na infracrvenom
talasu. Ovom prilikom se nećemo baviti internom strukturom sensozora već spregom
istog sa ostatkom sistema i njegovom karakteristikom. Senzor poseduje tri pina:
Vcc, GND i Vout, što ga čini vrlo jednostavnim za spregu sa ostatkom sistema
JST (Japan
Solderless Terminal) konektorom, slika 2.a.
Samim tim podoban je za modelovanje modelom senzora prikazanim na slici 6.a,
jer upravo ima identičnu spregu tj. pinove. Karakteristika senzora tj. funkcija
mapiranja udaljenosti na Vout je nelinearna funkcija i dostiže pik na 3.1 volti
pri udaljenosti od ~3 cm, slika 2.b. Kao što vidite, počevši od ~3cm, kako
udaljenost raste voltaža opada. Od 0 do ~3cm karakteristika je rastuća.
Međutim, karakteristika samog senzora nije od suštinskog značaja prilikom
simulacije tj. da li je ista linearna ili ne. Ista tvrdnja važi i za ostale
analogne senzore. Karakteristika se svakako može linearizovati metodom analogne
linearizacije po segmentima. U ovom slučaju svaki linearni segment bi imao
opseg mogućih udaljenosti i njoj pridružene voltaže. Ono što se računa prilikom
simulacije je to, da simulatorom omogućimo pokrivanje analognog opsega na
izlazu senzora u granicama [Vout min, Vout max],
konkretno za Sharp [0V – 3.1V] respektivno. Sharp GP2D120XJ00F zahteva analogno
digitalnu konverziju kako bi se konvertovane vrednosti očitale
mikrokontrolerom/procesorom.
Slika 2: Senzor za merenje udaljenosti. |
TMP 35/36/37 Senzori
Popularni set senzora sa
tri izvoda za merenje temperature u opsegu od -50 do 125 stepena celzijusa
linearne karakterisitke, što ga čini povoljnim za modelovanje prikazanim
modelom senzora na slici 6.a. Kao i kod Sharpovog senzora udaljenosti, pinovi
su označeni sa Vcc, GND i Vout, slika 3.b. Kako temperatura raste tako se Vout
linearno menja na izlazu senzora, slika 3.f. Sam sensor je poprilično
jednostavan za korišćenje pri čemu zahteva analogno digitalnu konverziju pre
nego što se konvertovane vrednosti mogu očitati mikrokontrolerom/procesorom.
Ono što je nama bitno u ovom slučaju jeste da je TMP identičan modelu senzora
na slici 6.a.
Slika 3: Senzori temperature, vlažnosti i inteziteta
svetlosti. |
HIH-4030/4031
HIH-4030/4031 je senzor relativne vlažnosti vazduha odnosno
stepena zasićenosti vazduha vodenom parom, a izražava se u procentima. Senzor
poseduje tri izvoda: Vcc, GND i Vout (slika 3.a), čime je isti podoban za
modelovanje modelom senzora sa slike 6.a. Ima linearnu karkteristiku pri čemu
se Vout menja u zavisnosti od promene relativne vlažnosti vazduha, slike 3.d i
3.e. Kao i ostali senzori i HIH 4030/4031 zahteva analogno digitalnu konverziju
pre nego što se konvertovana vrednost može očitati mikrokontrolerom/procesorom.
HIH se može koristiti u kombinaciji sa senzorom temperature TMP 35/36/37.
LDR Sensor
Gore pomenuti senzori poseduju tri pina od kojih su dva vezana za napajanje Vcc i GND, preostali treći je analogni signal Vout. Možda ste se već zapitali da li je model senzora sa slike 6.a. podoban za sve tipove senzora, ako uzmemo u obzir da postoje senzori bez napajanja tj. bez Vcc i GND. LDR tj. Light Dependent Resistor je varijabilni otpornik čija otpornost zavisi od inteziteta svetlosti. Varijacija otpornisti postiže se upotrebom cadmium sulphide (cdS) ćelije koja menja karakteriku u zavisnosti od promene inteziteta svetlosti. Ovde moramo obratiti pažnju da je otpornost ta koja se menja. U tom slučaju možemo se zapitati na koji način možemo modelovati LDR senzor modelom sa slike 6.a. Tipovi senzora kao što su LDR se uvek vežu redno na otpornik određene otpornosti R, formirajući naponski razdelnik prikazan na slici 4. Jedan kraj LDR-a se veže za GND dok se jedan kraj otpronika R veže za Vcc. Kako se otpornost LDR-a menja promenom inteziteta svetlosti, takođe dolazi i do promene napona u tački A, što upravo čini analogni signal. Ako signal A označimo sa Vout, kako je to i prikazano na slici 4. dobijamo analogni senzor svetlosti sa tri izvoda (PIN1, PIN2 i PIN3), podoban za modelovanje modelom senzora sa slike 6.a. NORP12/NSL19-M51 je konkretan primer LDR senzora sa dve cdS ćelije pri čemu otpornost LDR-a opada sa povećanjem inteziteta svetlosti. LDR senzori zahtevaju analogno digitalnu konverziju pre nego što se konvertovana vrednost može očitati mikrokontrolerom/procesorom.
Slika 4: Analogni LDR senzor. |
Senzori temperature, vlažnosti vazduha i svetlosti se često kombinuju zajedno. Sve što je potrebno uraditi jeste semplovati sve tri vrednosti kako bi u datim diskretnim trenucima vremena dobili nama potrebne informacije. Konceptualna šema sva tri senzora prikazana je na slici 3.c.
FSR Senzor
FSR senzori su slični LDR senzorima. FDR je skraćenica
za Force Sensitive Resistor pri čemu se otpornost istog menja u zavisnosti od
promene inteziteta sile. Funkcionalno gledano, razlike između FDR i FSR senzora
nema osim u načinu promene otpornosti. FSR senzori se takođe vežu na red sa
dodatnim otpornikom otpornosti R, formirajući naponski razdelnik prikazan na
slikama 5.a i 5.b. Različitim intezitetom sile, koja deluje na površinu FSR-a u
tački A dolazi do promene napona a samim tim dobijamo i analogni signal. FSR
402 i FSR 408 predstavljaju konkretan primer upotrebe FSR-a. Kao što možemo
videti oba senzora su konfigurisana kao naponski razdelnik pri čemu dobijamo
senzore podobne za modelovanje modelom senzora sa slike 6.a. FSR senzor zahteva
analogno digitalnu konverziju pre nego što se konvertovana vrednost očita
mikrokontrolerom/procesorom.
Slika 5: Analogni FSR senzori FSR402 i FSR408 |
Simulacija – Naponski razdelnik sa potenciometrom
Postoji veliki broj analognih senzora, nema smisla
navoditi ih sve, bitno je razumeti da se gotovo svaki senzor sa analognim
signal izlazom može modelovati modelom senzora sa slike 6.a. Na osnovu gore
navedenog, očigledno je da se analogni senzori simuliraju rednom vezom fikse
otpornosti R1 i potenciometrom P1 tj. naponskim razdelnikom, prikazan na slici
6.b. Kao što možemo videti iz jednačine, Vout zavisi od više veličina: Vcc
(napon napajanja), vrednosti otpornika R1 i od otpornosti R koja zavisi od
trenutne pozicije klizača (wiper) potenciometra P1. Konkretno, na razvojnom
sistemu sa slile 1. za R1 je odabrana vrednost 1K oma i 5K oma za nominalnu
otpornost potenciometra P1. U praksi se obično uzimaju velike vrednosti otpornosti
iz prostog razloga što želimo smanjiti intezitet struje kroz granu naponskog
razdelnika, čime smanjujemo i potrošnju. Sa druge strane R1 ima i ulogu zaštite
ukoliko se klizač (wiper) pozicionira u gornju tačku, na slici 6.c. označenu sa
TG. R1 je obavezan zaštitni otpornik ukoliko želite da izbegnete struje curenja
kroz klizač potenciometra (takođe ima maksimalno dozvoljeni intezitet struje –
maximum wiper current) koje mogu oštetiti kako sam potenciometar tako i ostatak
kola. Pomeranjem položaja klizača potenciometra P1, Vout se analogno menja u
vremenu, slika 6.e. Maksimalna vrednost simuliranog analognog signala može
dostići vrednost Vref koja se računa na osnovu Vout jednačine ali u odnosu na
nominalnu vrednost potenciometra P1. U slučaju simulatora najbolje je odabrati
potenciometar sa linearnom promenom otpornosti.
Slika 6: Model senzora, varijabilni naponski razdelnik
i kritična pozicija klizača potenciometra. |
Razvojna ploča
Na razvojnoj ploči (u daljem tekstu ploči) postoji osam senzor
simulatora čiji su analogni izlazi označeni sa SIM_Sx gde je x = { 1, … , 8 }. Izlaz svakog analognog
simulatora vezuje se za tri konektora: COMP_JMPx, ADG_JMPx i MCP_JMPx gde je x
= { 1, … , 8 }. Svaki konektor je muški pinhead konektor sa tri izvoda pri čemu se srednji izvod veže
za komparator, analogni multiplekser i analogno digitalni konvertor
respektivno.
Potrebu
za komparatorima smo objasnili u prvom delu teksta “Staro za novo“. Ovom
prilikom ponavljamo, komparatori nam omogućavaju da semplujemo isključivo
kritične vrednosti analognih signala. Srednji izvod COMP_JMPx konektora se veže
za pozitivni ulaz OPAMP (LM339D Texas Instruments). Srednji izvod COMP_JMPx
kratkospojnikom vežemo za ANALOG_SIG_x ili za SIM_Sx gde je x = { 1, … ,
8 }. Sa ANALOG_SIGx označeni su Vout signali koji direktno dolaze sa realnih
analognih senzora o kojima smo već pisali u ovom tekstu. Analogni izlazi
realnih senzora se sprežu sa pločom pomoću ženskog pinhead konektora
ANALOG_OUT_IN. Isti konektor je ulazno/izlazni konektor realnih analognih
signala. Sa SIM_Sx označeni su simulirani analogni signali koji dolaze sa
naponskih razdelnika. Na negativan ulaz OPAMP dovodi se signal označen sa
COMP_VREF_x gde je x = { 1, … , 8 }. Za svaki simulirani analogni signal
postoji referentni naponski razdelnik kako bi definisali kritične vrednosti
analognog signala, o čemu je pisano u prvom delu teksta “Staro za novo”. Izlaz
svakog komparatora vezan je na ulaz prioritetnog enkodera 4532D (Texas
Instruments) i ženskog pinhead konektora COMPARATORS_OUT.
Analog2Digital razvojna ploča. |
Potreba prioritetnog enkodera se prosto nameće jer je u
nekim situacijama potrebno izvršiti korekcije/upravljanje prioritetnijih
signala. Primer: mobilni robot koji skenira prostor koji je opasan po život
ljudi. Ukoliko temperaturni senzor TMP35 detektuje temperature koje štete
elektronici samog robota, isti moramo ukloniti iz date sredine. Temperatura je
u tom slučaju prioritetniji signal od svih ostalih koji služe skeniranju
prostora. Izlazi Q0, Q1 i Q2 4532D enkodera vezani su za analogni multiplexer
ADG1408 (Analog Devices) radi selektovanja prioritetnog analognog signala na
izlazu istog kola. Multipleksirani analogni signal sa izlaza ADG1408 se void
ili na analogni ulaz MCP3208 (Microchip) ADC kola radi potreba analogno
digitalne konverzije ili na pin ADG_OUT_SIGNAL konektora ANALOG_OUT_IN.
Na ovaj način pokrili smo različite slučajeve i učinili
ploču fleksibilnom. Imati različite mogućnosti na jednoj ploči je od suštinskog
značaja za razvojne sisteme. Stvar je bolja ukoliko ploča poseduje neki od
serijskih standarda komunikacije, što je u ovom slučaju rešeno sa SPI vezom
MCP3208 ADC integrisanog kola. Obratite pažnju da je u isto vreme moguće
kombinovati analogne signale simulatora i signale sa realnih analognih senzora.
Recimo, na ulaz ADG_S1 dovodimo signal sa realnog senzora preko ANALOG_SIG_1
ženskog pinhead konektora ANALOG_OUT_IN, tako da sa kratkospojnikom spojimo
ADG_S1 i ANALOG_SIG_1 pinove konektora ADG_JP1. Na ulaz ADG_S2 dovodimo signal
sa simulatora tako što kratko spajamo pinove SIM_S2 i ADG_S2 konektora ADG_JP2.
Multipleksranje ćemo u ovom slučaju izvršiti programski kontrolnim signalima
ADG_A0, ADG_A1 i ADG_A2 konektora CONTROL_SIGNALS. Nastaviti nabrajati sve
moguće kombinacije ove ploče je suludo, te je na vama da analizirate istu.
Za
potrebe analogno digitalne konverzije odabrano je rešenje kompanije Microchip,
dobro poznati MCP3208 ADC sa 8 analognih ulaza, integrisanim multiplexerom
analognih signala, sample and hold kolom, DAC i SPI serijskom vezom što ga čini
programabilnim. Detalje MCP3208 ADC integrisanog kola izostavljamo iz prostog
razloga što postoji javno dostupna dokumentacija kao i za sva ostala
integrisana kola ove ploče. CONTROL_SIGNALS konektor sadrži sve signale
potrebne za upravljanje MCP3208 ADC IC-om. Ono što izdvajamo jeste da SPI
serijaka komunikacija uz sve dostupne ulazno izlazne konektore ovu ploču čini
nezavisnim ekosistemom koji je moguće koristiti u sprezi sa drugim embedded
ekosistemima.
Ploča ima dosta mogućnosti, ali mesta za poboljšanja postoje. Ono što je bitno
jeste da nam ista omogućava simulaciju analognih signala pri čemu smanjujemo
troškove nabavke realnih analognih senzora, ali isto tako nam omogućava i da
radimo u okruženjima u kojima već i radimo. Kako je MCP3208 ADC sastavni deo
ove ploče, omogućena je simulacija senzora sa digitalnim izlazom, pri čemu ova
ploča pokriva širok dijapazon simulacije različitih tipova senzora. U trenutku
kada simulacija pokaže rezultate na istu ploču moguće je povezati realne
senzore a zatim proveriti kako naše rešenje radi i u realnim situacijama. Šema
i PCB dizajn je dostupan putem zvaničnog sajta InfoElektronike i može se
slobodno modifikovati po vašim željama. Za više detalja uključujući i 3D modele
PCB-a u različitim edicijama: BlackGold, BlueGold, RedGold i GreenGold možete
posetiti sledeći link: http://www.zilsel-invent.com/analog2digital.xhtml.
Autor: Vladimir Savić
Reference
links:
Comments
Post a Comment