Pagina's

donderdag 28 mei 2020

Regenmeter

31-5-2020.
Ik plaats de gewone baromer ook op dezelfde processor als van de regenmeter. De twee barometers (één voor de luchtdruk, één voor de regenmeter) trek ik de waarden van elkaar af tot op hondersten. Wat over blijft is de waterdruk op de bodem van de beker.
Waarom zet ik de barometer hier bij? Woor de verwerking van de data ben ik niet geinteresseert in honderdsten of tienden van de luchtdruk. Ook praktisch kom ik in de knoei, en dat is eigenlijk de hoofdreden.
_______________________________________________________
28-5-2020.
De regenmeter is een appart geval.

Wat zijn mijn gedachten:
Om tot een meting te komen die heel nauwkeurig de hoeveelheid regen in een beker moet meten, zijn er wel enige manieren te bedenken.
  • Een ultrasone meting. Hierbij moet je denken aan een sensor aan de binnenkant bovenin een beker. Die sensor is naar onder gericht. De sensor zendt telkens een ultrasone puls uit. De echo is een maat voor de afstand tot de vloeistof in de beker.
    Eerlijk gezegd heb ik hier nog niet echt onderzoek naar gedaan. Met name over de nauwkeurigheid heb ik geen kennis.
  • Door middel van gewicht van de gehele beker. Klinkt logisch. Maar dit is erg gevoelig door de wind op de beker.
  • Een opnemer in het water. Deze methode is erg onderhevig aan de vervuilingsgraad van het water. Bovendien erg onnauwkeurig. Niet geschikt dus.
Vanaf het begin zit ik al in een bepaalde richting te denken.
Ik ben nu al bezig met een barometer, dat heel nauwkeurig meet, zeker tot op 0,1 mBar. (10 pascal). 
Ik wil die sensor gebruiken voor de regenmeter. De sensor kan geen nattigheid verdragen. Dus moet er een vlies tussen als scheiding.

Wat wordt de praktische constructie:
Ik maak een beker met een dubbele bodem. De dubbele bodem wordt dichtgezet met een vlies. Elk beetje regen bovenin de beker geeft een drukverhoging in het onderste deel van de beker.
Nu ben ik al veel eerder met dit idee aan de gang gegaan. Nu heb ik gedacht aan een dun siliconevel, Silicone is namelijk super soepel, bovendien heel sterk en rekbaar, en dat is het beste.
Via internet ben ik bij een bedrijf terecht gekomen, die mij wel een monstertje wilden toesturen. 
 Dit is een heel mooi dun vel.
Nu wil ik zorgen om het onderste deel zo klein mogelijk te houden, waardoor bij het minste niveau-verschil ook een meetbaar drukverschil onderin te meten is.
Nu is de druk op de boden recht evenredig met de hoogte in waterkolom boven de bodem. 
Bovendien zie je in de meest eenvoudige regenmeters dat de milimeter-aanduiding op de beker helemaal geen milimeters zijn. Dit komt, omdat er bovenin een trechter zit. Dit werk als een soort versterker. Want stel dat het oppervlak van de cirkel bovenin de beker, de trechter, 3x groeter is dan de oppervlakte van de bodem, dan is elke 3 echte milimeter op de schaalverdeling slechts 1 milimeter aan gevallen regenwater. Dit is op de beker dan ook makkelijker af te lezen.
Hetzelfde geldt voor mijn beker. In dezelfde bekervorm als in het voorbeeld betekent dit, dat elke milimeter aan regenwater ik 3 milimeter aan waterkolom meet.

Berekening:
Ai, hier ben ik eerlkijk gezegd nog niet mee bezig geweest. Laat ik het hier maar eens opzetten.

Nu is 10 meter water gelijk aan 1014 mBar. Omdat mijn barometer een nauwkeurigheid heeft van 0,1 mBar, heb ik een uitleesbaarheid van ongeveer 10000 punten op 10 meter. Dit is 1 punt per mm. En laat ik dát nou net nodig hebben. En als ik dan het trechterprinciepe gebruik, kan ik zomaar een nauwkeurigheid maken van enkele tienden mm.

