4 ramen besturen volgens windrichting, windkracht en neerslag.Ik

Ik stelde eigenlijk de vraag op het domotica forum van Arduino maar kreeg weinig respons.

http://forum.arduino.cc/index.php?topic=348308.0

Dus probeer ik hier ook eens.

Mocht het te moeilijk zijn met Arduino probeer ik het waarschijnlijk met de software horend bij het Davis weerstation zoals uiteengezet onder de Domotica sectie.

Maar misschien heeft iemand hier toch nog een beter idee of zelfs ondervinding hiermee.

Dit vraagstuk moet zich toch vaker stellen.

Het project is het volgende :

Er is een veranda met glazen piramidedak met op ieder van de vier zijden een raam van circa 1 m² elektrisch openend met kettingmotor.
De piramidekoepel bevindt zich op grotere hoogte (15 meter) en is dus onderhevig aan wind.

Wij hebben nood aan een controller met sensoren : windkracht, regen, maar ook :

  • Sensor voor windrichting om volgens de windrichting enkel de 2 ramen in de luwte te openen (dus zijde weg van de wind) : schouweffect voor ventilatie.
    Bijvoorbeeld zuidwest wind : openen ramen noord en oost.
  • Ingesloten pdf specificatie van 24 V kettingmotor : juiste type is WMU 862-1 0750 0104.
    De kettingsmotor is voorzien van een derde groene draad waarmee elektronisch de stand van de ketting kan bepaald worden.
    Zou kunnen ingesteld worden dat naarmate meer of minder wind gradueel de ramen minder of meer openen, dus geleidelijk ? Bij storm volledig toe en bij windstil volledig open met alle tussenstanden tussenin.
    Volgens verdeling van kettingmotor is de derde groene draad van hetzelfde type als bij IO-homecontrol van Velux.
    Zie ook pdf-folder van Motorlink specifiek voor deze kettingmotor.
  • Eventueel andere zaken die U nuttig zou achten, bijvoorbeeld temperatuur sensor binnen en buiten op pas bij x° warmer binnen dan buiten te ventileren ?
  • Enz.

De stroom is 2 A per motor 24 V gelijkspanning.

Immers, type is WMU 862-1 0750 0104

http://www.windowmaster.com/files/billeder/ecom/images/pdf/vejledninger/WMU%2084x-86x-88x-89x-n%20install%20EN_DE_DK_FR_SV_1502.pdf

Over Motorlink

http://www.windowmaster.com/Admin/Public/Download.aspx?file=Files%2FFiler%2FBrochurer%2FA4_MotorLink_brochure_UK_ver-2.pdf

Dank voor alle suggesties.

Guido uit België

WMU 86x-88x-n install 1210-UK+D+DK.pdf (215 KB)

WMU 86x+88x_data_ver04-UK.pdf (727 KB)

en de vraag is?

Sorry.

Ik heb geen ervaring met Arduino.

Ik kan wel componenten solderen en heb in een ver verleden nog geprogrammeerd, zelfs in machinetaal en assembler en dat zijn dingen die men niet verleert.

Ik heb ook een stroomschema opgesteld : zie ingesloten, hopelijk leesbaar. Ik besef wel d

Per vergissing verzonden.

Ik besef wel dat dit schema redelijk ingewikkeld is.

Het probleem bestaat erin een compromis te vinden tussen :

  • enerzijds de controller voldoende snel laten reageren als het harder begint te waaien, de wind draait, het begint te regenen,

  • en anderzijds te vermijden dat de ramen frequent bijna continue bewegen en de motoren dus snel verslijten,, vandaar bijvoorbeeld delay on reactivation, werken met gemiddelden, opdelen van gewenste raamopening in blokken, enz.

Concreet is de vraag : kan dit gedaan worden met Arduino maar voornamelijk is het haalbaar voor mijn niveau en wat heb ik dan als componenten nodig.

