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ć
zilsel-invent

Tekst je objavljen u časopisu InfoElektronika broj 122

Reference links

Comments

Popular posts from this blog

Electrolytic capacitors and design rules