Kiss Zoltán - Endrich Bauelemente Vertriebs GmbH

Elektronikai témájú publikációk gyűjteménye Elektronikai témájú publikációk gyűjteménye 7.

Kiss Zoltán - Export Manager - Endrich Bauelemente Vertriebs GmbH

A GigaDevice 32 bites mikrovezérlői IoT alkalmazásokhoz – Hatodik rész: A GigaDevice GD32VF RISC-V kontroller alapú IoT egylapos miniszámítógép programozása - szenzorok adatainak olvasása

2021 10 12.

Összefoglalás :

A cikksorozat előző részében bemutattuk az E-IoT platform népszerűsítésére az Endrich budapesti fejlesztő-központjában az év folyamán létrehozott a saját GD32VF alapú ipari egylapos számítógépet. Az IoT SBC hardvercsalád a hozzá tartozó perifériákkal hasznos kiértékelő és fejlesztőeszköz az IoT területén tevékenykedő mérnökök számára, hiszen az áramkör a mikrokontroller mellett számos szenzort is tartalmaz, valamint a befoglalt háromsávos (2G/NB-IoT/LTE-M) modem felruházza a GSM hálózaton történő adatkommunikáció lehetőségével is. A fejlesztés nyílt hardver és szoftver koncepción alapul, azaz bárki hozzáférhet a hardver kapcsoláshoz és a szoftver mintákhoz is a http://e-iot.info portálon. A cikksorozat következő részeiben ennek az eszköznek a programozásába, a szenzorok adatainak olvasásába és a kommunikációs csatorna kialakításába engedünk bepillantást.


A magazin hasábjain korábban bemutatott E-IoT bemutató rendszer, - mely tartalmaz minden olyan hardver-szoftver és szolgáltatás elemet, ami ezen a területen szükséges – egy egységes, könnyen hozzáférhető és átlátható minta rendszert ad a fejlesztők kezébe. A megoldások hardver és szoftver elemei szabadon hozzáférhetők, az Endrich IoT ökoszisztéma egyes szolgáltatásai, mint például az Endrich Cloud Database vagy az Endrich Visual Gateway szolgáltatás bizonyos feltételekkel a fejlesztőmérnökök számára ingyenesen rendelkezésre áll. Az előző cikkben a 2020-as Ipar Napjai kiállítás nagydíjas hardver család „zászlóshajóját” a GigaDevice 32 bites RISC-V architektúrájú mikrokontroller köré épített egylapos IoT számítógépet és a hozzá tartozó perifériákat mutattuk be. Manapság rengeteg miniszámítógép kapható kereskedelmi forgalomban, gondoljunk csak a népszerű Arduino, Raspberry Pi vagy ESP32 eszközökre, azonban az Endrich saját fejlesztésű SBC (Single Board Computer) megoldása az ipari kivitel (hőmérséklet tartomány) mellett számos extra funkciót is hordoz, mint például a környezeti paraméterek mérésére szolgáló szenzorok nyújtotta lehetőségek, és az integrált NB-IoT/LTE-M modem, ami IoT célú GSM kommunikációval egészíti ki az alapfunkciókat.

A GigaDevice 32 bites mikrovezérlői IoT alkalmazásokhoz –  Hatodik rész: A GigaDevice GD32VF RISC-V kontroller alapú IoT egylapos miniszámítógép programozása  - szenzorok adatainak olvasása

Az E-IoT SBC szolgáltatásai

[1] Az Endrich IoT hadrvercsalád alapja az IoT SBC, mely minden szükséges funkciót integrál

Az általános IoT eszközök három alapfeladatát, az érzékelést, az adatgyűjtés és az adattovábbítás vezérlését, valamint magát az adatkommunikációt az E-IoT hardvercsalád központi eleme a „zászlóshajó”, az IoT képességek teljes skáláját felvonultató független IoT csomópontként működtethető E-IoT SBC biztosítja. Ez a kártya egy adatgyűjtő-továbbító és vezérlőkártya is egyben, mely tartalmazza a szenzorokat, az adatgyűjtés „karmesterét”, a mikrokontrollert, valamint a kommunikációs csatornát biztosító GSM modemet is. A GigaDevice RISC-V mikrovezérlője folyamatosan mintavételezi mind a fedélzeti szenzorokat, mind az egyes külső perifériák (szenzorkártyák) felől érkező adatokat is. Elkészíti az Endrich Cloud Database számára értelmezhető JSON datagrammot és automatikusan felveszi a kapcsolatot a szerverrel. Képes a keskenysávú IoT hálózaton, az LTE-M (CAT-M1) hálózaton, vagy ezek hiányában akár a GPRS (2G) hálózaton is kommunikálni. (Egy ebből a megoldásból iterált változat az MVM-Net hálózatán LTE-M szolgáltatás használatára alkalmas speciális 450 MHz-es modemmel rendelkező lap).

