Klik hier voor de Engelse versie van de broncode.

Snel een systeem ontwerpen om de menselijke aanwezigheid betrouwbaar te voelen

Door Bill Giovino

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

Ontwerpers van ingebedde systemen, met name die voor Internet of Things (IoT)-toepassingen, krijgen steeds vaker de taak om de aanwezigheid van mensen in een doelgebied te detecteren. De toepassingen variëren van beveiliging tot verlichting en algemene gebouwautomatisering, maar ze delen allemaal de uitdaging van kosteneffectieve, betrouwbare detectie.

Dit artikel bespreekt het belang van betrouwbare detectie van menselijke aanwezigheid en waarom populaire aanwezigheidssensoren zoals camera's en gewone thermische sensoren vaak niet de optimale detectiemodaliteit zijn. Het zal dan slimme thermische sensoren introduceren en hoe ze kunnen worden gebruikt met een microcontroller om het probleem van betrouwbare aanwezigheidssensoren op een kosteneffectieve en eenvoudige manier aan te pakken.

Falen van de sensor kan kostbaar zijn

De gevolgen van een mislukte of valse detectie in een aanwezigheidssensorsysteem variëren van het lastige tot het dure. Bij verlichting betekent het niet detecteren bijvoorbeeld dat iemand de verlichting eenvoudigweg handmatig moet aanzetten. Een vals-positief kan leiden tot een dure verlichtingsrekening. Hetzelfde geldt voor de gebouwautomatisering, waar HVAC's nu vaak op afstand worden geoptimaliseerd rond de menselijke aanwezigheid met behulp van het ivd. Voor de veiligheid kan een vals-positief resulteren in een vals alarm, wat kostbaar kan zijn als de lokale politie moet worden gebeld. Het niet detecteren kan leiden tot verlies van eigendommen of persoonlijk letsel.

In elk van deze situaties moeten een of meer personen met een hoge mate van betrouwbaarheid worden gedetecteerd. Camera's zijn goed als ze met intelligente software worden gebruikt. Als een live of opgeslagen video-feed echter niet nodig is, kan dit overkill zijn en ook volledig afhankelijk zijn van de betrouwbaarheid van de bijbehorende software. Video gaat er ook van uit dat personen gemakkelijk herkenbaar zijn als mensen op video, en dat ze in het zicht van de camera's staan en niet worden verdoezeld door dozen of kastenwanden.

Gewone thermische sensoren kunnen de aanwezigheid van menselijke lichaamswarmte detecteren, maar missen elke intelligentie om beweging te detecteren of het aantal personen te identificeren.

Betrouwbaarheid door slimme eenvoud

De oplossing voor het bereiken van de juiste balans tussen betrouwbaarheid en kosten ligt in de D6T serie slimme thermische sensoren van Omron Electronics Components. Elke D6T is speciaal ontworpen om menselijke aanwezigheid te detecteren binnen het thermische detectiebereik van de sensoren. Elke D6T heeft 1, 8 of 16 thermopile sensorchips achter een siliciumlens, met een aangepaste ASIC om de uitgang te verwerken (afbeelding 1).

Afbeelding van de Omron D6T-sensor uit de D6T-serie

Cijfer 1: De Omron D6T-serie thermische sensoren zijn kleiner dan een postzegel en zetten automatisch infrarood licht om in een matrix van temperaturen van Celsius (°C). (Beeldbron: Omron)

De lens verzamelt infraroodstraling binnen het detectiebereik van het apparaat en richt deze op de thermopile sensoren. De intensiteit van de infraroodstraling komt overeen met de oppervlaktetemperatuur van de objecten in dat bereik. De thermopiles meten de intensiteit van de infraroodstraling als een weerstand, die wordt gevoed aan een aangepaste ASIC aan boord. De ASIC zet de weerstand tegen temperatuur (°C) om, die beschikbaar is voor een microcontroller over een I2C seriële interface. Het detecteerbare temperatuurbereik ligt tussen -40°C en +85°C.

Eenvoudige detectie

De eenvoudigste sensor in de D6T-productlijn is de D6T-1A-01. Het heeft een enkele thermopile sensor achter de lens, dus het geeft een enkele temperatuur uit. De siliconelens heeft een gezichtsveld (FOV) van 58,0 graden in zowel de X- als de Y-richting. De FOV is belangrijk voor het identificeren van personen die binnen het toepassingsgebied van de FOV vallen. Voor de D6T-1A-01 geldt dat als een persoon zijn 58,0 graden X en Y FOV's volledig vult, de aflezing voor de enkele thermopile sensor de uitgestraalde oppervlaktetemperatuur van de persoon zal zijn. Als de persoon de FOV echter niet volledig vult, dan zal de temperatuurmeting voor een enkele thermopile sensor een combinatie zijn van de infraroodstraling van de persoon plus de achtergrondstraling (figuur 2).

