Sinds 1974
Vereniging voor Weerkunde en Klimatologie

De laatste weerflitsen

  • 22:09
    Eesveen
    16,1°C
  • 20:54
    Sluis
    17,7°C
    (3/8) Half bewolkt
    Windrichting: Z
    Windkracht: 2 = Zwakke wind
Advertenties
Bakker & Co Het magazine voor weerliefhebbers Weerhuisje

Bouw zelf een weerstation – Temperatuur meten (2)

Het is de bedoeling dat we in dit verhaal de thermistor op de LaunchPad gaan aansluiten, de software maken voor het verwerken van de meetgegevens en het weergeven van de temperatuur op het scherm van de PC.

Plaatje 1: Thermistor en LaunchPad

Aansluiten
Om de thermistor te kunnen aansluiten zullen we gebruik moeten maken van een breadboard of de sensor op een printje moeten solderen. Een breadboard is voor het experimenteren makkelijk maar er kleven ook wat nadelen aan. Bij een breadboard is het risico dat de aansluitingen niet altijd even stabiel zijn. Voor al bij wat oudere breadboard’s kan de ruimte van de insteekgaatjes wel eens wat ruim worden, waardoor een wat instabiel contact kan ontstaan. Maar als je daar rekening mee houd is het voor deze schakeling goed te doen.
Eerst maar eens naar het aansluitschema kijken (plaatje 1).
De thermistor heeft een spanning nodig om te kunnen werken, aangeduid als Vcc. Hiervoor kun je de VCC en GND aansluiting gebruiken rechtsonder op het bordje (plaatje 2).
Voor de 10KΩ weerstand adviseer ik een 1% type. Zelf heb ik uit een twintigtal de beste, die zo dicht mogelijk bij de 10KΩ kwam, uitgezocht.
Het knooppunt van de thermistor en de weerstand gaat naar pin P1.0, dat is een ingang die een analoog signaal naar digitaal kan converteren. We noemen dat een Analoog naar Digitaal Converter (ADC). Deze ADC vertaalt het voltage op de ingang naar nullen en enen waar de computer mee kan werken.
De ADC op deze LaunchPad is een 10 bits type. Naar mensentaal omgezet betekent dit, dat de ADC voltages kan omzetten tot getallen met een maximum van 1023. 0 Volt is dan 0 en het maximum toegestane voltage is dan het getal 1023. In ons geval is het maximum toegestane voltage gelijk aan de voedingspanning van de LaunchPad. Theoretisch is de voedingsspanning 3.3 Volt. Maar als je zelf gaat meten op de Vcc en GND pennen zul je zien dat de voedingsspanning, bij voeding via de USB ingang, meestal in de buurt komt van 3,53 Volt. Dit voltage wordt bepaald door de spanningsregelaar op het bordje. Dat is dan ook de spanning voor de interne referentiespanning, waarmee dingen worden berekend. Het is dus belangrijk om die voedingsspanning te weten.
Als je de thermistor en weerstand op een bordje soldeert kan het geheel er ongeveer uitzien als plaatje 3.
Ik heb op het bordje een LED met voorschakelweerstand toegevoegd om op afstand te kunnen zien of er ook werkelijk spanning op het bordje staat.
Aan het einde van het bordje zitten headers met een 90 graden hoek, maar je kunt natuurlijk ook ‘gewone’ rechte headers gebruiken. De kabeltjes zijn standaard female-female Dupont kabeltjes. Dit soort kabeltjes wordt in de elektronica veel gebruikt voor het experimenteren.

Software
Om de software te kunnen gebruiken moet Energia op de computer geïnstalleerd zijn. Inmiddels is versie 17 uitgekomen, maar als je een eerdere versie hebt kan dat best. Zelf heb ik naast de nieuwste versie ook altijd een oudere versie op de computer staan. De nieuwste versies hebben soms nog wel eens onverwachte bugs. Terwijl de laatste ‘build’ van een oudere versie meestal behoorlijk stabiel is.
Ik ga hier niet de hele ‘listing’ van de broncode afdrukken. De broncode is de downloaden (sponzen voor onze Belgische vrienden) van mijn website. Misschien is het handig om de code bij het verder lezen ook op het scherm te hebben.