Az SBC rendelkezik 3 külső általános célú I/O porttal (GPIO) is, melyek 3.3V-os TTL szinttel vezérelhető relé modulok vagy más teljesítményfokozat illesztésével nagyobb feszültségű eszközök kapcsolására használhatók és a megfelelő védelemmel is el vannak látva. Így a szenzorok mérte adatok alapján közvetlen beavatkozásra is van lehetőség, mint például hőmérsékletemelkedés esetén nagyteljesítményű ventilátor indítása, sötétség leszálltakor világítás kapcsolása. Az áramköri lapon a GSM modem AT parancsvezérlésre használható UART bemenete egy mini USB csatlakozón keresztül ki van vezetve, így ez a kártya használható a Fibocom GSM próbapanel kiváltására is, ezen a porton keresztül PC-hez kapcsolva a GSM modem külön is működtethető. Hasonlóan a mikrokontroller „in-circuit” programozó UART bemenete is kivezetésre került, így egy külső GD-LINK eszköz használatával, vagy az USB-C csatlakozáson keresztül közvetlenül egy számítógéphez kapcsolva és a Windows/Linux által DFU eszközként felismerve a kezünkben van egy jól felszerelt GIGADEVICE RISK-V MCU próbapanel is.

Az E-IoT SBC használata

A mikrokontroller lap részletes programozási segédlete a https://E-IoT.info oldalon megtalálható, jelen írásunkban leginkább néhány fontos érzékelő illesztésére, ezek adatainak lekérdezésére és azok az Endrich által biztosított felhő alapú adatbázisba való juttatásárára szorítkoznánk.

Termisztor illesztése mikrokontrolleres rendszerhez

Az ellenállás hőfüggésén alapuló szenzorok egyik csoportját a termisztorok alkotják. Ezeket a félvezető kerámia alapanyagú alkatrészeket nemlineáris ellenállás-hőmérséklet karakterisztika jellemzi. Ha a hőmérséklet emelkedésének hatására jobb áramvezetőkké válnak, akkor NTC-nek hívjuk az ilyen típusú termisztort. Az NTC erősen nemlineáris viselkedést mutat, más hőmérsékletszenzorokkal összehasonlítva előnye a nagyobb érzékenység, hiszen ugyanakkora hőmérsékletváltozás jelentősebb mértékben változtatja meg az ellenállás értékét, ezáltal a kiértékelő elektronika könnyebben dolgozhatja fel a nagyobb elektronikus válaszjelet.

Az NTC ellenállás – hőfüggés karakterisztikája első közelítésben exponenciális függvénynek tekinthető, mely az alábbi képlettel közelíthető:

T25 = 298,15 [K] (25 oC), T: hőmérséklet [K]

Az R25 a +25°C referencia hőmérsékleten felvett ellenállás értéket jelenti, az ún. B-érték [K] pedig a következő (1)-ből adódó logaritmikus összefüggéssel jellemezhető módon teremt összefüggést az ellenállás és a hőmérséklet között:

A legtöbb alkalmazásban (1) elégséges matematikai korrelációt ad az ellenállás hőmérsékletfüggésének egy széles hőmérséklettartományon (0 °C -100 °C) való ±1°C pontosságú leírásához, azonban, ha ennél akkurátusabb összefüggésre van szükség, akkor bonyolultabb képlet alkalmazása válik szükségessé. A ma ismert és leginkább elfogadott közelítést a Steinhart-Hart féle egyenlet adja:

Az R a T hőmérsékleten mért ellenállás értéke a (3) összefüggésben, az A, B és C együtthatók pedig a kísérleti mérésekből származó Steinhart-Hart koefficiensek, melyeket az NTC chip gyártója tesz közzé. Ez a formula kb. ±0.15° pontosságot ad a -50°C +150°C hőmérséklettartományon, ami a legtöbb alkalmazásban messzemenőkig megfelelő. Ha elegendő csak a 0°C -+100°C tartományon közelíteni a függvényértékeket, akkor elérhető vele a ±0.01°C pontosság is.

A hőmérsékletet a termisztor ellenállásának közvetett mérésével határozhatjuk meg. Ehhez az azon eső feszültség értékének detektálásával az ellenállás számításával a mikrokontrollert kell segítségül hívni, majd az ellenállás ismeretében a hőmérséklet számítható.