Wat zeg je? Een slimmerik zegt, maar de buitenlucht drukt ook op het water in de beker, en dus op de ingebouwde barometer.
Daar heb ik over nagedacht. Ik meet namelijk ook de luchtdruk buiten als onderdeel van mijn weerstation. En die waarde trek ik af van de waarde in de regenmeter. En zo heb ik dan direkt de kolom waterdruk in de beker.

En dan het legen van de beker. Nou, die gooi ik steeds leeg. Nee, natuurlijk niet.
Hiervoor gebruik ik het hevelprinciepe. Ik breng een buisje aan door de wand van de beker, in ieder geval onder de lijn waar de trechtervorm begint.
Aan de binnekant komt die tot vlak boven de bodem (siliconevel). Buiten de beker zakt het tot flink onder de beker.
Op een gegeven moment gaat het systeem afhevelen, en doet dat totdat de beker hoegenaamd leeg is. En kan het vullen weer opnieuw beginnen.

Al deze bewegingen worden geregistreerd. En met deze waarden kan ik volop aan de slag. Ik zie precies wanneer de beker leegloopt. De waarde die vóór dat moment is gemeten is belangrijk. Evenals de waarde die na leegloop wordt gemeten.

Ik heb lang nagedacht over de bevestiging van het silicone vel.
Eerst dacht ik om deze te klemmen tussen een mofverbinding van stukken PVC pijp. Er is heus wel een maat te vinden van een mofverbinding met enige speling, waarin het vel tussengezet kan worden. Maar ik vind dit geen makkelijke en fraaie verbindeing.
Maar onlangs zat ik te denken aan twee PVC flensen (appendages van leidingen). Hiertussen is op zeer eenvoudige wijze het vel te plaatsen. En dan kan ik daarop weer makkelijk met stukjes leiding en verlopen (trechter) aan de gang.
Nu ken ik een bedrijf ik Rucphen, en daar ga ik maar eens rustig rondneuzen.



zondag 24 mei 2020

SD

20-5-2021

Ik ben weer eens in de SD gedoken, want die lag werkeloos aan de kant. Zelfs de preciese reden daarvan weet ik niet meer.

Ik ben bezig verschillende logboeken te maken, zodat ik kan zien wat ik ook al weer heb gedaan, en waarom.
Voor de SD betekent dat, dat ik nu precies weet hoe ik data moet verwerken. Als simpel voorbeeld: als ik het getal 1034 heb, wil ik niet dat dit 4 geheugenplaatsen inneemt, terwijl het ook met 2 kan. Het getal 34567 nog steeds 2 geheugenplaatsen, tegen 5 in normale opslag.
Maar dat vereist een gedegen protocol, en dat is gelukt. 

Het deel waarmee ik data wil verzamelen om uiteindelijk in excel te plaatsen, heb ik helemaal opnieuw aangepakt. De reden hiervan is, dat ik weet dat ik hoe langer hoe meer ervaring opdoe over het programmeren opzich. Ik pak dingen sreeds slimmer en gestructureerder aan, met alle voordelen van dien.
Oude programma's bezie ik nu als wat geklungel. Daar zit ik overigens niet mee hoor, dat is gewoon zo. En nog steeds leer ik veel bij.

Met een paar simpele handelingen op de bediening in de werkkamer, kan ik allerlei zaken aansturen aan de SD. Bijvoorbeeld ook een overzicht geven van alle bestanden op de SD. Er staan vaak indrukwekkende getallen achter, dat de bestandsgrootte weergeeft. Maar hoeveel is dat nou in totaal? Loop ik op een gegeven moment niet vast op het totale geheugen van de SD-kaart?
Die vraag heb ik nu kunnen beantwoorden door het totaal verbruikte geheugen weer te geven onderaan het overzicht. Maar dan liep ik gelijk tegen een ander probleem: ik heb geen direkte mogelijkheid om zo'n grote getallen weer te geven, laat staan mee op te tellen.
Ik heb een SD-kaart van 16GB.
Het grootste getal dat ik in de arduino kan weergeven met 100% preciesie is ruim 4 miljart. Voor grotere getallen ben ik die preciesie kwijt; het getal 1 of 2, of zelfs nog groter, kan hij niet meer optellen.


