PRE2Groep2 Experiment

From Control Systems Technology Group
Jump to navigation Jump to search

Beschrijving Arduino

We gebruiken een Arduino Mega uitgerust met een Adafruit PN532 NFC/RFID shield dat werkt op 13.56Mhz en een SparkFun Infrared Temperature Breakout - TMP006. De Sparkfun temperatuur sensor hebben we aangesloten zoals vermeld staat op de website van Sparkfun[1] (behalve dat we de kabels niet direct aan de Arduino aangesloten hebben, maar aan het RFID shield gesoldeerd hebben, waardoor we met behulp van SPI zowel het shield als de sensor kunnen aansturen), en we gebruiken de Sparkfun library[2] om hem eenvoudig aan te kunnen sturen. De library is voorzien van een handige functie die de gelezen temperatuur automatisch vertaald naar graden Celsius.

Het RFID shield hebben we grotendeels ook volgens de documentatie van de leverancier aangesloten[3], met uitzondering van de antenne. Deze wordt standaard niet aangesloten op een Arduino aangezien de SOC deze uitleest en de taak van communicatie met RFID tags in het geheel op zich neemt. Om dit te omzeilen hebben wij op het RFID shield zelf een kabel vastgesoldeert aan de RX pin van de antenne. Deze sluiten we vervolgens aan op de analoge input van onze Arduino en kunnen zo de voltages van de antenne direct aflezen. Adafruit heeft voor het RFID Shield een handige library[4] geschreven, die wij gebruiken om de RFID antenne te initialiseren voor communicatie met passive RFID tags.

De Arduino heeft zijn handen vol aan het continue inlezen van de antenne signalen, en niet genoeg geheugen om de signalen te kunnen verwerken. Daarom sturen we via USB alle signalen in realtime naar Matlab op een van onze computers. in Matlab worden alle data in matrices gezet, zodat we hier later analyses op kunnen uitvoeren.

Bronnen

Beschrijving experiment

'Onder constructie'

Om te testen of het mogelijk is om met grote betrouwbaarheid mensen te lokaliseren door middel van RFID- en warmte sensoren hebben we een kleinschalig experiment opgezet. Voor dit experiment hebben we een Arduino uitgerust met een 13.56Mhz RFID shield,en een thermopile shield. Op een tafel hebben we een raster gemaakt, en in sommige hokjes van dit raster worden objecten neergelegd waarop (minstens een van) de sensoren reageren. Op basis van de afmetingen van de RFID tags hebben we de hokjes 9 bij 8.5cm groot gemaakt. In ons experiment hebben we kartonnen bekertjes gevuld met warm water, en op een aantal van deze bekertjes hebben we RFID tags vastgeplakt. Ook hebben we een beker met RFID tag die we niet vullen, zodat alle mogelijke detectie waardes van de sensoren gedekt zijn (Alleen warmte, Alleen RFID, en zowel warmte als RFID). De Arduino bewegen we iedere keer met de hand naar een volgend hokje in het raster, waarna deze zijn metingen doet en doorgeeft aan een computer.

We hebben deze bekertjes tweemaal willekeurig verdeelt over het raster en hebben hierdoor twee situaties. Voor iedere situatie hebben we het experiment twee keer uitgevoerd, met verschilende samplerates voor de Arduino; één keer met een samplerate van 500 samples per hokje, en één keer met een samplerate van 1000 samples per hokje. Dit hebben we gedaan om rekening te houden met het feit dat de signaalsterkte zou kunnen varieren in tijd.

Hieronder zijn de twee situaties beschreven in een tabel.

Legenda De tabellen onder de kopjes situatie 1 en situatie 2 stellen het raster voor dat wij hebben uitgelegd op een tafel. In sommige hokjes staat tekst ter identificatie van de objecten die we op die hokjes hebben gelegd. Deze bestaan uit enkele letters gevolgd door een cijfer. De letters betekenen het volgende:

  • RW - Warm object met RFID tag.
  • W - Warm object
  • R - RFID tag

De cijfers achter deze letters worden gebruikt om tussen specifieke objecten van hetzelfde soort te kunnen differentieren.

Situatie 1

1 2 3 4 5 6 7 8 9 A B
8
7 RW4
6 RW2
5 W2 RW3
4 RW1
3 W3
2 W1 R1
1

Situatie 2

1 2 3 4 5 6 7 8 9 A B
8 RW3
7
6 W3 RW4
5 W2 R1
4
3 W1 RW2
2
1 RW1

Problemen uitvoering experiment

Tijdens het uitvoeren van het experiment zijn we enkele onverwachte problemen tegengekomen.

RFID antenne te zwak

De RFID antenne die we gebruikt hebben bleek zeer zwak te zijn, en hierdoor konden we geen RFID signaal ontvangen op de afstand waarop we gehoopt hadden. Na wat experimenteren met de sensor is het gelukt om toch enigzins betrouwbare waardes af te kunnen lezen tot ongeveer 5 cm afstand. Hoewel dit nog steeds niet optimaal is, is het voldoende om het experiment toch uit te kunnen voeren.

Temperatuur bekertjes

De kartonnen bekertjes koelden zeer snel af wanneer we er warm water (ong. 60 graden celsius) in deden. Wanneer we een experiment uitvoerden met water dat net ingeschonken was, daalde de temperatuur tijdens het experiment van 50-60 graden naar 25-29 graden. Uiteindelijk hebben we besloten dat aangezien het verschil met de omgevingstemperatuur in alle gevallen groot genoeg was om het betrouwbaar te kunnen meten, we dit simpelweg over het hoofd zullen zien en alles boven de 26 graden als "mogelijk een mens" zullen beschouwen. In een echte situatie zal een mens natuurlijk nooit 50 graden of hoger als huidstemperatuur hebben, maar het zou triviaal zijn om een bovengrens te leggen aan de "toegestane mens temperatuur". Aangezien binnen de grenzen van ons experiment zich geen niet-menselijke objecten bevinden met een hoge temperatuur en een RFID signaal, hebben we besloten dat we zonder bovengrens kunnen werken.

Resultaten