A következő ábrán látható elvi kapcsolási rajz nem más, mint egy feszültségosztó, ahol az R1 ellenállás egy ismert ellenállásérték (célszerűen megegyezik az NTC 25°C-on vett ellenállásértékével), ezzel sorba kötve helyezkedik el az NTC. Az R1 egyik kivezetése az MCU tápfeszültségére van felhúzva, még az NTC másik lába 0 potenciálon van.

2| Ellenállásos osztó áramkör

Az RNTC ellenállás értéke az alábbi képlettel számítható:

Ahol R1 és Utáp ismert adatok, az UNTC pedig a mikrokontroller A/D átalakítóján mért feszültség értéke. Amennyiben az RNTC számított értéke rendelkezésre áll, több lehetőség van a kívánt hőmérsékletérték meghatározására.

1. módszer: A legtöbb alkalmazásban az (1) egyenletből származtatott képlettel közelítően számított hőmérsékletérték elégséges matematikai korrelációt ad az hőmérséklet ellenállásfüggésének egy széles hőmérséklettartományon (0 °C -100 °C) való ±1°C pontosságú leírásához

2. módszer: ha az 1. módszernél akkurátusabb összefüggésre van szükség, akkor bonyolultabb képlet alkalmazása válik szükségessé. A ma ismert és leginkább elfogadott közelítést a korábban elmondottak alapján a Steinhart-Hart féle egyenlet adja, ebből a hőmérséklet az alábbi módon számolható :

3. módszer: Gyártói katalógusadat a diszkrét adatpárokból álló NTC R-T táblázat, ahol az egyes szomszédos adatok között a jelleggörbe lineárisnak tekinthető. Egy a táblázatban nem szereplő RNTC mért ellenállás esetén a legközelebbi létező szomszédos R1 és R3 értékekhez tartozó T1 és T3 hőmérsékletadatokból a TNTC a következőképp számítható:

Maga a kapcsolás a következő oldali 3. ábrán látható. A tápfeszültségnek nevezett feszültség természetesen bármilyen ismert, a mikrokontrolleres rendszerben elérhető fix DC feszültség lehet, de célszerű értékét és az R1 ellenállás értékét is úgy megválasztani, hogy az MCU ADC bemenetének felbontását maximálisan ki tudjuk használni. Egy 12 bites ADC az MCU tápfeszültségét 212 részre osztja fel, azaz a 0V-hoz 0, a tápfeszültséghez 4096 érték tartozik. 5V tápfeszültség esetén a felbontás 0,00122V. Ha az NTC 25°C -on vett ellenállásával megegyező értékű R1 ellenállást választunk, akkor 25 °C-on a mért feszültség éppen a tápfeszültség fele lesz.

Abban az esetben, ha RNTC >> R1 (nagyon alacsony hőmérsékleten) a mért feszültség tart a tápfeszültség értékéhez, míg magas hőmérsékleten, ahol RNTC << R1 UNTC tart a nullához. Az ADC teljes felbontását kihasználtuk ezzel az elrendezéssel 0 - Utáp tartományon (az alábbi ábrán 5 V-os MCU tápfesz. esetén):

3| NTC illesztése az MCU ADC (analóg) bemenetére

A hőmérséklet meghatározása az 1. módszert használva a következő C kódrészlettel valósítható meg:

Látható fény szenzor illesztése mikrokontrolleres rendszerhez

Az iparban alkalmazott félvezető alapú fotoszenzorok egy része (fototranzisztor, fotodióda) az infravörös tartományban is érzékel, így alkalmatlanok szétválasztani az emberi szem érzékelési hullámhossztartományába eső látható fényt és a környező meleg tárgyak felől érkező hősugárzást. A komponensgyártók megoldása a problémára a félvezető alapú megoldások továbbfejlesztése és a fototranzisztor speciális infraszűrő bevonattal való ellátása, ami a komponens maximális érzékenységét eltolja a látható tartomány irányába.

A 4. ábrán látható összehasonlításban ez jól megfigyelhető.

4| Az emberi szem spektrális érzékenysége összevetve a bevonattal rendelkező ALS és a bevonat nélküli félvezető alapú szenzor spektrális érzékenység görbéjével (fototranzisztor)

Az így előállított félvezető alapú látható fény szenzorok az úgynevezett ALS (Ambient Light Sensor) szenzorok, melyek teljes mértékben megfelelnek az RoHS előírásainak és funkcionalitásukban közelítik az LDR megoldásokét. Az Everlight kínálatában szereplő ALS szenzorok közül szeretnék kiemelni két megoldást, az egyik egy analóg szenzor (ALS-PDIC15-21C/L230/TR8), a másik pedig egy digitális I2C buszos változat (ALS-DPDIC17-78C/L749/TR8), melyek helyet kaptak az E-IoT hardvercsalád eszközein is.