Dus heb ik een andere methode ontwikkeld.
Voor elk cijfer van het getal, gebruik ik 1 geheugenplaats, 1 byte.
Voor het getal 16GB heb ik dus 11 bytes nodig.
Ik gebruik 2 van die reeksen, 1 "resultaat" en 1 "opteller". Het resultaat hoef ik verder niks aan te doen, dat blijft zo. De opteller moet ik eerst bewerken: van een normaal getal moet ik elk cijfer appart in de byte plaatsen. 
Vervolgens tel ik de twee reeksen bij elkaar op, zoals je dat zou doen op papier. Gewoon per cijfer bij elkaar optellen. Hierbij moet ik er voor zorgen dat de cijfers niet groter worden dan 9, want elk cijfer kent het getal 0 tot 9. (terwijl elke byte tot 255 kan komen). Het optellen is dus optellen per byte, en eventueel 1 onthouden, en bij de volgende bij op te tellen, echt, zoals je op papier zou doen.

Elke keer als ik een bestand lees, of eigenlijk weergeef, kan ik de grootte van dat bestand bepalen. Die druk ik af, vanwege het overzicht. Tevens plaats ik dat getal in de opteller, en tel ik dat op bij het resultaat. Op het einde van het overzicht toon ik het totaal, het resltaat, inclusief de voorloopnullen. Die voorloopnullen zijn niet gebruikelijk, maar hier heb ik die mogelijkheid wel. En dan zie ik in een oogopslag, hoeveel ik nog afzit van het totaal van 16GB.
Bovendien kan ik punten plaatsen bij de duizendtallen enz. En dat kan normaal niet. Dan heb je gewoon een reeks cijfers achter elkaar, en zie maar waar de makkelijke punten staan.
Bovendien 2, (ha), kan ik dit systeem onbeperkt uitbreiden voor de hoeveelheid cijfens dat ik nodig heb.

23-1-2021

Het blijkt dat bepaalde handelingen op de SD zeer tijdrovend zijn. Met name een backup maken van de data op een gegeven moment kan wel een kwartier in beslag nemen.
Hier ben ik erg van geschrokken. Want al die tijd neemt de SD nauwelijks nieuwe data op. Ik schrijf expres nauwelijks, omdat de eerste 64 bytes wel worden gebufferd. Maar dat is zeker niet genoeg.

Waar ik mee ben begonnen is, een netwerkbuffer te maken met een apparte arduino, een voorportaal zeg maar voor de SD.
De SD zelf neemt dus geen data meer aan van het netwerk. Dat doet de netwerkbuffer nu dus. Die buffer is in eerste instantie 1000 bytes groot, en dat is aanzienlijk meer dan de 64 bytes van de processor zelf.
De netwerkbuffer geeft zijn data pas door, als de SD het weer aankan. En dat is een kwestie van seintjes naar elkaar geven en daarop reageren.

Overigens heb ik het backuppen van data eruit gehaald, omdat ik regelmatig de data op de computer zet. Waarom dat backups maken op de SD?

29-10-2020

Het is al weer even geleden, maar toch weer wat aan de SSD gedaan.

Na wat resultaten van het weerhuisje opgeslagen te hebben, heb ik de SSD afgekoppeld. Ik was toch niet echt tevreden hoe ik de data op zou slaan.

Nu, in afwachting van de resultaten van de regenmeter, ben ik weer in de SSD gedoken.
En wat blijkt, ik kan de data met een vijfde van de ruimte opslaan, en dat is wat ik wilde. Het is alleen even het uitvoeren.

Verder kan ik straks de data van de regenmeter en de barometer opslaan.

Verder denk ik na over her aansturen van de SSD vanuir de bediening. Menugestuurd wil ik alle data die op de schijf staat, tevoorschijn toveren voor verwerking. Want dát is natuurlijk waar het allemaal om draait: opslaan, registratie, en analiseren van de data.

23-6-2020.
Nu heb ik toch niet de oude print kunnen gebruiken.