Afbeelding van FOV van een enkele D6T thermopile sensor

Cijfer 2: Binnen de FOV van een enkele D6T thermopile sensor, hoe dichter een persoon is, hoe nauwkeuriger de thermische detectie, omdat een persoon meer van de FOV zal vullen. (Beeldbron: Omron)

Voor een meer gefocust detectiegebied heeft de Omron D6T-1A-02 ook een enkele thermopile sensor, maar de siliciumlens heeft een smallere FOV van 26,5 graden.

Geavanceerde detectie in een kamer

Voor meer geavanceerde aanwezigheidsdetectie-eisen heeft de D6T-44L-06 thermische systemen (MEMS) 16 thermopile sensoren in een 4x4 matrix. Hierdoor kan de D6T niet alleen menselijke aanwezigheid detecteren, maar ook de locatie en beweging van meer dan één persoon (figuur 3). De FOV van deze sensor is 44,2 graden X, 45,7 graden Y, en het is de moeite waard om op te merken dat het AEC-Q100 gekwalificeerd is voor automobieltoepassingen.

Afbeelding van de Omron D6T-44L-06 thermische sensor

Cijfer 3: De Omron D6T-44L-06 thermische sensor kan met zijn 4x4 thermische sensormatrix meerdere personen in een ruimte detecteren. In dit voorbeeld vertegenwoordigt het resultaat van de temperatuurdetectie de oppervlaktetemperatuur als kleuren met rood voor de heetste detectie, tot oranje, geel, donkergroen, groen, cyaan en blauw voor de koudste. (Beeldbron: Omron)

In een typisch scenario waarbij de D6T-44L-06 twee personen in een kamer detecteert, toont de eerste foto in figuur 3 niemand in een kamer, die wordt weergegeven door koele blauwgroene kleuren. De tweede foto toont twee mensen in de kamer, naast elkaar. Uit nauwkeurig onderzoek blijkt dat de oppervlaktetemperatuur die door de afzonderlijke sensoren wordt gedetecteerd, ruwweg weergegeven door de kleuren in de bodem, evenredig is met hoeveel het lichaam van de persoon het gebied van de sensor vult. De uitgestraalde warmte van de mensen verwarmt de vloer, vertegenwoordigd door geel.

De derde foto laat de temperatuur zien nadat de mensen zijn opgestaan en naar rechts zijn gelopen, uit de kamer. Merk op dat er nog enige restoppervlaktetemperatuur is als gevolg van hun vorige posities, en ook als gevolg van hun beweging van links naar rechts van het frame.

Voor alle drie de situaties, en vooral voor de laatste foto, is het aan de firmware-ontwikkelaar om de positie, locatie en beweging te onderscheiden op basis van de huidige en vroegere oppervlaktetemperatuurmetingen. Bedenk dat als er in eerste instantie niemand in de kamer was, zoals op de eerste foto, en één persoon de kamer binnenkwam vanaf de rechterzijde zoals weergegeven op de derde foto, het resultaat van de temperatuurdetectie voor de derde foto veel anders zou zijn.

Vernauwing van het detectieveld

Voor een veel smaller detectieveld gebruikt het D6T-8L-09 een 1x8 MEMS thermische sensor matrix (figuur 4). Deze sensor heeft een brede X FOV van 54,5 graden, met een smalle Y FOV van 5,5 graden.

Diagram van Omron D6T-8L-09 maakt gebruik van een 1x8 thermische sensormatrix.

Cijfer 4: De Omron D6T-8L-09 maakt gebruik van een 1x8 thermische sensormatrix met een smalle Y FOV van 5,5 graden, waardoor hij geschikt is voor scantoepassingen. (Beeldbron: Omron)

Met de D6T-8L-09 kan een systeem worden ontwikkeld om te scannen op mensen die zich door een gang bewegen. Dit kan vooral nuttig zijn als het net voor de ingang van een deur aan het einde van een gang wordt geplaatst. Beweging kan in elke horizontale richting worden gedetecteerd. Dit apparaat kan ook worden gebruikt om verticale beweging op een ladder te detecteren of onder een hoek om beweging op een trap te detecteren.

Voor ontwerpers die de D6T-serie gebruiken, is het geruststellend om te zien dat alle D6T-apparaten dezelfde connectorinterface delen, zoals te zien is in de middelste tekening van figuur 4. Ze gebruiken ook een I2C interface om te communiceren met elke compatibele microcontroller. Voor het ontwikkelingsgemak biedt Omron de D6T-HARNESS-02-kabel die veilig kan worden aangesloten op elke D6T MEMS-sensor.