Analóg, felületszerelt láthatófény szenzor: ALS-PDIC15-21C/L230/TR8

Az eszköz a fényerősség az emberi szem érzékelési spektrumában érzékelhető változására arányos, lineáris áramerősség változással válaszol. 2.5V - 5.5V közötti feszültséggel táplálható. A miniatűr SMD eszköz (3.2mm*1.5mm*1.05mm) egy fotodiódát és egy erősítő IC-t tartalmazó chipből áll IR szűrő bevonattal. Az analóg kimenettel rendelkező szenzor mikrokontrollerhez való illesztését úgy oldhatjuk meg egyszerűen, hogy egy sorosan kapcsolt , azaz az ALS szenzor kimeneti áramával terhelt söntellenálláson eső feszültséget mérünk a 4. ábra szerinti elvi elrendezésben.

5| Ellenállásos osztó áramkör

Au USönt mérését a mikrokontroller egyik analóg bemenetén elhelyezkedő belső A/D átalakító végzi, a fényerősség az IALS áram meghatározása után (IALS = USönt/ RSönt) számítható. Ebből a fényerő - mért áram jelleggörbe alapján számítható a Lux érték. Az illesztést és az IALS ~ EV (Lux) összefüggést a 6. ábra mutatja.

6| Az analóg ALS illesztése mikrokontrollerhez, valamint a mért áramerősség és a fényerő lineáris kapcsolata

6| Az analóg ALS illesztése mikrokontrollerhez, valamint a mért áramerősség és a fényerő lineáris kapcsolata

Digitális I2C interfésszel ellátott láthatófény szenzor: ALS-DPDIC17-78C/L749/TR8A

A speciális IR szűrő bevonattal ellátott fotodióda biztosítja, hogy ez az eszköz is csak az emberi szem által érzékelhető fénytartományban működjön. A beépített 16 bites - I2C interfészen keresztül elérhető - A/D átalakítóval történő mintavételezés 0.0033Lux/lépés felbontást tesz lehetővé, a beépített alsó és felső határértékekhez rendelt megszakítás (interrupt) jelekkel egyszerűen vezérelhető az alkalmazott mikrokontroller. A maximálisan érzékelhető fényerősség 83000Lux. A kétcsatornás kimenet (emberi szem és tiszta fény) kiváló érzékelést tesz lehetővé különböző fényviszonyok között. A mikrokontrollerhez I2C buszon keresztül csatlakoztathatjuk a szenzort és az INT (interrupt) kimenet figyelésével a beállított határértékekhez tartozó fényviszonyok mellett különböző szoftver rutinok futtathatók (pl. fényerő emelése, csökkentése valamely impulzus szélesség modulációval ellátott digitális kimeneten keresztül).

7| A digitális ALS szenzor illesztése mikrokontrollerhez

A beépített erősítő programozható erősítéssel (x1, x4, x8, x32, X96) és az A6D konverter pedig programozható integrálási idővel ( A/D mintavételezések száma) rendelkezik, melyeket belső regisztereken keresztül állíthatunk .

Ez alapján a fényerősség a következőképp számítható :

Ha a CH0/CH1 < 0.42, Lux= (CH0/ PGA_ALS)*[64/( ALSCONV +1)]*K1

Ha 0.42 < CH0/CH1 < 0.61, Lux= (CH0/ PGA_ALS)*[64/( ALSCONV +1)]*K2

Ha CH0/CH1 > 0.61, Lux= (CH0/ PGA_ALS)*[64/( ALSCONV +1)]*K3

ahol

A sorozat következő (befejező) részében megmutatjuk, hogy miként lehet a szenzorok által gyűjtött adatokat a GSM modem segítségével UDP csatornán keresztül az Endrich Cloud Database szlgáltatás felé beküldeni.


| Megosztás a Facebookon | Megosztás a LinkedIn-en |

Hivatkozások

A cikk megjelent az alábbi helyeken:

# Média Link
1 Magyar Elektronika online A GigaDevice 32 bites mikrovezérlői IoT alkalmazásokhoz – hatodik rész

Kapcsolat

Az info(kukac)electronics-articles.com email címen vagy az alábbi ürlapon az adatkezelési nyilatkozat elfogadásával léphet velünk kapcsolatba.

Név
Cégnév
Email
Telefon
Üzenet
  Elolvastam és elfogadom az adatkezelési nyilatkozatot
  Feliratkozom a havi gyakoriságú, hasonló cikket tartalmazó műszaki hírlevélre.