Een nieuwe print betekent ook een nieuwe opzet. Het is een heel compact station geworden. 7x7cm, zonder stekers. Het werkt als het ware als een harde schijf, maar dan solid-state, een SSD als het ware.
Ook de voeding is aangepast. Voor het eerst gebruik ik geen lineaire voeding, maar een schakelende. Het grote voordeel hiervan is, dat deze veel efficienter met de energie omgaan. Een lineaire voeding vernietigt (= omzetten in warmte) het teveel aan spanning, terwijl een schakelende elke keer kleine beetjes spanning aanvoerd wat nodig is om de boel draaiende te houden. zoiets als "je krijgt wat je nodig hebt, en niet meer". Alleen doet hij dat ongeveer 1 miljoen keer per seconde. (heb ik zélf geteld)

De tweede stap was, om deze SSD te kunnen beheersen. Dat gaat hoe langer hoe beter.
De nieuwe processor gaf nog wat problemen, maar dat lijk ik nu onder de knie te krijgen.

Volgende stap is om de meetwaarden van het weerhuisje op te slaan.
_____________________________________________
16-6-2020.
Gewoon maar weer eens op internet gekeken. Er zijn een aantal ontwikkelborden, die zeer aantrekkelijk zijn. Alleen is de prijs niet echt aantrekkelijk. €200 tot € 400 is niks.

Nu kwam ik ook op een website terecht, waar de arduino nano 3.3 werd beschreven. Ja, die had ik al eens eerder gezien, maar vanwege die 3.3 ben ik er niet verder ingedoken.
Maar wat blijkt? De eigenschappen dat deze 3.3 hebben (ja, meerdere types), zijn voor mij zeer aantrekkelijk. Met name het hoeveelheid geheugen. En dan praat je over 30 keer het programmageheugen, en 128 keer het variabelengeheugen. JA, daar kan ik wat mee.

En die 3.3 dan?
Op het moment ben ik daar ook niet meer bang voor. Ik heb het al eerder aan de hand gehad met de barometer. Het heeft me, door het experimenteren, wel een barometer (van een paar euro) gekost, maar nu beheers ik die techniek.

Want wat is 3.3 eigenlijk.
Heel simpel. Alle arduino-kaarten werken standaard op 5Volt, zowel voeding als logica. Alleen de 3.3 werken op 3,3Volt. En dát moet je goed begrijpen.
Nu zijn er in de handel heel simpele oplossingen hiervoor, alleen moet je dat wel weten.
Gelukkig wordt je veelvuldig gewaarschuwd voor dit verschijnsel, en zelfs oplossingen aangedragen, dus is het niet moeilijk meer. Want als je het begrijpt, dan kan je zelf oplossingen bedenken.
En die oplossing is een converter, omzetter, die 5Volt in 3,3Volt omzet, en andersom. Dus als je die tussen al je datalijnen zet, en de juiste voeding geeft, is het opgelost.

Praktisch gezien kan ik het printplaatje gebruiken van de eerste opzet van de SD. Het enige is, dat de converter erbijgezet moet worden en die ruimte heb ik op de printplaat.
Bovendien is dit printplaatje 1 op 1 oversteekbaar met de gewone nano, buiten de converter om dan. Dus de bedrading moet ik aanpassen.
______________________________________________
10-6-2020.
Ik ben al weer een poos bezig om iets zinnigs op de SD te zetten. Een beetje mee spelen is wel leerzaam hoor, maar je wilt er op een gegeven moment ook wel iets leuks mee doen.

Ik wilde de resultaten van het zonne-oog laten opslaan. Dus die twee dingen met elkaar laten praten. Beide stations hebben een flinke update gehad.

De processor van de SD kreeg het best wel voor de kiezen.
En wat blijkt weer: mogelijk geheugenproblemen. (alweer??)
En ik ben pas bij het begin!
Ik ben bang, als ik een mega2560 gebruik, dat het niet genoeg is. En iets anders héb je gewoon niet, of je moet naar de pi gaan, maar dat is geel arduino. En de pi is erg duur, maar dan héb je ook wat. Het is eigenlijk een kompleet moederbord op miniformaat.

En wat nu???????
_____________________________________________
6-6-2020.
Afgelopen dagen ben ik intensief met de SD bezig geweest.
Het verwerken van data is nog niet zó eenvoudig.