Met het Davis weerstation zou ik eigenlijk ook al vrij goed kunnen bereiken wat ik zoek (behalve graduele opening) dit koppelt enkel aan aan/uit contact zodat ik daar wat extra relais en 2 automatische timers zou moeten aan toevoegen (timers regelen de opening via 30 seconden is 40 ° open, enz.).

Alle ideeën zijn welkom.

Awel alles wat je kunt bedenken op dit gebied is te maken, je zult wel een paar stevige H bruggen nodig hebben voor de motoren.
Tijden en afhankelijkheden is geen probleem
een UNO of Nano zou dit al kunnen.

GVDB:
Concreet is de vraag : kan dit gedaan worden met Arduino

ja

GVDB:
maar voornamelijk is het haalbaar voor mijn niveau

neen

Mijn conclusie: Eerst je niveau opkrikken.
Denk zo over het materiaal. Het materiaal waar je mee gaat spelen is duur materiaal. Koop je iets verkeerd of maak je iets stuk gaat het snel een paar honderd euro kosten. Voor dit project kan je dus best eerst een schaalmodel maken in goedkoop materiaal en dat doen werken.
Voor wat betreft de code: Eerst de arduino voorbeelden eens doorwerken. Het is makkelijk om iets in Arduino te doen werken; maar om een echt werkend en betrouwbaar systeem te maken is er wel tijd en ervaring nodig.

Met vriendelijke groet
Jantje

Dank voor het antwoord.

Als bijlage mijn misschien te ingewikkeld stroomschema.

Ik vermoedde al :

  • Ik kan het misschien al dan niet goed op voorhand beredeneren.

  • Maar om dat te realiseren met toestellen en printplaten die ik nog niet ken en zelfs de eenvoudigste dingen nog moet leren, dat wordt praktisch onmogelijk.

Ik wacht misschien nog tot volgende zomer om eens de manuele werking beter te evalueren met 4 simpele ompolingsschakelaars.

Ik zoek het misschien (wellicht) te ver (maar met die parameters spelen en experimenteren lijkt wel plezant).

Het weerstation van Davis biedt ook goede mogelijkheden.

Ik zou ook domotica kunnen laten installeren en voor dit Davis weerstation bestaat een modbus connector.

Ik denk nog verder na.

Ik twijfel tussen : manueel, een stand alone oplossing of domotica geïntegreerd. Ik heb momenteel geen domotica en niet onmiddellijk nood eraan, maar kan er toch wat toestellen (luifels, lattestoors, enz. aan koppelen).

Alle suggesties zijn welkom.

flowchart control 4 actuators based on windforce winddirection and rain.pdf (107 KB)

Ik twijfel tussen : manueel, een stand alone oplossing of domotica geïntegreerd.

Eerst moet je zorgen dat het manueel allemaal deugt.
Daarna ga je stapje voor stapje voor stapje, beetje bij beetje.
Als het manueel niet klopt, heeft de rest zowiezo geen zin.

je zoekt wat ver, stapje voor stapje, want wij zijn langzaam van begrip,

Ik heb even gekeken naar je flowchart, of eigenlijk dat werkblad.
Voor een flowchart is het toch iets te rommelig.
Het staat helemaal volgeschreven met commentaren en toelichtingen (is dat een herhaling ?).
Ik kan dat begrijpen wanneer je bezig bent met het uitwerken van zo'n flowchart, maar als je het aan iemand anders laat zien word het er niet echt duidelijker op, is mijn mening.

Ik raad altijd aan om je problemen op te schrijven en op te breken in steeds kleineren problemen.
Flowcharts zijn excellente hulpmiddelen om dat mee te doen.
Beslissingen en voorwaarden kunnen vaak onderverdeeld worden in kleinere varianten, soms zelfs in hele diagrammen.
Als je dat vaak genoeg doet, heb je al bijna een compleet programma uitgeschreven met je diagram (er is zelfs een programmeermethode met zulke diagrammen).

Je kunt terwijl je je installatie manueel aan de gang hebt, prima met je weerstation en de Arduino werken en 'droog' oefenen, dus zonder dat je daadwerkelijk met de motoren verbonden bent.

Zoals eerder al gezegd, blijf met kleine stapjes werken.
Dan is het eenvoudiger het overzicht te behouden.
Dat kan wel een beetje frustrerend zijn omdat het lang duurt, maar het is wel de veiligste en naar mijn idee de beste weg.

U hebt overschot van gelijk : schets is naam flowchart niet waardig.

Het was een kladversie in potlood waaraan veel gegomd werd.

Dank voor de tips.

Ik denk een beetje dat het algoritme best experimenteel ontwikkeld en bijgeschaafd wordt tijdens de werking.

Toen ik de documentatie las van Weatherlink van Davis weerstation vond ik dit wel mooi : er zijn 4 contacten en per contact 8 conditieregels waar alle mogelijke parameters met min, max, between kunnen ingevuld worden. Zo zou veel kunnen geëxperimenteerd worden.
Het werkt zo : de connector wordt in het weerstation geschoven en aan PC gekoppeld, dan stelt men die condities in, nadien mag PC los gekoppeld, en blijft de connector met de contacten aan de console van weerstation.

Maar dit is off topic want niets met Arduino te maken.

Ik had in dit forum wat meer tips en ondervinding gezocht met het gebruiken van de juiste parameters en voornamelijk tips en tricks om oscillatie te voorkomen.

Het vermijden van oscillatie is een belangrijke factor in goede regeltechniek : vergelijk met een kamerthermostaat die niet continu aan en uit mag klikken (hoorde ooit maar ben niet zeker dat om die reden in sommige thermostaten een weerstandje gebruikt wordt dat warmte genereert binnen de thermostaat).

oscillatie is heel makelijk te voorkomen door hysteresis te gebruiken. Hysterese - Wikipedia
Merk op dat oscillatie enkel echt een probleem is met aan uit schakeling.
Veel toepassingen kan je ook regelen zoals zoveel aan en zoveel gaat van 0 tot 100 of van 0 tot 255.

In de praktijk komt het bij aan uit vaak neer om 2 waarden in te stellen. BV als je je thermostaat op 20 zet zeg je eigenlijk
Als de temperatuur < 19.5 zet de verwarming aan
Als de temperatuur > 20.5 zet de verwarming uit.

oscillatie kan ook makkelijk voorkomen worden door de waarde maar om de zoveel tijd te verzetten.
Je zou bij een raam bv kunnen zeggen dat het geen zin heeft om meer dan 1 maal per 5 minuten je raam te verzetten (behalve dan misschien in nood gevallen als "raam dicht als het regent)

In het kort, oscillatie is een mechanisch probleem ( gevreesd in de tijd van puur mechanische/electrische oplossingen) dat je met een beetje programmeren makkelijk oplost.

Met vriendelijke groet
Jan

mijn excuses maar ben het niet helemaal eens.
oscillatie komt overal voor en kan het gedrag in de war gooien.
voorbeeld een schommel die je in een bepaalde stand wilt zetten , als je alleen aan/uit hebt is dat best moeilijk, of heel snel, maar dan loop je dus mechanisch vast, of je zet de schommel steeds een stukje is wel langzamer, maar uiteindelij bereik je wel iets.

dan een thermostaat is hiervoor niet geschikt, want die kent geen tussenstanden.
wel hysterese door een magneetje op de contacten, en forward koppeling door de verwarming die op het bimetaal zit.

de elektronische hebben dat ook allemaal, en de ketels zijn modulair.

ofwel beetje te warm, en het wordt kouder niets doen
(nou drijf ik af naar fuzzy)

persoonlijk zou ik alle sensoren naar de arduino zetten dus windsnelheid en richting, verder temp, en rh.
als rh > 95 dan regen ofwel dak dicht.
else regelen door bijv fuzzy te gebruiken.

Dank U beiden voor deze leerzame en nuttige inzichten, in het bijzonder omtrent hysterese.

In de slordige handgeschreven flowchart had ik een aantal elementen opgenomen om (te veel) oscillatie te vermijden en dus de sleet van de motoren te beperken, maar anderzijds het systeem toch voldoende alert te laten zijn op regen, plotse windstoten, draaien van wind bij middelmatige windkracht.

Het is dus een evenwichtsoefening die naar mijn mening dient gefinetuned te worden tijdens het gebruik door het algoritme tijdens de werking bij te schaven.

Elementen die oscillatie tegengaan :

1 Het hanteren van de gemiddelde windkracht over de laatste bijvoorbeeld 15 minuten, dus doorlopend en continu, dus niet in blokken. M.a.w. op ieder ogenblik wordt afgevraagd was de gemiddelde wind tijdens de laatste 15 minuten niet hoger dan bijvoorbeeld 30 km/u.

2 Concept gepikt van WeatherLink® for Alarm Output van Davis weerstation :
Delay on Reactivation
Use this function in conjunction with the Alarm output and the Vantage Pro alarms to determine how long to delay the reactivation of an alarm once it is inactive.
Dus bijvoorbeeld eens de ramen dicht wegens regen, te veel wind, verkeerde richting, nadien bijvoorbeeld 30 minuten wachten om opnieuw te checken of ramen open mogen.

3 Concept gepikt van WeatherLink® for Alarm Output van Davis weerstation :
Delay on Release
Use this function in conjunction with the Alarm output and the Vantage Pro alarms to determine how long to extend the activation time once it is triggered. The default value is 10 minutes.
Eens ramen in positie : bijvoorbeeld 10 minuten wachten om te wijzigen.

Maar uitzondering : zeer korte polling time, bijvoorbeeld 10 seconden om te controleren of er geen storm is = overschrijding maximum windkracht, regen, draaien windrichting bij middelmatige wind.

Davis omschrijft dit zo :

Time Out Period
The Alarm Output data logger will always hold an attached device in the appropriate state (On or Off) as dictated by the alarm settings. However, the Alarm Output data logger utilizes a time-out period for ceasing checking the alarm conditions whenever software attempts to communicate to the logger. The default and minimum setting is 5 seconds. Once the time out period ends, the data logger will again check the alarm conditions to determine whether to leave an output open or closed. You may adjust this value if you want the alarm checking functions to resume later after communicating to the logger using WeatherLink or the Streaming Data Utility.

4 Het opdelen van de raam posities in blokken, bijvoorbeeld 4 blokken met afronding.
Formule product van gemiddelde windkracht ten opzichte van maximum windkracht omgekeerd
100 % x (tresholdaveragewindspeed-averagewindspeed)/tresholdaveragewindspeed)
x windrichting omgekeerd (bij ZW > ramen NO half open, enz.)
voorbeeld voor noordraam Bv ZZO = 157,5 ° > 75 % x dan het openingspercentage volgens de windkracht, en dan in bijvoorbeeld 4 blokken afronden.

5 Zie iemand nog andere nuttige technieken om oscillatie te vermijden ?

Vandaar dat mijn schetsje ondertussen een kladblok was.

Dit alles doet mij ook wat denken aan PID controllers (bijvoorbeeld cruise control die als die goed ingesteld is U zonder horten en stoten laat rijden door tunnels op en neer, voor de Belgen de kleine ring van Brussel, zonder dat men telkens het optrekken en afremmen te sterk voelt) en/of fuzzy logic.

De controller zou zo moeten werken alsof ik continu de ramen met manuele schakelaars bijstel, of nog beter en nog sneller anticiperen als een mens zou kunnen.

Ik denk dat dit een relatief langere periode vraag met experimenteren met de parameters en de algoritmes totdat alles fijn afgesteld is.

Omtrent de suggestie temp en rh te betrekken, zou ik meteen en rechtstreeks de gevoelstemperatuur binnen en buiten in acht kunnen nemen.

Ziet iemand nog (andere) relevante parameters ? Zonnestraling, zonsopgang en zonsondergang, Dew Point, Heat Index, Wind Chill, UV index ?

Hierboven schreef U : oscillatie enkel echt een probleem is met aan uit schakeling

Misschien gebruik ik de juiste term niet als ik oscillatie gebruik, maar als de ramen continu volgens de huidige windkracht openen en sluiten, is dit dan geen oscillatie, of eerder een schommelen of pendelen ?

Terloops en hier ga ik wat off topic. Ik vind elektrische systemen regelen wel plezant.

Een aantal jaren geleden heb ik elektronische timer thermostatische kranen geïnstalleerd Honeywell HR-40.
Ik las toen omtrent de radiatoren in de living waar de gewone klokthermostaat staat :

  • ofwel die radiatoren altijd volledig open (en dus geen nood aan HR-40) : dan werkt systeem van brander volledig op de klokthermostaat.
  • ofwel klokthermostaat zeer hoog zetten 40° zodat deze eigenlijk enkel als een klok die dient en in deze living thermostatische kranen goed afregelen.
  • Maar in een boekje van Electrabel las ik dat men die 2 systemen niet mag combineren, dat het zelfs gevaarlijk of schadelijk zou zijn.
    Als ik zoiets lees is dat een aanzet voor mij om dit te proberen.
    Ik heb gedurende 3 weken alle mogelijk standen en combinaties uitgeprobeerd met verschillen van 0,5 ° C en in een spreadsheet genoteerd.
    Na 3 weken had ik de ideale instelling waardoor ik ook een afzonderlijke bureau 's avonds goed kon verwarmen zonder onnodig de brander te laten stoken, dus een soort van compromis met een zeker "temperatuurcapacitateit" die wordt opgebouwd.
    In al die jaren heb ik niets meer bijgeregeld en werkt alles zeer comfortabel.

Nog zo'n soort regeling is het zogenaamd "intelligent" instellen van de zwart/wit balans van papierscanners (daar heb ik ook wat ervaring mee zgn. adaptive (local) treshold, Otsu formules, enz.).

Het zit ergens in die buurt van redeneringen, het vinden van een soort comfortabel automatisch compromis zonder excessen.

Ik vermoed met mijn ramen dat ik ook een dergelijke bijregeling zal moeten verrichten.

Maar ik moet wel meteen alle juiste parameters en sensoren kunnen voorzien.

Wat bedoelt U eigenlijk met "else regelen" ?

Alle ideeën en suggesties zijn welkom.

Dat else is afhankelijk van de if (als) die ervoor staat.

Anders gezegd:

Je regelt met fuzzy logic, tenzij de luchtvochtigheid te groot is.

Tijdens het doorkijken van je verhaal hierboven (nogal een verhaal, heb m niet helemaal aandachtig gelezen), moest ik ook denken aan een PID regeling, waar je zelf ook al aan dacht.
Daarvoor zijn er ook libraries en best wel wat voorbeelden te vinden.
Die gaan dan vooral op voor motorregelingen volgens mij, maar dat maakt verder niet zoveel uit.
Het systeem blijft hetzelfde.
Als je de verschillende technieken wil gaan mixen, dan zou ik je aanraden eerst de beide technieken zo puur mogelijk uit te werken zodat je ze goed kunt doorgronden.
Daarna zou je alsnog kunnen kijken of je ze gaat combineren.

Een PID regeling zoals een verwarming heeft maar 1 sensor(kamer), en 1 uitgang (brander)
dus als je een dakraam hebt met meerdere sensoren dan zul je een andere strategie moeten volgen en fuzzy is er daar 1 van.
als sensoren
binnen: temperatuur, RV, CO2, aanwezigheid, licht, ...
buiten: temperatuur, RV, windsnelheid/richting, licht.
persoonlijk zou ik elke invloed in een dakopening vertalen en dan van al die invloeden de minimum pakken.

de allerlaatste voorwaarde is
winddakopening=map(windsnelheid,0,5,100,0)
tempdakopening=map(sensor,15,25,0,100)
....
opening =MIN(wind,temp,.......)
de sensoren telkens laten meten, maar de opening alleen veranderen als er >5% te verstellen valt, binnen 10 minuten en na 20 minuten bij 4% en bij 30 minuten 3%.

10% direct actie.

Dank voor de nuttige ideeën Shooter.

De parameters die U opgeeft voor binnen en buiten zijn de nagel op de kop.

Ook de gedachte om de detectie en reactie snelheid relatief gradueel in stappen te verhogen naar mate de berekende verandering vergroot, ziet er zeer goed uit. Alleen twijfel ik nog of er dan geen risico is dat door te geleidelijke veranderingen naeen er toch niet alert genoeg gereageerd wordt, dus als de verandering te sluipend opeenvolgend is, en of er dan buiten een tijds/verandering relatieve controle, daarenboven nog een absolute controle bovenop moet komen, beetje in de idee van een plotse topwindsnelheid, plots nat, enz.
Ik ken hier gewoon te weinig van af en moet er nog wat grondiger over nadenken en eventueel zaken combineren : een tijds/verandering relatieve controle, reactivation delay, werken met gemiddelden over bv. 10 minuten (aan te passen naargelang ervaring), plotse maxima windsnelheid, richting en RV, opdelen van berekende openingsstand van de ramen in blokken met afronding, bijvoorbeeld 4 standen (later testen 3 standen, 6 standen, enz.).

Ik heb ook eens nagevraagd bij serrebouwers maar die bieden niet echt een oplossing.
De soft en hardware specialisten van de serres kunnen er ook geen weg mee omdat zijn louter op verschil buiten en binnen temperatuur werken en ook voornamelijk omdat hun daken slechts in 2 windrichtingen openen. Ik zou dan voor mijn 4 richtingen 2 dubbele serrecontroles nodig hebben en die kunnen geen weerstation delen, enz. Dus teveel problemen.
Qua regeling werkt de aansturing van de serreramen grosso modo zo :
Er is sensor voor buiten en binnen temperatuur.
Bijvoorbeeld buiten 20° en binnen 40°.
Volgens het gewas is het binnen te warm en is 26° gewenst, dan openen geleidelijk de ramen aan de luwte zijde, zo nodig indien nog niet genoeg afgekoeld, opent het raam meer en meer, tot maximale openingsstand hoger dan horizontaal.
Merk op dat deze serreramen bovenscharnieren en niet onderscharnieren.
Doordat de ramen hoger openen dan horizontaal is er door een soort van omgekeerd spoilereffect nog meer uitlaat van warme lucht.
Als dat nog niet genoeg is wordt dan ook het raam naar de windzijde lichtjes open gezet om een tocht te creëren.

Qua controller heb ik ook gedacht in de richting van PLC van Siemens LOGO die aan domotica KNX kunnen gekoppeld worden

De meest verspreide en open standaard is KNX of LON (onder andere van Siemens).
Er is ook nog Modbus, een soort van industriële standaard (denk ik compatibel met KNX en LON). Mijn kettingmotoren en het weerstation van Davis zijn Modbus compatibel.
Dan zou ik het systeem in eerste instantie stand alone kunnen maken, en later desgewenst aansluiten op een algemeen domotica systeem KNX of LON als ik dat zou installeren.
Dus denk ik in eerste instantie aan een oplossing stand alone Arduino of Siemens PLC LOGO.
Zou Arduino later ook aan te sluiten zijn op een algemeen domotica systeem KNX of LON ?

ja