Het eerste blok met code, tussen /* en */ is geen programmacode maar commentaar. Ofwel aantekeningen.
Andere aantekeningen zul je aantreffen na // tekens. Ik heb mijn best gedaan om zoveel mogelijk code van commentaar te voorzien, zodat het hopelijk duidelijk is wat de code doet.

Het tweede blok met #define’s zet een aantal vaste waarden neer.
Het derde blok is de setup() functie. Deze functie is, net als de loop() functie, verplichte kost in het Energia C++ dialect. Er hoeft in principe niets in de functies te staan, maar ze moeten er wel zijn. Zie ze maar als vervangers van de verplichte main() functie in standaard C, dat is wat ze eigenlijk ook zijn.
In de setup() functie wordt met Serial.begin (9600); de seriële communicatie geopend met een snelheid van 9600 baud per seconde. Meer dan genoeg voor ons doel. Bovendien kan de LaunchPad, in deze uitvoering, niet sneller.
Met pinMode(ThermistorPIN, INPUT); wordt aangegeven op welke pin de thermistor is aangesloten.
analogReference(DEFAULT); geeft aan dat de referentiespanning waarmee gerekend moet worden de interne referentie moet zijn. In dit geval dus de voedingsspanning.
Alle regels daarna zorgen ervoor dat de niet gebruikte in- en uitgangen aan massa (GND0 komen te liggen, dat is om te voorkomen dat eventuele ruis op die ingangen de meting zouden kunnen beïnvloeden.

In loop() wordt de functie getval() aangeroepen. Alles wat ik loop() staat wordt eindeloos herhaald.
Dus als getval() klaar is keert deze terug naar loop() waarna getval() opnieuw wordt gestart.

In getval() wordt de waarde van pin 1.0 binnengehaald.
Dat doet deze functie niet 1 keer maar in een Do…While loop INTERVAL keren.
In deze code is INTERVAL bepaalt op 1000. ( Zie #define INTERVAL 1000 )
De Do…While loop wordt uitgevoerd zolang het verschil in milliseconden ten opzichte van het starten van de loop kleiner is dan 1001. Dat betekend dat gedurende 1 seconde zoveel mogelijk metingen worden gedaan.
Na het beëindigen van de loop wordt de verkregen waarde gedeeld door het aantal metingen. Zo krijgen we een gemiddelde. Deze techniek wordt ook wel ‘over sampling’  genoemd. Er zijn nog andere manieren. Daar komen we later nog wel op terug. Deze techniek geeft een behoorlijk betrouwbare waarde om mee verder te werken.

Na de Do…While loop berekenen we het voltage, de weerstand van de thermistor en de temperatuur.
In de regel:
Temp = 1 / (0.001129148 + (0.000234125 * lnTemp) + (0.0000000876741 * lnTemp * lnTemp * lnTemp));
wordt de temperatuur berekend volgens de Steinhart–Hart formule.
Deze temperatuur is in graden Kelvin en in de volgende regel wordt de temperatuur omgezet naar graden Celsius.

Het blok daarna, met al die Serial.print commando’s, zorgt ervoor dat alle berekende waarden in de seriëlemonitor worden weergegeven. Als na het compileren en in de processorladen van de code alles goed is gegaan krijgen we in de seriëlemonitor het plaatje 4 te zien.
Deze informatie wordt elke seconde ververst, dit is de meest simpele manier om de informatie weer te geven.

Zo, dat was even doorbijten is de ‘droge stof’ van de techniek.
De weergave kan ook anders. Bijvoorbeeld door gebruik te maken van de programmeertaal Processing, dan kan het er als plaatje 6 uit komen te zien.
Hier de weergave van de thermistors van de LaunchPad en de Arduino bij elkaar, die zijn het behoorlijk met elkaar eens… .

Zelfs realtime grafieken zijn mogelijk:
Om wat te kunnen laten zien op de grafiek (plaatje 6) heb ik deze even ‘geholpen’ door er een gasaansteker bij te houden. Vandaar de doorschieter naar boven .… .
Dit programma zorgt ook voor gegevensopslag op de harde schijf van de PC.
We kunnen zelfs de gegevens uitlezen via een ‘oude’ com-poort van een MS-DOS ( of als je echt gek wil doen met een CP/M ) computer om dan de gegevens verder te verwerken in BASIC. In principe kan het met elke computer met een seriële-ingang.
Dus als je nog een oud beestje op zolder hebt staan wordt het nu tijd om het stof van de monitor af te blazen, de spinnen uit het toetsenbord te verjagen en te kijken of de kinderen geen boterhammen in de floppydrive hebben gestopt. Want nu heeft u de kans om van dat oude ding een ‘up to date’ weerstation te maken.
Hoe dat moet ga ik laten zien in de volgende aflevering, dan hebben we het ook over het kalibreren van de thermistor.

De kopie broncode LaunchPad is te downloaden (SWT bestaat niet meer).
Daar staat ook de broncode Arduino en de speciale aanwijzingen voor de Arduino.
Eventuele informatie die belangrijk is en na het verschijnen van dit artikel komt, staat ook op de website.

Terug naar de Zelfbouwpagina.



SWT Meteorologie
© Copyright / Kopijrechten 2016 Henk Siewert
Alle rechten voorbehouden.
Overname alleen toegestaan na uitdrukkelijk en schriftelijke toestemming van de auteur.




30-12-2015 | Achtergrond_Zelfbouw | 1668
  • 26/9 23:01 Jaap:
    De tweede dag van het beloofde zomerweekend viel ook niet helemaal mee. De temperatuur wel, 23 graden, maar in Diepenheim was er niet zo veel zon en vanmorgen en in de namiddag ook nog een bui. In de vooravond terug naar De Bilt. Tot eind april geen meldingen meer uit Diepenheim. Voor het oosten van het land waren de weerberichten dit weekend geen succes.
  • 26/9 21:28 Hans:
    Enschede-W: een warme zondag (maxtemp 23.5) met aan het eind van de dag plaatselijke buien. Enschede-W hield het droog.
  • 26/9 17:19 Ted:
    Max.temp. 23,0 graden. Een aantal uur vrij zonnig. Na 15.40 wat meer bewolking. Laat die polaire lucht vanaf morgenavond komen en laat het morgen maar de laatste 20er van het jaar zijn. De hondsdagen hebben te lang geduurd.
  • 26/9 14:50 John:
    Dauwpunten van 15 tot 17 graden nog altijd erg hoog voor de tij van het jaar.
  • 26/9 14:06 Gerard:
    Heerlijk nazomerweer! Niet meer zo vochtig als zaterdag, mede omdat in Schoorl maar een paar spatten vielen vanmorgen en het nog steeds kurkdroog is.
  • 26/9 12:37 Ted:
    Vrij zonnig met nu 21,1 graden. Meet een vieze 83% is het weer klef.
  • 26/9 12:34 Pieter:
    De onverwachte bui liet heier vanochtend 2 mm achter Septemberneerslag nog maar 8 mm, nu breekt de zon goed door
  • 26/9 09:33 Ted:
    Beste start van de zondag. Binnen het licht aan en regen. Tijd dat het kouder wordt. Het zweetweer mag voorbij zijn.
  • 26/9 08:44 Pieter:
    Ook in Purmerend regent het nu vrij hard.
  • 26/9 08:25 Kees:
    Enigszins verrassend viel er in de vroege ochtend al een buitje in Eindhoven.
  • 25/9 22:55 Johan:
    In Ede 1 uur licht bewolkt de rest zwaar bewolkt, maar toch vrij warm
  • 25/9 20:26 Jaap:
    In Diepenheim is de eerste helft van het beloofde zomerse weekend mislukt. Vrijwel zonloos en de 20 graden werd niet gehaald. Weinig wind en ook droog, dus het was nog wel te doen. Laatste dag in Diepenheim. Morgen definitief naar De Bilt, althans voor dit jaar.
  • 25/9 18:08 Ted:
    Weer wat meer bewolking. Max.temp. 21,2 graden. Het zuiden van Nederland is helder. De eerste hoge bewolking van de storing voor morgen heeft Limburg al bereikt. Nu al? Ja nou al!
  • 25/9 17:46 Pieter:
    Het is weer de tijd dat de trekvogels over komen op weg naar het zuiden, die laten ook wel eens wat vallen .
  • 25/9 16:37 Ted:
    Nog de neerslagduur. Die is 9 minuten.
  • 25/9 16:36 Ted:
    Geen neerslagduur van 7 uur. Het zijn enkele druppels die vallen. Bv. 10.36 tot 10.38 uur enkele spatten. Dan valt in dat uurvak (10.00 tot 11.00 uur) neerslag. Er is vandaag 13 duizendste mm gevallen vandaag. Dus <0,1mm. Nu wat meer zon bij 21,0 graden.
  • 25/9 15:39 Pieter:
    Hoezo 7 uur neerslag Ted/ ? Hier in Purmerend is nog geen druppel gevallen , en dat ziet er ook niet naar uit Nu komt de zon steeds beter door de wolken heen.
  • 25/9 15:26 Ted:
    Smerige kleffe spons. Zon komt sporadisch door. 7 uurvakken waarin neerslag voorkwam. Nee... het is niet die mooie zaterdag die beloofd was. Temperatuur nu (15.10 uur) 20,7 bij een vieze 83% vochtigheid.
  • 25/9 13:26 Pieter:
    Hier in Purmerend nog steeds veel wolken ,waar slechts af en toe het zonnetje door heen prikt , niet veel wind temp 19 C
  • 25/9 10:31 John:
    Opklaringen in Rijen zichtbaar in het zuiden en zuidwesten, de zuidelijke hemel is goed als schoon momenteel.
  • 24/9 23:24 Jaap:
    Vandaag, vrijdag, weer netaan een warme dag. Het werd 20 graden. Veel plaatsen kwamen nog wat hoger. Maar hier was de hele morgen grijs en donker met in de vroege morgen ook nog wat regen. De zon kwam pas goed door in de loop van de middag. Kalme wind tussen Z en W.
  • 24/9 14:57 Pieter:
    Na een bewolkte ochtend trok de lucht open en schijnt de zon nu volop, temp ca 20 C en een stevige zw wind
  • 24/9 08:27 Kees:
    Een mistig begin van de dag in Eindhoven.
  • 24/9 07:42 Hans:
    Enschede-W: geheel bewolkt maar niet koud met 15 graden (minimum 14.4) Gisteravond viel nog wat lichte motregen goed voor 0.1 mm.
  • 24/9 00:01 Gerard:
    In mijn omgeving ook penetrante houtrook in de buitenlucht waarneembaar. Eveneens duidelijk minder koude avond en nacht, maar wel meer windkoelte.
  • 23/9 23:01 Erik:
    Zojuist wat lichte regen in Bennekom. Wind is gaan liggen en het voelt erg zacht aan in vergelijking met de afgelopen avonden. Toch gaan de houtkachels in de buurt al weer aan…
  • 23/9 20:43 Jaap:
    In Diepenheim nu weer geen warme dag. De temperatuur jojot heen en weer. Nu ruim 18 graden maximaal. Zonnig begin van de dag, maar verder bewolkt en in de avond ook nog wat gespetter. Niet echt koud.
  • 23/9 19:28 Ted:
    RIEPIET! Tot ongeveer 11.30 uur zonnige perioden. Daarna geheel bewolkt. Bleef geheel droog. (gelukt zonder taalvauten. Eh taalfouten.) Max.temp. 19,0 graden bij een ZW-5, Later WZW-5.
  • 23/9 19:24 Ted:
    Tot ongevver 11.30 uur zoninge periodne. daanra geheel bew. Bleef geheel droog. Herfst breekt nog neit door.
  • 23/9 19:16 John:
    Eerste herfstdag geeft in Rijen en wisseling van zon en wolken. Momenteel grotendeels helder weer. Er was overdag wat meer wind dan voorgaande dagen.
  • 23/9 18:44 Pieter:
    De eerste officiele herfstdag geeft meteen een herfstachtig gevoel , met veel bewolking en veel wind en nu zelfs wat regendruppels , max 18 C
  • 23/9 10:20 Hans:
    Enschede-W: nog vrij zonnig maar de eerste bewolking komt binnen. Actueel 13.8 graden maar de ZW-wind (4 Bft) voelt fris aan. Duidelijk dalende barometer maar waarschijnlijk weinig regen hier.
  • 22/9 23:12 Jaap:
    Gisteren niet, vandaag weer wel: een warme dag, zowel in De Bilt als in Diepenheim. Vanmiddag weer naar Diepenheim vertrokken voor de laatste paar dagen van dit seizoen. Onderweg veel zon en de wind, inmiddels ZW, hield zich rustig.
  • 22/9 22:50 Erik:
    Uiteindelijk wel gelukt: 20,6°C: een heerlijke, zonnige herfstdag.
  • 22/9 14:15 Erik:
    Het wordt spannend of we vandaag wel boven de 20°C gaan komen. Vooralsnog niet verder gekomen dan 19,4°C. Wat wazig blauwe lucht waardoor de zon de zaak niet voluit kan opwarmen.
  • 21/9 22:43 Jaap:
    Het kwik krabbelt weer omhoog. Vandaag bleef het net onder de 20 graden steken. Opnieuw weinig wind en aardig wat zon. Mooi weer nog steeds. De aangekonjdigde weerverslechtering lijkt ook mee te vallen (of tegen te vallen, als je van reuring houdt).
  • 21/9 21:49 Ted:
    Fraai herfstweer. Max.temp 18,6. Het is absoluut geen nazomerweer. Dan moet het 20+ zijn.
  • 21/9 21:12 Gerben:
    Code geel voor waterhozen regio Wadden
  • 21/9 20:46 Pieter:
    Lekker nazomerweer met veel zon en een iets koel windje .
  • 21/9 17:47 John:
    Dermate veel ijs- en sneeuwkristallen in de lucht dat de zon bij tijden redelijk gesluierd werd, ook in Rijen.
  • 21/9 06:51 Hans:
    Enschede-W: geheel bewolkt en vrij koud met 7.4 graden (minimum 6.8)
  • 20/9 22:09 Jaap:
    Duidelijk koeler vandaag. Maximaal 17 graden. Wat zon, maar in de middag tijdelijk zwaar bewolkt.
  • 20/9 20:55 Nico:
    Tweede dag onder de 20 graden pas deze maand. Vandaag 19,5 graden tegen 19,3 op de 1e. Verder moest ondanks de zon op de fiets de jas aan. Het voelde gewoon frisjes.
  • 20/9 19:01 Hans:
    Enschede-W: een wat kille dag (maxtemp 16.2) met vrij dichte wolkenvelden en soms wat (weinig overtuigende) zon.
  • 20/9 18:13 Ted:
    Het maximum van 17,3 werd al vroeg bereikt. Om 12.35 uur. Fraaie herfstdag. Het was frisser omdat ten oosten van ons land koelere lucht is binnengekomen.
  • 20/9 17:52 John:
    Vrij veel zon in Rijen, maar ook hier wat minder warm.
  • 20/9 17:26 Pieter:
    Vrij zonnig weer vandaag maar de zomerse warmte zijn we toch kwijt, de wind voelt fris aan , temp ca 17 C.
  • 20/9 08:47 John:
    Nog slechts twee niet warme dagen deze maand hier in Oss, vandaag wordt het spannend of de 20 graden gehaald wordt.
  • 19/9 17:51 Jaap:
    De Bilt op deze zondag weer een warme dag, maar het oosten kwam daar niet aan. Wellicht door bewolking en/of meer wind. (We zijn in De Bilt nu). Meestal andersom, althans in de zomer. De herfst is nu begonnen.
  • 19/9 16:53 Ted:
    Weer een mooie nazomerdag. Vrij zonnig bij een o 2 tot 3. Max. temp. 20,9 graden. Na 15.30 uur gaat de temperatuur alweer langzaam dalen. Nu (16.40 uur) 19,2 graden.
Bekijk het archief
Ma 27 september 2021
Bezoekers online
Er zijn 5 leden aanwezig: Adrie, Bart, Bert, Marco, Richard
Inloggen