Om het maximale uit de sensoren te halen, is het belangrijk dat een eventuele afdekking van de siliconelens de gevoeligheid van de sensor voor infraroodstraling niet vermindert. Als een afdekking nodig is, moet het afdekmateriaal stralingswarmte doorlaten. Materialen zoals HDPE (high-density polyethyleen) laten dit toe, maar het materiaal moet nog steeds zo dun mogelijk zijn.

Gebruik van de D6T in een microcontrollersysteem

Voor een zelfstandige ingebedde toepassing moet een D6T systeem een interface hebben met een microcontroller die speciaal voor de taak is bedoeld, vooral als de toepassing voor de veiligheid is. De STM32L073VZ microcontroller van STMicro-elektronica moet voldoende krachtig zijn om het getal te kraken voor een D6T-toepassing (afbeelding 5). Het is gebaseerd op de Arm® Cortex®-M0+ kern met een geheugenbeschermingseenheid (MPU). De kern kan worden geklokt tussen 32 kilohertz (kHz) en 32 megahertz (MHz), en wordt ondersteund door 192 Kbytes aan flash, 20 Kbytes aan SRAM, en 6 Kbytes aan EEPROM. De microcontroller loopt van een spanningsrail tussen 1,65 en 3,6 volt en verbruikt 0,29 microampère (µA). Het heeft meerdere seriële interfaces, waaronder een I2C interface met een speciaal DMA-kanaal, evenals USB 2.0 en een LCD-driver.

Diagram van Arm Cortex-M0 gebaseerde STM32L073VZ microcontroller

Figuur 5: De Arm Cortex-M0 gebaseerde STM32L073VZ microcontroller is goed afgestemd op de D6T slimme thermische sensoren bij het ontwikkelen van een autonoom ingebed aanwezigheidssensorsysteem. (Bron afbeelding: STMicroelectronics)

Veel van de functies van de STM32L073VZ zijn een aanvulling op de D6T in een aanwezigheidssensorapplicatie. De 6 Kbytes van de interne EEPROM kunnen bijvoorbeeld worden gebruikt om aangepaste ruimte-identificatie-informatie op te slaan die kan veranderen op basis van de locatie van het D6T-systeem. De USB 2.0 interface kan worden gebruikt om informatie te downloaden naar een PC over inbraken in het verleden, zoals tijdstempels van gelogde detectiegebeurtenissen en het aantal geïdentificeerde personen. Deze informatie kan worden opgeslagen in de 20 Kbytes van het RAM of de EEPROM, terwijl 192 Kbytes van het flashgeheugen genoeg is om identificerende algoritmen op te slaan.

