Pagina's

maandag 20 april 2020

Het weerstation / de wind

13-6-2020.
In de tussentijd ben ik met andere dingen bezig geweest.
SD-opslag van de meetwaarden, zonne sensoren om te kijken wanneer en hoe lang de zon schijnt, denken aan de regenmeter, een weerhuisje gemaakt voor de temperatuur en de luchtvochtigheid.

Afgelopen 2 weken heb ik regelmatig contact gehad met de plexiglas leverancier.
Ik heb nu een opdracht uit staan voor het plexiglas materiaal, totaal zo 30 stukjes polycarbonaat. Polycarbonaat biedt voor mij betere eigenschappen, want ik moet er nog flink in boren en andere bewerkingen. 
__________________________________________________
22-4-2020


Het linker plaatje toont de 3 magneten die in de ruimte exact rondom zijn verdeeld. In het midden daarvan draait de andere magneet op de as. Doordat de magneten elkaar afstoten, blijft de as exact in het midden. De as is hierdoor wrijvingloos opgehangen, het heeft nergens mechanisch contact mee.

Plaatje rechts zie je die zwevende constructie getekend. Ter hoogte van 4 zie je de vaste magneten met in het midden de roterende magneet op de as.
De gearceerde delen en nummers 1 en 5 is plexiglas. De nunmmers 2, 3 en 4 zijn de plastic platen om het geheel aan magneten te dragen. Natuurlijk zitten deze ook bovenin voor dezelfde constructie. 
Ik hoop dat ik deze delen zodanig kan bestellen. Wat de website belooft, hoop ik dat ze het waar kunnen maken.


Het was nog een hele toer om de 3 magneten in het tekenprogramma in de omtrek gelijkmatig te verdelen. Ik zat telkens op het verkeerde spoor, en kwam daardoor niet uit met de juiste hoek ten opzichte van elkaar.
Uit mijn schooljaren (jaja) kende ik nog a kwadraat plus b kwadraat is c kwadraat. Maar ook 1-2-wortel 3. Ook 3-4-5. Allemaal driehoeken met een rechte hoek van 90graden. Maar wat was nou die formule die ik nodig heb?? Met de sinus  erbij gehaald is het me toch uiteindelijk gelukt om het exact op tekening te krijgen. Want het tekenprogramma (gratis) kent alleen x en y-coordinaten, en enkele hoeken van 45 graden of veelvouden daarvan. En ik heb 30 of 60 graden nodig, want de 3 magneten hebben een onderlinge hoek van 120 graden.

Tot zover de meetkundige zaken.

Ondertussen heb ik bekeken wat ik precies aan plexiglas nodig heb. Ik heb nu een offerte uitstaan bij plexiglas.nl. Ben benieuwd.
_______________________________________________
21-4-2020
Het plexiglas bakje wordt gemaakt van allemaal schotjes, waarin de magneten worden geborgt, gelijmt eigenlijk. De vaste magneten krijgen zo hun plaats.
De magneten op de as verlijm ik ook. De axiale krachten worden voorkomen door het plaatsen van asklemmen en busjes en ringen. Deze zijn van aluminium of nylon.

Ik heb een firma gevonden op internet die het plexiglas voor mij op maat zaagt. Of het boren daar ook bij hoort, moet ik nog uitzoeken.

De magneten heb ik van een bedrijf in Duitsland, met een nederlandse website. Dit bedrijf heeft op de website allerlei projectjes van mensen staan, die iets bijzonders met magneten hebben gemaakt.
Als ik toestemming krijg, zal ik de link hierbij zetten.
_____________________________________________
20-4-2020.
Ik ga de windkracht en de windrichting combineren.
Eigenlijk is dit een logische keuze. Maar ook een praktische. Ze komen dicht bij elkaar te staan, en de bedoeling is dat ze beiden dezefde magnetische lagering krijgen.
 


Ik ga kijken of ik de magnetische lagering in een bakje kan plaatsen van 10x10x10 cm. Ik kan dit niet uitproberen met karton bijvoorbeeld, omdat de lagers heel erg aan elkaar trekken,
De bedoeling is om het bakje van plexiglas te maken. Niet alleen vanwege de stevigheid, maar ook voor het zicht. Je kan zo heel mooi zien hoe het is gemaakt.

Eigenlijk kan ik de bakjes exact hetzelfde maken, alleen de inhoud is anders. Voor de windvaan komt er een codeschijf met 4 infrarood-sensors in. In de windkracht een magneet en een hall-sensor. De sensor meet telkens het magnetisme van de magneet, elke omwenteling 1 keer.

Op de as van de windrichting komt een pijl, denk ik. 
Voor de windkracht de dopjes van de bestaande anemometer. Die moet ik er dan afslopen.


woensdag 15 april 2020

Voltmeter 220VAC

Even een tussendoortje.

In het bakje zit het gevaarlijke deel, de hoge spanning met weerstanden en een opto coupler. Hierdoor is de hoge spanning volledig gescheiden van de arduino.

Waarom deze voltmeter?
In het weekend heb ik de auto schoongespoten met de hogedrukreiniger. Die begon iets te stinken naar de typische brandlucht van verbrande elektromotoren. Ik heb daar kennelijk een heel gevoelige neus voor, is al eens gebleken.
Maar hoe kan dat dan, zou je zeggen? Door de hoge spanning!
De netbeheerders hebben enkele decennia geleden afgesproken dat de netspanning gefasseerd omhoog gaat. Van 220volt naar 230, en enkele decennia later naar 240volt.
Maar dat gaat niet zomaar straffeloos. Oude apparaten, en met name de apparaten met magnetische wikkelingen, gaan hier problemen mee krijgen.

De theorie achter magnetische wikkelingen.
Transformatoren en direkt inschakelende motoren zijn zodanig ontworpen, dat ze tegen de magnetische verzadiging aanzitten.
Want extra ijzer, dat meer ruimte voor de verzadiging geeft, betekent ook meer gewicht en grotere apparaten, dus ook duurder. Daar wordt dus niet voor gekozen.
Bij een hogere spanning komt het ijzer eerder in magnetische verzadiging. Dit resulteerrt in een exponentiele verhoging van de (primaire) stroom, en dus meer warmteontwikkeling in de spoelen.

Nu is dat gefasseerd ophogen van de spanning niet zo'n groot probleem, alleen de oude apparaten (denk aan koelkasten en diepvriezers) krijgen het er moeilijk mee.
Maar er is nog iets waar ze niet aan hebben gedacht: zonnepanelen en windmolens. En met name de zonnepanelen die explosief zijn toegenomen. En ongebreiteld, want iedereen mag nog steeds zonnepanelen laten plaatsen.
En wát doen die dingen? Juist ja, de spanning opvoeren van het net, want anders kunnen ze niets leveren. En iedereen wilt toch heel erg graag terugleveren aan het net, dan leveren zonnepanelen tenminste iets op.

Op mijn laatste werkplek hebben we zelfs tot boven de 240volt gemeten. En dat is dan echt teveel voor oude spullen.

Op de apparaten heb je altijd een typeplaatje waarop de spanning staat. Deze is in het gunstige geval 220-230volt. Ik heb nog zelden tot 240volt gezien. Ja, bij computers enzo, die werken met schakelende voedingen. Die kunnen al gauw tot 270volt, want die zijn zelfregulerend.

Dus... heb ik een digitale voltmeter met arduino gemaakt.

Gemeten waarden.
Het valt me op dat gisteren, een bewolkte dag, de spanning de oude waarde van 220volt had. Waarschijnlijk op voorhand toch maar laag gelaten.
Nu zit ik nog geen 100meter van een trafohuisje af, dus heb ik weinig spanningsverlies. De gemeten spanning is dus heel reëel.
Nu, met heel erg veel zon, is de spanning opgelopen naar 224 volt. Niet spectaculair, maar toch.

vrijdag 10 april 2020

LCD display en Keypad

9-7-2020.
Ruim een week geleden ben ik met een encoderknop bezig geweest. Daarmee wil ik het menu bedienen.
Het doorsrrollen van menuregels gaat heel erg goed, zonder noemenswaardige vertraging. En eigenlijk verbaast me dat. Een meevaller dus.
Mijn computer is een week uitgeschakeld geweest. Nu kan ik weer verder met de encoder.

De werkwijze is kiezen (scrollen), kiezen (drukken), kiezen (scrollen), kiezen (drukken), eventueel input met toetsenbordje of aanklikken met encoder op alfabet op scherm. Dit laatste is nodig om bepaalde items op de SD te krijgen, anders moet voor elke wijziging de computer eraan gehangen worden. Het kan ook zomaar zijn, dat ik daar toch voor kies. We zien wel.

Nu is het zo, dat de keuze door de druk op de knop nog niet feilloos werkt. Ga ik nu dus uitzoeken.
________________________________________________________
8-5-2020
Vandaag heb ik de 2560 al binnen. en... HET WERKT.
Mijn conclusie dat het een geheugenprobleem zou kunnen zijn is dus de goeie.

Dit display met keypad kan dus de prullebak in. Was mooi geweest, veel geleerd.
Want: nu ik toch een grote broer heb van de arduino Nano, vervang ik beide nano's op de print voor die ene Mega 2560.
____________________________________________________________
7-5-2020
Ik ben lang bezig geweest om het LCD goed te krijgen.
Telkens had het zeer onregelmatig gedrag. Met name de klok toonde hij steeds niet.

In een routine maak ik een keuze of een regel op het lcd gevuld moest worden met de klokkalender, of met informatietekst.
Direkt na de start gaat het nog wel, maar het werd steeds grilliger.

Uiteindelijk heb ik een miniprogrammaatje gemaakt in het hoofdprogramma. Alleen dát programmaatje draaide steeds opnieuw. Hierin heb ik relevante routines gebruikt, waar het steeds fout ging. Het resultaat was, dat dit programmaatje het prima deed.

Conclusie is dan ook dat de hardware het prima doet. Ook de aangesproken routines werken feilloos.

Dat kon maar één ding betekenen: geheugen, en wel de SRAM, waarin de variabelen worden gemaakt en bewerkt.

Ja he, ik heb bijna 1000 bytes beschikbaar, maar blijkbaar gaat het met tekstverwerking en manipulering héél erg hard.

Ik ben op zoek gegaan naar geheugenuitbreidingen voor de nano. Die zijn er niet, ja, eeprom, maar daar heb ik niks aan.

Ander bord dus. Veel gezocht en gevonden. Er zijn ook heel dure oplossingen, maar ik heb er een gevonden die verder compatible is met de nano. Het is de MEGA 2560 met 4 keer zoveel poorten en geheugen. Echt een werkpaard dus. Het programma zou dus 1 op 1 overgezet kunnen worden.
Die heb ik dan ook besteld.

Hierdoor kan ik de bediening met twee losse nano's vervangen door deze ene.
Ben benieuwd.
__________________________________________________________________
20-4-2020


Dit is de hele klok. De batterij knoopcel is duidelijk zichtbaar. Deze gaat jaren mee, en zorgt ervoor dat de klok blijft doorlopen. ook bij spanningsuitval.
Dit type heeft zeer goede eigenschappen voor wat betreft stabiliteit en gelijkloop. De klok wijkt hooguit 1 minuut per jaar af.

Gisteren ben ik de hele dag bezig geweest om uit te zoeken hoe ik deze klok elke minuut een signaaltje kan laten geven, wat volgens het datablad zou moeten kunnen. Het is me wel gelukt hoor, maar dit was er weer zo-eentje waar veel tijd in gaat zitten in uitzoekwerk en het proberen te begrijpen van de informatie die ik wel op internet kan vinden.

Wat kan ik nu met deze klok:
Deze klok heeft de functie van een moederklok. Alle projectjes die ik nog ga maken, zijn via het netwerk verbonden met deze klok.
Vergelijk dit met de spoorwegen: elke klok die er hangt wordt aangesstuurd met een moederklok in Utrecht, vandaar ook dat de grote wijzer elke hele minuut ineens naar de volgende minuut springt. Maar dat doen dus alle klokken op alle stations in nederland op hetzelfde tijdstip. Hierdoor kunnen ze de treinen beter op elkaar laten afstemmen en daardoor een strak tijdschema hanteren.

Hiermee kan ik verschillende processen op elkaar afstemmen als daar behoefte naar is.
Als voorbeeld bedenk ik dat het weerstation, dat uit verschillende units wordt opgezet, de processen op elkaar afstemmen. Of dit nodig is weet ik nog niet, maar de mogelijkheid is er.
____________________________________________________
19-4-2020
De klok.
De klok zit op de processor van het LCD in de werkkamer. Het is een zgn. Real Time Clock. Ook bij spanningsuitval blijft de klok gelijk lopen, omdat er een backup-batterij in zit. De klok heeft ook een kalender met de laatste 2 cijfers van het jaar.
In het gehele systeem in huis is er maar één klok, die ik moederklok noem.
Elk ander station heeft een soort register, geheugen, waarin alle relevante data van de kalender/klok opgeslagen kan worden.
Elke minuut zendt de moederklok de gehele kalender/tijd-informatie het netwerk op, waarop alle stations hun registers kunnen afstemmen.

Programmeren van de klok.
Dit is nog een heel ander verhaal. De kalender en tijd gelijk zetten en uitlezen is geen probleem; daar zijn genoeg voorbeelden over te vinden. Maar het alarm is een ander verhaal.
Het alarm kun je zodanig afstellen, dat je elke minuut, als de seconden op 00 komt, een interruptsignaal krijgt, waarop gereageert kan worden. Natuurlijk is dit een zeer geschikt signaal voor dit doel. Alleen heb ik er hierover nog niks vinden. Ja, een gegevensblad, maar die is erg moeilijk te lezen. Het is een hele kunst om zo'n blad te doorgronden.
Maar toch ga ik er mee aan de slag. Dit is dus een projectje appart.
______________________________________________________
18-4-2020
Wat heb ik nou gemaakt: 2 processoren op één print, met RS485 gekoppeld. Processor 1 heeft het keypad, processor 2 het display en de klok. 

Nu beschouw ik de 2e processor als master, waar alle hoofdhandelingen plaatsvinden, en die alles aanstuurt voor wat betreft processen in het geheel aan stations in de toekomst. Dit inzicht kan makkelijk nog aangepast worden.

Het heeft even geduurd voordat ik de basis van dit setje goed had. Bedoeling is om data, in welke praktische vorm dan ook, van de ene processor naar de andere te sturen en op het display te zien is. Want als dit werkt, kan ik vanuit elk station data versturen dat rechtstreeks naar het display gestuurd kan worden. Of dit al dan niet gebeurt, moet ik nog bezien, maar het is wel mogelijk.

Maar die basis is wel moeizaam verlopen. Maar het werkt! Deze programma's vormen de basis van dit setje. 
Een ander programma dat ik hiervoor had bedacht gaf te veel problemen. De aanpak is nu anders dan bedacht, maar dat heeft alleen te maken met welk programma ik in de andere implementeer, of andersom.
_________________________________________________________
13-4-2020
  
Hierbij een bouwplan voor het hoofdstation, ook voor de huiskamer. Een combinatie van het LCD en het keypad.

Een goede opletter ziet de print terug van het projectje laatste werkdag. Die heb ik met een 2e processor uitgebreid voor het keypad. En, uiteraard de twee RJ45 ingangen voor het netwerk.

Nu ga ik 2 bestaande projecten (LCD en keypad) samenvoegen, of althans, met elkaar laten communiceren via RS485. Hoe dat er exact uit gaat zien weet ik nog niet.



________________________________________________________
11-4-2020
Laat ik maar eens beginnen met een printje te maken voor dit geheel. De keuze om hierin ook de klok te betrekken is nu heel simpel.

Ik heb in het verleden al eens geprobeerd om 2 arduino's met elkaar te laten praten, serieel, maar dat gaf nogal wat problemen. Niet technisch, maar wel de vorm van de variabelen. Het resultaat van een data-overdracht bleef een gok.

Inmiddels is mijn eerste RS485 verbinding een feit, zodat de keuze wel heel gemakkelijk gemaakt is, om ook deze zeer korte verbinding met RS485 te doen. Wel wil ik het 485ic gebruiken, omdat dit dingen doet die ik nog niet helemaal snap. En juist dit ic vormt het hart van de RS485 verbinding.

Nu kán ik er voor kiezen om het display helemaal los van de rest te monteren, misschien zelfs ook het keypad. Het display kan ik dan op een vaste plek monteren, en het keypad los in de hand. Dit geldt dan voor de werkkamer.
Voor de huiskamer wordt het wel één geheel. Laat ik met die opstelling maar eens beginnen.
_____________________________________________________
10-4-2020.
Omdat deze twee niet meer los van elkaar worden gebruikt, zet ik ze verder samen in dit Blog.
Deze combinatie vereist ook een volle processor, vandaar.

Voor de LCD heb ik 7 poorten nodig.
En voor het keypad nog eens 8 poorten.
Daarbij komen nog het RS485 netwerk bij (3 poorten), en mogelijk de klok op I2C (2 poorten).
Bovendien wil ik de verlichting van het display kunnen dimmen, weer 1 poort.
Alles bij elkaar 21 poorten.
Ik heb beschikbaar 11 digitalen en 6 analoge poorten, zijn 17 poorten. Als ik de klok weglaat, heb ik er nog altijd 2 tekort.
De keuze wordt dan vrij simpel: gebruik 2 processors.
Mogelijk zal ik analoge ingangen als digitale poort moeten gebruiken. Ik weet dat dit kan, maar ik weet niet of ik nog uitdagingen tegenkom.

Uiteraard is het LCD van het type 40x4, en het keypad een 4x4 matrix, dat 16 toetsen geeft.
Voor menugestuurde programma's en de invoer van data is dit een heel mooie combinatie.
___________________________________________________

Keypad

Een keypad is een klein toetsenbordje dat kan worden ingezet om keuzes te maken in menugestuurde processen, en om data in te voeren.

Als alternatieven zijn oa. joystick, drukknopjes en encoders beschikbaar, ik ik vind een keypad de meest bedieningsvriendelijke.

Nu heb ik al eens meer met keypads gewerkt. Er zijn legio typen in omloop.

Waar ik ervaring mee heb, is een keypad met 4x3 toetsen, dus zonder de letters. De toetsen hadden normale schakelcontacten, dus zeer laag-ohmig contact. Bovendien stonden alle contacten in serie, waardoor ik 13 aansluitingen ter beschikking had. Dit heeft het voordeel dat je met een simpele weerstandenbrug op één analoge ingang het keypad kon detekteren.

Dit keypad wijkt daar behoorlijk van af.
De contactweerstand is om en nabij 1000ꭥ, en bovendien niet stabiel. De contacten staan in een raster, of matrix, geschakeld. Det vereist een heel andere aanpak. Er zijn hierdoor 8 aansluitingen beschikbaar.

Allereerst ben ik bezig geweest om door middel van diverse weerstanden een weerstand op de aansluitingen te creëeren, afhankelijk van de toets die wordt ingedrukt. Daardoor zou ik dan weer op één analoge ingang het keypad kunnen uitlezen.
Maar dat viel erg tegen. De weerstand voor de analoge ingang was zó instabiel, dat ik er eigenlijk niks mee kon doen. Óf ik moest de weestanden zó hoog maken, waardoor de contactweerstand in het niet zou vallen, maar dat heb ik nieteens uitgeprobeerd. De storingsgevoeligheid zou erg toenemen met de weerstand.

Uiteindelijk heb ik een matrix-uitlezing bedacht. Daarvoor gebruik je 8 poorten van de processor, 4 ingangen, 4 uitgangen.
En dat werkt als een tierelier. Alleen, je bent gelijk 8 poorten kwijt.

Nu bestaan er ic's die van een seriele poort I2C digitale poorten kunt maken. Nou, dat leek me wel wat, zeker voor dit keypad.
Ik gebruik daarvoor een I2C naar 8 poorten ic. Ideaal leek me.

Nou, niet dus.
Op de eerste plaats lí'jken die poorten niet op die van de processor kwa eigenschappen. Uitgangen werken maar één kant op, terwijl arduino 2 kanten opwerken; poort kan dus zowel leveren als opnemen.
De ingangen hebben een heel onvoorspelbaar gedrag.
Nu heb ik natuurlijk weer het een en ander onderzocht. Nu kan je de buffer in één keer uitlezen. Daarmee reset je gelijk die buffer(!!!). Maar het lijkt wel alsof hij dat ook doet met incidentele uitlezing, ik kreeg er maar geen vat op.
Ook omdat ik voor de uitgangen een transistor-netwerkje moest bouwen, begon ik erg te twijfelen aan bijvoorbeeld die netwerkjes. Het heeft me veel tijd gekost, maar die heb ik toch genoeg......😏

Uiteindelijk heb ik toch maar gekozen voor rechtstreekse aansluiting op de processor.


zondag 5 april 2020

Bibliotheken

Bibliotheken staan vol met speciale programma's met één of meer specifieke taken.
Taken, zoals LCD, vocht sensor, servo, temperatuursensor en nog veel meer.

Nu kan zo'n bibliotheek-programma geheel los van enig variabele functioneren. Het krijgt data mee bij het aanroepen van dat deel, en het geeft data retour als dat de bedoeling is.

Nu geeft Arduino een beschrijving hoe bibliotheken te maken. Helaas komt het niet verder dan een eenvoudige morsecode van het SOS.
Ik zal in bestaande bibliotheken moeten snuffelen hoe ik die moet maken.

Ik heb een poging gewaagd om het display 4x40 onder te brengen in de bibliotheek, maar dat is glansrijk mislukt.

Zo ben ik zelf al begonnen met een bibliotheek dat twee getallen bij elkaar optelt. Nou, dat heb ik nog niet zo snel onder controle. Ik heb toch iets meer nodig dan het voorbeeld van het SOS.
______________________________________________________
10-4-2020.
Inmiddels heb ik ook dit even op een laag pitje gezet. Het heeft toch iets meer kennis nodig om zelfs maar een eenvoudige optelling te maken.