Weerstation met de microcontroller R8C/13  (ga naar: resultaten pagina)

Dit project toont een ontwerp en de bouw van een weerstation. Op de website http://www.pccgg.nl is het volledige project in de forumdiscussie 'Electronica' terug te vinden.
Het weerstation heeft een paar bijzondere eigenschappen:

 1. geen bewegende onderdelen
 2. sensoren: luchtdruk, vochtigheid, temperatuur, (zon)licht, drukverschil
 3. afgeleide grootheden: dauwpunt, gevoelstemperatuur en windsnelheid
 4. protocol: I2C
 5. meetgegevens moeten worden opgeslagen op een PC (via een wireless verbinding)
 6. gebruik database MYSQL
 7. presentatie op het internet via een webserver

 


 

De controller

Het weerstation dat we bouwen heeft als basis de microcontroller R8C/13 van de firma Renesas (http://www.m16c.de, http://eu.renesas.com ).
Het doel van de controller is alleen maar meten! De sensoren die we aansluiten communiceren met de controller, leveren hun meetwaarden af en de controller stuurt ze vervolgens door naar een PC. Daar worden de metingen verzameld in een database, bewerkt, gefilterd en omgerekend naar grootheden die we echt interessant vinden. Vervolgens worden de berekeningen gepubliceerd op een website. De meetwaarden uit het station zullen in eerste instantie via de seriële poort de PC ingaan, echter een wireless verbinding tussen weerstation en PC is ook gerealiseerd. Het huidige prototype bevat ook een I2C display, aangesloten op de controller. Het voordeel van een I2C display is dat er daardoor meer poorten overblijven om sensoren aan te sluiten.Het basisschema van de controller is hieronder gegeven.

 

 


 

I2C bus

Aan de microcontroller is  via pen 17 en pen 22 een I2C bus gerealiseerd. Op deze tweedraads bus zijn twee pull-up weerstanden (Rp) aangesloten van elk 10K en verbonden met de voedingsspanning van 5 volt. Op deze bus worden de I2C sensoren en het een LCD display aangesloten.

 

 

 

 

 

 

 

 

 

LCD display

Het display is een LCD display van twee regels met elk 16 karakters. Het scherm kan worden aangestuurd via de traditionele aansluiting, meestal met 4 datalijnen en minimaal twee stuurlijnen of het display kan worden aangestuurd via de I2C bus, met twee lijnen.
Gebruik van het I2C protocol levert dus meer vrije poorten op de microcontroller op.
Met jumper JP1 stellen we het adres in op de I2C bus van het display. Let erop dat indien de I2C bus reeds is voorzien van pull-up weerstanden Rp met behulp van JP2 niet nog eens twee pull-up weerstanden worden ingeschakeld.

 

 


 

Sensoren

1. SHT 11: Luchttemperatuur en vochtigheid

Met de SHT11 sensor van de firma Sensirion (www.sensirion.com) wordt de  vochtigheid en de temperatuur van de lucht gemeten.  Met deze gegevens kan ook de dauwpunttemperatuur worden berekend. De digitale sensor geeft zijn meetwaarden af via  een tweedraads communicatiebus (lijkt op I2C maar is het beslist niet!). Eén datalijn wordt gebruikt om gegevens over te brengen van en naar de microcontroller. De datalijn wordt door een externe pull-up weerstand Rp hoog gemaakt. De SCK lijn zorgt voor de nodige klokpulsen en synchronisatie tussen de SHT11 en microcontroller. Op deze wijze wordt de temperatuur in 14 bits verstuurd en de vochtigheid in 12 bits. Gelukkig is het protocol goed beschreven en zijn er meerdere voorbeelden te vinden hoe we data uit de sensor krijgen.
De sensor wordt aangesloten op pen
 13 (p1_2) voor de data lijn en pen 14 (p1_1) voor de sck lijn:

 

De voedingsspanning mag tussen de 2.4 V en 5.5 V liggen. Het stroomverbruik bedraagt ca. 6 mA. Een ontkoppelcondensator van 100 nF wordt geplaatst tussen de voeding en massa.

 

 

 

2. CSDX0811: Luchtdruk (en hoogte)

Voor het meten van de luchtdruk heeft Honeywell een digitale druksensor ontwikkeld met een I2C databus
( www.sensortechnics.com ). De sensor, CSDX0811, heeft een ingebouwde temperatuur compensatie waardoor een zeer stabiele temperatuuronafhankelijke sensor is ontstaan. De digitale luchtdruksensor heeft een resolutie van 12 bits. Het meetbereik loopt van 800 tot 1100 hPa (800 tot 1100 mBar). Omdat de luchtdruk afhankelijk is van de hoogte is deze sensor ook te gebruiken als hoogtemeter. De voedingsspanning mag tussen 4.75 V en 5.25 V liggen. Het stroomverbruik bedraagt ca. 6 mA. De sensor is volgens onderstaand schema aangesloten op de microcontroller:


3. TSL2561: Lichtmeting

De TSL2561 is een lichtgevoelige sensor die een hoeveelheid licht naar een digitale waarde kan converteren. Twee fotodiodes worden toegepast. Een voor meting van het zichtbare en infrarode licht (Channel0)  en een voor meting van alleen infrarood licht (Channel1). De beide metingen kunnen afzonderlijk digitaal worden uitgelezen in een 16 bit resolutie via het I2C protocol. Door het gunstige meetbereik van de sensor ontstaat er een vergelijkbaar ‘zichtvermogen’ als dat van een mens. Beide waarden kunnen worden omgerekend via een formule naar de grootheid die vaak wordt gebruikt voor lichtmeting, uitgedrukt in Lux.

De sensor werkt op een spanning van 3.6 volt. De signalen voor de I2C bus uit deze sensor zijn dus niet zonder meer geschikt  voor de I2C bus van het weerstation (5 volt). Daarom wordt het signaalniveau van de I2C bus via onderstaand schema aangepast voor een spanning van 3.8 volt en een spanning van 5 volt:

Met de LM317 is een instelbare voeding gerealiseerd. Als ingang dient de 5 volt van de microcontroller, met P1 kan de uitgangsspanning van de LM317 worden ingesteld op 3.6 volt

 

 

 

 

 

 

 

 

4. HCXPM005D6 : Drukverschil voor de windsnelheid
Een drukverschilsensor meet twee drukken. P1 en P2. Indien P1 en P2 gelijk zijn dan is het uitgangssignaal van de sensor 0. Indien P1 > P2 of P2 < P1 dan levert de sensor een signaal, evenredig met het drukverschil (P1-P2).
Wanneer de sensoraansluiting P1 in een luchtstroom wordt geplaatst en P2 niet, dan zal er afhankelijk van de luchtsnelheid, een drukverschil optreden. Wanneer P1 en P2 beide , maar in tegenovergestelde richting in een luchtstroom worden geplaatst dan kan ook nog de richting van de luchtstroom worden afgeleid.
De sensor is verkrijgbaar in verschillende drukbereiken. Voor windsnelheden die kunnen variëren tussen 0-15 m/s, is de sensor met het kleinste drukverschilbereik gekozen: HCXPM005D6.Dit type heeft een bereik van +/- 5 mBar met een uitgangsspanning tussen 0.5 – 4.5 volt.
De voedingsspanning van de sensor bedraagt 5 volt.

 

Het uitgangssignaal van de sensor (pen 1) is direct verbonden met de analoge ingang van de  microcontroller R8C/13  (pen 31, an6). Een uitgang van de tweede sensor is verbonden met pen 30, an5, van de microcontroller R8C/13. Een prototype van de statische windsnelheidmeter is hieronder afgebeeld.


Meer resultaten zijn te vinden op de resultaten pagina.