Ik heb besloten om elke dag, per sensor, een nieuw bestand aan te maken. Dit, omdat elke sensor zijn eigen interval-tijd kan hebben, waardoor ze dan veschillende grootte hebben, waardoor ze niet synchroon in de tijd zijn.
Bovendien wil ik de bestanden nog enigszind hanteerbaar maken.

Hierdoor is het logisch dat de bestanden een datumfactor moeten meekrijgen. Dit los ik op door mappen aan te maken met als naam de datum van vandaag. Het formaat van de mapnaam wordt dan jj-mm-dd.

Elk databestand heeft zijn eigen naam. bijv. S01TEMP1. S van sensor, 01 is volgnummer en de rest een verkorte naam van de sensor. Altijd 8 tekens lang.

Om niet te hoeven rekenen (kan trouwens niet in arduino) heb ik een datum-bestand aangemaakt. Daar staan 3 datums in: van vandaag, van gisteren en van eergisteren.
Elke dag om 00:00 uur wordt dit bestand opnieuw geschreven (overschrijven lukt niet). En dan natuurlijk weer met 3 datums. Van de afgevallen datum worden de backup-bestanden gewist. van de datum van gisteren worden backup-bestanden gemaakt.
Bovendien wil ik elke uur de backup bijwerken.
Backup-bestanden gebruik ik om bij eventuele calamiteiten terug te kunnen grijpen naar deze bestanden. Zo heb ik altijd van 2 dagen van alle data een backup.

Ook elke dag om 00:00 uur wordt er een map aangemaakt met de dag van vandaag. Daaronder komen alle nieuwe databestanden te staan. De naam van die bestanden haal ik uit het index-bestand.

Het index-bestand bestaat dus uit de naam van het databestand. 
Als 2e item de volledige naam van de sensor. maximaal 30 tekens.
Als derde item de intervaltijd van opslag naar SD. Het formaat hiervan is 000500. Dit is elke 5 minuten.

Ik denk nu dat ik het redelijk op de rit heb om dit allemaal automatisch te laten plaatsvinden. Er zullen heus nog wel wat onregelmatigheden voordoen, maar daarvoor hebben ze het woord testen of debuggen uitgevonden.
______________________________________________
31-5-2020.
Inmiddels heb ik een protocol geschreven voor de seriele overdracht en opslag op SD.
Ik ga toch met integers werken.
Het grote voordeel is dat ik alle data op dezelfde wijze kan hanteren.
Bovendien kan ik met negatieve getallen werken.
En dat allemaal zonder een stopbit te genereren.
De enigste "beperking" is dat ik getallen tussen -8191 en 8191 kan verwerken.
__________________________________________
28-5-2020
Het is me echt meegevallen om met de SD te werken.

Wel heb ik verschillende manieren van opslag uitgeprobeerd. En dan kijken welke manier voor mijn doel werken.
En ook hier heb ik gekozen voor opslag van waarden kleiner dan 128. Want de data komt rechtstreeks van de seriele overdracht van de betreffende stations, en daar hanteer ik deze regel. Dit heeft te maken met het creeeren van een stopbit in de data; hiermee wordt het laatste stukje data aangegeven in de dataoverdracht.

Als ik dit zo opschrijf, bedenk ik me dat ik in plaats van bytes ook integers kan gebruiken als dataopslag. Alleen heb ik dan 2 bytes nodig per waarneming. Dit zou me best kunnen helpen om data makkelijker te versturen, in alle datastromen die er in het gehele project zijn.
En nu kan ik nog met enig fatsoen ingrijpen in het proces, straks als ik veel meer on-line heb staan, zal dat veel ingewikkelder worden.

BYTE vs INTEGER.
Alle informatie dat de processoren versturen, is 8 bits. (hee, dat klinkt bekend. Zo kennen we ook 16 bits en 32 bits in de computerwereld) Ik moet dus met 8 bits werken.
Een BIT is het kleinste stukje geheugen in een processor (of computer). Een BIT kan 2 standen aannemen, aan of uit, een 1 of een 0. meer niet!
Een 8 bits blokje noemen ze een BYTE. Hierin zijn 256 mogelijkheden, als je alle mogelijkheden bekijkt. 0 tot 255. Na 255 wordt het vanzelf weer 0, de zogenaamde overflow. Meestal is dit voldoende.

intermezzo:
In de overgang van het millennium zaten we hierdoor dik in de problemen met alle computers. Weet je dat nog? de zogenaamde millennium-bug was een fijt.
Wat was er aan de hand?
Vroeger was geheugen een heel kostbaar product. Er werd meer met kilobytes gewerkt, nu zijn dat megabytes, en zelfs gigabytes, en terrabytes zijn er ook al volop.
Doordat er vroeger weinig geheugen voorhanden was, werden in data de notatie van de datum slechts 2 cijfers gebruikt. En als men ergens een datum moest noteren, werd daar het getal 19 voor gezet, en had je 1953 (bijvoorbeeld).
Nou, en dat dus na 31 dec 1999 heel lastig, want je zou dan, met de eerder genoemde overflow, weer teruggaan naar 1900 in plaats van 2000. Ed nou net dát was het probleen, want alle systemen die met de datum rekenen, slaan op tilt.
De hele millennium-operatie was dus alleen het verwerken van de datum-notatie in een 4-cijferige opslag in plaats van 2-cijferig.

In mijn project gebeurt iets soortgelijks. Ik moet heel erg oppassen dat ik geen getallen gebruik groter dan 127. Want hierdoor krijg ik ongemerkt een stopbit in de datastroom, en worden verdere data vermeden. Hierdoor zijn de datastromen niet volledig, en bij een volgende datastroom wordt de data verkeerd geintrepeteerd. Dit, omdat de rest van de vorige stroom data als nieuwe data wordt gezien.
Ook de beperking van het grootste getal is lastig. Een barometerstand van 1014 mBar moet op een andere manier toegepast worden. Maar hier had ik gekozen voor de datum-constrctie zoals vroeger op de computers werd gedaan Ik trek 950 af van het getal, dus sla ik 0 tot 127 op, wat overeenkomt met 950 tot 1077. En mij enige notatie op scherm bijvoorbeeld, tel ik er gewoon weer 950 bij op.
Zoiets dergelijks moest ik gebruiken bij de buitentemperatuur.
Omdat bytes geen nagatieve getallen kan herbergen, moet ik de constructie bedenken plus en min 60 (bijvoorbeeld) Ik kan dan temperaturen van -60 tot +67 graden verwerken. Maar ook híer zou ik dus een aparte constructie moeten maken.

Een INTEGER daarentegen heeft 16 bits. En daarmee kan ik het getal van iets meer dan 64000 creeeren. Nou hier kan ik wat mee.
Want, nu hóef ik nergens meer met allerlei constructies te werken. Nu kan ik alle beschikbare data één op één overzetten, zonder rekening te houden met enige vorm van omzetten. Bovendien heb ik de mogelijkheid om negatieve getallen te gebruiken, dat een voordeel is van integers.


______________________________________________________
24-5-2020
Gisteren ben ik bezig geweest met de studie over het verwerken van data op een SD kaartje.

Printje is geschikt voor een micro SD van maximaal 32GB. Nou, die gaat er dus ook in, want ik wil met één kaartje volstaan, voor altijd.

De studie behelst hoe ik moet handelen om data weg te schrijven en hoe ik deze data weer kan uitlezen voor later gebruik.
Zo denk ik bijvoorbeeld om de data te gebruiken om rechtstreeks in te lezen in excel. Maar dát is nu nog een stap te ver hoor, laat ik eerst maar eens kijken en oefenen hoe het opstaan en weergeven van data werkt.

Wat wil ik opslaan:

  • natuurlijk de temperatuur buiten.
  • vochtigheid buiten.
  • luchtdruk buiten.
  • regenmeter (ook buiten).
  • windrichting.
  • windsnelheid, gemiddeld en piek.
  • aantal uren zon.
  •  
  • verder denk ik de vochtigheid binnen.
  • temperatuur binnen.
  •  
Kortom, hoofdzakelijk alle elementen van het weer.

De SD bewerkingen vormen een eigen station met processor. Deze krijgt de data toegezonden van alle andere stations.

De SD wordt aangestuurd vanuit een bibliotheekbestand. Hierbij zijn uitgebreide voorbeeldprogramma's voorhanden.
Wel mis ik nog enkele bewerkingen, die niet genoemd zijn in de bibliotheek-overzicht, de SD library. En hierbij is internet wederom een uniek medium om ook deze dingen uit te zoeken.

Dit printplaatje wordt aangestuurd via het SPI protocol. Dit is nieuw voor me, ja, ik kende het wel, maar heb er nog nooit mee gewerkt.

vrijdag 15 mei 2020

Weerstation: huisje voor vocht en temperatuur.

2-6-2020.
Ik heb een denkfout gemaakt.
De temperatuur loopt te hoog op in het huisje, Ik vergelijk het met een gewone thermometer aan de muur van de schuur, en die komt nooit in de zon.
Het is ook geen alternatief om daar de huisje aan te hangen, omdat de muur de warmte vasthoud, dat overdag is opgedaan, en dat is duidelijk merkbaar.

Maar hoe dan wel?
Warmte stijgt, dat is een basisprinciepe.
Dan moet ook bovenin de warmte weg kunnen stromen. En dat is in mijn huisje niet het geval. De warme lucht moet ook weer eerst naar beneden, alvorens het weg kan stromen.
De oplossing zie ik om de 3 bovenste cups te vervangen voor schoteltjes, of borden, uiteraard ook van plastic. Het enige waar ik op moet letten is, dat het niet mag inregenen.
Ik denk dat dezelfde winkel, waar ik de soepcups heb gehaald, dat die ook bordjes heeft.
Andere winkels zijn vaak al over gegaan op papieren (karton) bekers en kommetjes.
Eind van de week kom ik weer in die winkel, dus ik moet het even zo laten, want het kan deze week gaan regenen, dus ik kan niet zomaar de bovenste cups weghalen. Wél om eventueel uit te proberen.....
___________________________________________________
1-6-2020.

De buitenopstelling
De stuurprint en de sensorprint

En zo komt het op het display te staan.

De programma's zijn geschreven, de tests en correcties gedaan, klaar om functioneel in de tuin te worden gezet.
Een paar stukjes hout heb ik net wit geschilderd, ook, om de zon en dus de warmte te weerkaatsen. Want een hete bodem onder het huisje werk natuurlijk ook niet.

Nu sla ik een stuk over. De hardware.
Dat zijn 2 printplaatjes geworden. De processor enzo, en de sensoren voor in het huisje.
De printplaat met de sensoren passen prima in het huisje. Deze print wil ik op een plankje tussen 2 blokjes hout klemmen. De soepcups schuif ik daar overheen.

De paatsing van de sensoren heb ik welbedacht geplaatst. De temperatuursensor onderin, de bijbehorende weerstand (ja, je moet goed kijken), en de vochtsensor daarboven. Want ik wil een zo goed mogelijke temperatuur meten, en dat moet dan onder de eventuele warmtebronnen zijn. De vochtsensor en zeker de weerstand zijn zo van die warmtebronnen. En warmte stijgt, en bereikt dus niet de temperatuursensor. Daarentegen consumeert de temperatuursensor zó weinig stroom, dat de eigen opwarming, wat de temperatuurmeting zou kunnen beinvloeden, nihiel is.
De stand-by stroom is 1uA, en dus 5microwatt. De actieve stroom, welke eens in de 10 sec. plaats vindt, en dan nog héél erg kort, is 1mA, dus 5 miliwatt. Dit zijn indrukwekkende kleine waardem die deze sensor zo bijzonder maakt. En dat voor maar € 1,75.

Het weerhuisje staat in de tuin. Het staat nog nieteens zo gek. Gewoon, een weerhuisje.
En gelijk netjes op het display.
 ___________________________________________________
31-5-2020.
Bij het herschrijven van de serieel protocol, kom ik er achter dat de luchtdrukmeting niet hier kan komen. Deze verhuist toch naar de regenmeter.
________________________________________________
30-5-2020
Met die gatenzaag heb
ik de bodem voor het
 grootste gedeelte eruit
gehaald

  
   Ik heb onlangs wat versleten gereedschap vervangen (gatenzaagset). En een draadeind M3, moertjes en ringetjes gehaald. Ik heb gekozen voor messing (roest ook niet).

In de overgebleven rand heb ik 3 gaatjes geboord voor het draadeind.

Van aquarium-luchtslang heb ik stukjes gesneden van 2 cm voor afstandbusjes.
Hier zie je alle onderdelen bij elkaar.
Het rijgen kan beginen.
De stukjes luchtslang worden telkens tussen de cups geschoven als afstandhouder.
En dan de volgende cup.
Nu pas wordt de eerste cup zonder bodem erop geschoven.
En zo komt het geheel eruit te zien.

Als laatste heb ik ringetjes en moertjes geplaatst om alles stevig in elkaar te zeten.

Tot slot nog een stuk luchtslang om bij het bevestigen op een plankje te voorkomen, dat het zaakje in elkaar wordt gedrukt.
_____________________________________________________
16-5-2020
Ik ben alvast in de temperatuursensor gedoken. Het is een dallas DS18B20. Dit is een intelligente temperatuursensor, in zo'n klein huisje.

Er zijn verschillende manieren van aansluiten, dus daar ben ik wel even zoet mee. Flinke datasheet, in het engels... bbbrrrrrrr.....



_________________________________________________________
15-5-2020

Huisje!

Ja, een simpel plastic soepkommetje.

Wat is het idee??

Je moet een ruimte creëeren dat, ook in de volle zon, de luchttemperatuur meet, in de schaduw.

Als je kijkt naar weerhuisjes, want daar hebben we het over, dan zijn dat heel tochtige bouwwerkjes, waar de zonnewarmte zo optimaal mogelijk wordt afgevoerd.
Die huisjes zijn altijd wit (weerkaatst het zonlicht, en dus de warmte). Daar voldoet deze cup al aan.
Het mag niet inregenen. We zetten de cup op zijn kop.
Het moet windvast opgesteld worden. Daar heb ik over nagedacht.

Wat is de bedoeling?
Van een aantal cups haal ik grotendeels de bodem eruit.
In de overgebleven bodem boor ik 3 gaatjes. De cups schuif (rijg) ik op een paar draadeinden, maar telkens met een afstandbusje van 2 cm ertussen. Als bovenste drie neem ik gesloten cups, dus met bodem.
En zo heb ik dan een kleine ruimte, tochtig, wit, en regenvrij.

Maar waarom dan drie gesloten cups bovenaan?
Het zonlicht, dat de bovenste cup verwarmt, kan misschien nog bij de tweede cup komen, maar niet meer bij de derde (dichte) cup. Want tussen de bovenste drie cups tocht het ook, al is de bodem er niet uit.
Ook het sterk overlappen van de cups heeft hetzelfde voordeel. De zonnewarmte moet door minstens drie lagen plasic om in de holle ruimte te kunnen komen.

En zo heb ik, denk ik, een mooie ruimte om de thermometer, de vochtsensor en de barometer te plaatsen.

En in de buurt van deze constructie komt dan de processor en andere zaken.



donderdag 14 mei 2020

Voeding


Zo heb ik behoorlijk nagedacht over de voeding.

Ik wil één voeding maken voor alle stations. Omdat ik toch een netwerkkabel gebruik, waarin ik nog draden over heb, neem ik de voeding mee in deze kabel. Van daaruit worden alle stations gevoed.

Ik heb gekozen voor een voeding van 12 volt. Op elk station voer ik deze 12 volt naar de arduino, en eventueel naar een omzetter naar 5 volt voor zwaardere gevallen, bijvoorbeeld de LED van het display. (800mA) Want dat kan de arduino niet leveren.
Bovendien heb ik spanningverlies over de lange leidingen, maar ik houd genoeg over bij de stations. Bij het meevoeren van 5 volt in de kabel, zou de spanning wel eens te ver kunnen dalen, waardoor projecten niet meer werken.

Bovendien heb ik er een accu van 12 volt in opgenomen, om bij spanningsuitval bij te kunnen springen, en om te kunnen leveren als de hoofdvoeding net even te kort komt.

Verder kan ik enkele stromen en de accu spanning monitoren, om een goede werking te waarborgen. Tevens schakel ik de accu af, als deze te diep dreigt te ontladen, wat funest is voor een loodaccu.