Het LCD-driver-randapparaat kan worden gekoppeld aan een extern LCD-display dat een lopende telling van de detectiegebeurtenissen kan weergeven. De 24-kanaals capacitieve sensor van de microcontroller kan de aanwezigheid van een vinger op een capacitief toetsenbord voor de configuratie van het systeem detecteren, of kan een interface maken met een capacitieve touchsensor in een beveiligingssysteem. Er zijn twee 12-bits digitaal-naar-analoog-converters (DAC's) beschikbaar die kunnen worden gekoppeld aan een luidspreker om een gesynthetiseerde stem of een akoestisch alarm te geven. De 12-bits analoog-digitaal converter (ADC) van de processor kan een interface maken met een temperatuursensor om omgevingstemperaturen te detecteren die de gevoeligheid van de D6T kunnen beïnvloeden. Voor een verlichtingsautomatiseringstoepassing kan de ADC verbinding maken met een lichtsensor om te detecteren of de verlichting met succes is ingeschakeld.

Voor gebouwbeveiligingstoepassingen kan het codegeheugen op de STM32L073VZ worden beveiligd met de interne firewall van de microcontroller. De firewall beschermt het interne geheugen tegen het lezen door een externe interface, zelfs als er een debugger is aangesloten.

Als u de STM32L073VZ gebruikt om de waarden in een D6T te lezen, moet u de registers via de I2C interface lezen. De D6T-1A apparaten hebben één register (P0) om de enkele thermische sensor uit te lezen, de D6T-8L apparaten hebben acht registers (P0-P7) en de D6T-44L hebben zestien registers (P0-P15).

Het lezen van gegevens van een D6T

Het aflezen van temperatuurgegevens van een D6T met de I2C interface is een relatief eenvoudige taak. Elke keer dat de microcontroller gegevens van een D6T leest, is het uitgangsformaat hetzelfde. Eerst wordt de waarde van de interne referentietemperatuur verzonden, gevolgd door de waarden van alle temperatuursensoren, en als laatste de CRC-8 pakketchecksom. Er is niets te configureren of te schrijven op de D6T-sensoren. De D6T ASIC is hard-wired om elke 250 milliseconden (ms) nieuwe sensormetingen op te nemen, waardoor de sensormetingen over de I2C-bus vier keer per seconde kunnen worden uitgevoerd. De I2C interface ondersteunt een maximale snelheid van 100 kHz.

Temperaturen worden gelezen als 16-bits ondertekende gegevens, waarbij de waarde tien keer de temperatuur in °C vertegenwoordigt, dus als de temperatuuraflezing 0x01D7 is, vertaalt dat zich naar 471, wat 47,1°C is. Als de registers 0xFF06 laten zien, betekent dat -250, wat -25,0°C is.

Omron levert I2C bibliotheekfuncties om temperatuurwaarden uit de D6T-sensorfamilie af te lezen. Merk op dat de D6T-1A-01, D6T-1A-02 en de D6T-8L-09 geen I2C-klok stretching ondersteunen, dus ze zijn niet in staat om de I2C-masterklok te vertragen als ze het niet kunnen bijhouden. Als dit nodig is, kan het zijn dat de firmware van de microcontroller hiervoor moet zorgen.

Praktische detectietechnieken

Bij het detecteren van mensen in een gebied moet de ontwikkelaar eerst monsters nemen met het gebied leeg om de oppervlaktetemperaturen voor de omgevingscondities te bepalen, en vervolgens monsters nemen met mensen die in dat gebied aanwezig zijn. Door de ADC in de STM32L073VZ aan te sluiten op een temperatuursensor kan de omgevingstemperatuur worden meegenomen in een willekeurig detectiealgoritme.

Het is moeilijk om een algemene richtlijn te geven voor aanwezigheidsdetectie, omdat elke kamersituatie anders zal zijn. Een van de detectiemethoden is echter het zoeken naar een plotselinge stijging van de temperatuur in een of meer thermopile-sensoren. Zoals te zien is in het voorbeeld in figuur 3, kan het zijn dat wanneer een persoon een gebied verlaat, de hogere resttemperatuur van het oppervlak op de vloer of het meubilair blijft hangen. Detectie van twee of meer personen is ingewikkelder dan detectie van één persoon, maar het is niet moeilijk als de basisdetectietechniek is gesorteerd op een temperatuurstijging.

Bij het kalibreren van het systeem tijdens de ontwikkeling kan de gevoeligheid van het systeem worden aangepast door van de te detecteren temperatuurstijging een variabele in de firmware te maken die uiteindelijk in de EEPROM in de STM32L073VZ wordt opgeslagen. Kalibratie moet gebeuren bij verschillende kamertemperaturen, met verschillende instellingen van de airconditioning en de warmte, en met mensen die T-shirts of winterjassen dragen.

Conclusie

Aanwezigheidsdetectie is een steeds belangrijkere functie voor ingebedde en ivd-systemen, en het moet effectief worden gedaan, met de juiste balans tussen kosten, eenvoud en effectiviteit. De Omron D6T-serie slimme oppervlaktetemperatuursensoren pakken deze balans aan en stellen ontwerpers in staat om snel een prototype te maken en een systeem te ontwikkelen om de aanwezigheid van meerdere personen in een ruimte te detecteren. In combinatie met de STM32L073V-microcontroller, die een flexibele set randapparatuur heeft, kan een detectiesysteem worden ontwikkeld dat eenvoudig, betrouwbaar en gemakkelijk op maat te maken is.

 
DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Image of Bill Giovino

Bill Giovino

Bill Giovino is een ingenieur in elektronica met een BSEE van de Syracuse University. Hij is een van de weinigen die met succes de overstap maakten van ontwerpingenieur naar ingenieur veldtoepassingen en vervolgens naar technologiemarketing.

Meer dan 25 jaar lang heeft Bill met veel toewijding nieuwe technologieën gepromoot ten overstaan van zowel technisch als niet-technisch publiek voor vele bedrijven, waaronder STMicroelectronics, Intel en Maxim Integrated. Toen hij bij STMicroelectronics actief was, hielp Bill bij de doorbraak van de eerste successen van het bedrijf in de sector van microcontrollers. Bij Infineon stond Bill in voor de eerste toepassingen van het microcontrollerontwerp van het bedrijf in de Amerikaanse autosector. Als marketing consultant voor zijn bedrijf CPU Technologies, hielp Bill vele bedrijven om laag presterende producten op te krikken en er een succesverhaal van te maken.

Bill was een van de eersten die het Internet of Things toepaste. Hij plaatste de eerste volledige TCP/IP-stack op een microcontroller. Bill is trouw aan het motto “Verkoop via opvoeding” en wijst op het toenemende belang van duidelijke, goed geschreven mededelingen om producten online te promoten. Hij is moderator van de populaire LinkedIn Semiconductor Sales & Marketing Group en spreekt vlot B2E.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey