Arduino verlichtings controller


Nog even terugkomend op het bericht van Tom;

De I Aqua software is inderdaad niet te gebruiken voor mij. De man gebruikt een DS 1307 klok die erg onnauwkeurig is waar ik de DS 3231 gebruik. Hij heeft RGB verlichting die ik niet heb. Hij werkt met Time alarm libarys die beperkte mogelijkheden hebben om als timer te gebruiken waar de door mij gebruikte geen limieten kennen. Verder gebruikt hij dosering's pomp schema's die ik nu (nog) niet heb maar ook zeker anders op zou willen zetten. In de sketch zit geen pH automatisering die ik nu wel heb. Kort en goed, voor mij niet bruikbaar maar dat kan voor anderen wel het geval zijn, natuurlijk.
 
Ja,
Ik snap het Ben en het is maar net wat je zelf het leukste vind om te genereren ..

Op een gegeven moment heb ik de keuze gemaakt om een API te gebruiken waar alles al in zit ..
 
Ja,
Ik snap het Ben en het is maar net wat je zelf het leukste vind om te genereren ..

Op een gegeven moment heb ik de keuze gemaakt om een API te gebruiken waar alles al in zit ..

...en dat hoeft helemaal geen slechte keuze te zijn, Tom. Het is zoals je zegt, wat je zelf het leukste vindt!
 
Het moet toch een keer tegenzitten...
Ik ben toe aan de ontwikkeling van de software voor de pH meting. Daartoe moet er ook geijkt worden. Ik gebruik een (Chinese-)pH-module waar uiteraard ('t Is Chinees...) geen informatie bijzit.
Deze calibratie bezorgt me hoofdbrekens. Zo zit er bijvoorbeeld een tweetal variabele weerstanden op de module waarvan er een gebruikt wordt voor de gain en de andere.... Geen idee! Als ik er aan draai gaat er een ledje op de module aan of uit. Is dit een drempel waarde instel schroef? Wat doet het precies? Weet iemand dit?
 
Vaak is er met enig zoekwerk wel iets te vinden, ook van de Chinezen. Gewoon het typenummer in Google gooien, vaak vind je dan wel wat je zoekt, je bent waarschijnlijk niet de eerste die hetzelfde apparaat in gebruik heeft :)
 
Vaak is er met enig zoekwerk wel iets te vinden, ook van de Chinezen. Gewoon het typenummer in Google gooien, vaak vind je dan wel wat je zoekt, je bent waarschijnlijk niet de eerste die hetzelfde apparaat in gebruik heeft :)
Nou ja, Google is inderdaad mijn vriend maar in dit geval heeft hij nog weinig hulp kunnen bieden....


Inmiddels heb ik een Arduino sketch opgezet die mijn waardes goed uitleest. Probleem is dat de waardes (voltages en dientengevolge de pH waardes) te veel op en neer springen in bovendien een te groot bereik. Ik dacht dit op te lossen door de elke 10 gemeten waardes te pakken daaruit een gemiddelde waarde te nemen. Het verminderd wel wat maar niet genoeg. Zou dit te stabiliseren zijn middels een condensator tussen de 5V en data lijn van de pH sensor? Welke waarde zou deze moeten hebben? Wie weet dit?
 
Zou hem over de voedingsspanning zetten ..
De 5 V lijn is de voedingsspanning voor de module, Tom.

Een klein filmpje voor jullie om het probleem zichtbaar te maken. Alles is uitgeschakeld, behalve uiteraard de pH meting, om er voor te zorgen dat er geen ruis of storing van elders kan komen.

 
Waar ze op doelen is dat je de C over de massa en de 5V moet zetten :)
 
Het moet toch een keer tegenzitten...
Ik ben toe aan de ontwikkeling van de software voor de pH meting. Daartoe moet er ook geijkt worden. Ik gebruik een (Chinese-)pH-module waar uiteraard ('t Is Chinees...) geen informatie bijzit.
Deze calibratie bezorgt me hoofdbrekens. Zo zit er bijvoorbeeld een tweetal variabele weerstanden op de module waarvan er een gebruikt wordt voor de gain en de andere.... Geen idee! Als ik er aan draai gaat er een ledje op de module aan of uit. Is dit een drempel waarde instel schroef? Wat doet het precies? Weet iemand dit?

Deze 2 weerstanden zijn je inderdaad je kalibratie en die beteken zero en span.

upload_2017-7-15_13-18-17.png
 
Deze 2 weerstanden zijn je inderdaad je kalibratie en die beteken zero en span.

Bekijk bijlage 25576
Nou weet ik niet exact wat er bedoelt wordt zero en span. Behalve dat je het vertalen kunt in nul en bereik. De weerstand het dichts bij de BNC is, in ieder geval, bedoelt voor de calibratie. De andere weerstand geeft een spanning van 0V tot zo rond de 3 V af op de pennen Do en To. Vermoedelijk heeft het indirect ook wel iets met de calibratie van doen omdat dit instellingen zijn die iets doen met de temperatuurmeting. Temperatuur is in combinatie met de zuurgraadbuffers belangrijk voor de pH ijking. Zoals ik al eerder zei is het kennelijk iets waarmee je iets wijzigt in een drempelwaarde hetgeen je grafieken min of meer bevestigen. Maar wat nu precies de bedoeling hiervan is wordt hiermee nog niet duidelijk.... Dank voor je reactie!
 
Dank voor je reactie!

De figuurtjes die Jose heeft geven iid de afstelling weer die je tijdens het calibreren kunt veranderen ..

In het verleden deed ik het ook op die manier met m'n aqua-medic controller.. en daarnaast ook met een Milwaukee controller.
Als je een beetje zoekt kun je de handleiding van de " milwaukee sms 110 manual " via google in onze taal ook terug vinden..

Probeer het anders ook eens met een basis-script waarbij je via de serial monitor het eea. kunt volgen..
 
Op dit moment heb ik ook een automatisch pH systeem die werkt op een vergelijkbare manier als jouw Milwaukee controller, Tom. Dat systeem kende ik dus al.

Overigens is het calibreren van de zelfbouw module ook geen probleem. Middels een kortsluiting methode, via 2 buffer waardes, pH 7 en pH 4, is eenvoudig je offset te berekenen. Wanneer ik de module naast mijn eigen systeem hang komen de gemeten waardes nagenoeg overeen. De tweede instelbare weerstand bedient duidelijk, dat begrijp ik inmiddels, een temperatuurdrempel. Waar het nu om gaat is eigenlijk wat ik nu precies instel en wat is het doel daarvan is. Trouwens nu gebruik ik deze pennen niet eens. Serial meting geeft niets aan maar dat kan ook komen doordat ik niet precies weet wat er zou moeten gebeuren en is mijn sketch niet goed aangepast. Dank je wel, Tom, voor je reactie.
 
Even tussen duim en wijsvinger ;

Je probe neemt een bepaald potential waar en je schakeling versterkt dat signal..
Als je via die kortsluit-method de offset met je potmeter kunt veranderen, is dat de Zero uit het bovenstaande schema..
Je arduino zou dat signal kunnen opnemen als zijnde een analoge meting van 512
Vervolgens kan je routine dat omzetten in een array die een millivolt waarde vertegenwoordigt..
Deze array is met een factor van 3,5 ( span uit het schema ) te vermenigvuldigen om een pH te krijgen..

eea. heb ik even gehaald uit twee programma's die ik tegen kwam .. 1 is geschreven door Jasper die hier ook gebruik van maakt..
 
Nou weet ik niet exact wat er bedoelt wordt zero en span. Behalve dat je het vertalen kunt in nul en bereik. De weerstand het dichts bij de BNC is, in ieder geval, bedoelt voor de calibratie. De andere weerstand geeft een spanning van 0V tot zo rond de 3 V af op de pennen Do en To. Vermoedelijk heeft het indirect ook wel iets met de calibratie van doen omdat dit instellingen zijn die iets doen met de temperatuurmeting. Temperatuur is in combinatie met de zuurgraadbuffers belangrijk voor de pH ijking. Zoals ik al eerder zei is het kennelijk iets waarmee je iets wijzigt in een drempelwaarde hetgeen je grafieken min of meer bevestigen. Maar wat nu precies de bedoeling hiervan is wordt hiermee nog niet duidelijk.... Dank voor je reactie!


Sorry voor de late reactie, ik heb het forum weer een tijdje niet gevolgd.

1) (Onderstaande kennis dateert van mijn studies - Biljoenblik heeft mogelijk recentere kennis/ervaring)
- Temperatuur heeft zeker invloed op een meting. Aangezien je sonde maar over één signaal beschikt is dit hetzij niet, hetzij intern gecompenseerd. Hanteer je voor kalibratie en meting weinig verschillende temperaturen EN blijf je tussen 15 en 30°C, dan zal het verschil klein zijn (te verifiëren).
- Er is ook een verschil tussen waterige en andere oplossingen. pH heeft eigenlijk enkel betrekking op waterige oplossingen en enkel voor H+. Voor andere oplossingen/concentraties spreekt men van activiteit. pH van bvb. een olijfolie, is dus enigszins een onjuiste formulering.
- Gebruik in andere media dan waterige oplossingen kan schade veroorzaken (ook eerder vermelde olijfolie ?).
- pH electrodes dien je absoluut steeds 'nat' te bewaren, niet in proper water of bufferoplossing, maar in een KCl oplossing (geen NaCl).
Indien de electrode bijgevuld dient te worden is dit met KNO3. Doe je op deze vlakken iets verkeerd, dan is het naar de è(§'è§ç!".


2) Beste Benvo,

M.b.t. zero en span was de reactie die ik verwachte en waar ik je helaas weinig mee kan helpen.

Ik leg uit:
Dat systeem van zero en span is zowel een geweldig als §(è§!ç systeem. Het is het oudste systeem van kalibratie/regelingen en dateert van voor de digitale techniek. Nochtans was dit het meest gebruikte systeem. De 2 schroefjes konden zowel een regelbare weerstand als condensator als spoel als pneumatische smoorventiel als mechanische afstelling zijn. Het was dus veelzijdig en technisch ... euh ... eenvoudig. Er waren wel varianten m.b.t. het 'scharnierpunt van de curve'. Dat kon zowel op 0% op 50% op 100% als aan het begin of einde van de curve zijn. Dit was het meest §(è("! als je geen handleiding had. Van hieruit kan ik dus ook niet zeggen welke jou situatie is.
Ik heb geen hoop dat het nu duidelijker voor je is, enkel dat je nu overtuigd bent dat je verre van de enige bent die hiermee gekl§"§(§tè heeft.

Ondanks dat het een veelgebruikt systeem was blijft elke beschrijving verwarrend (ik heb op het www wel enkele juiste maar geen goeie gevonden).
Je kan het nog best leren / begrijpen door zelf iets van beschrijving te zoeken wat je verstaanbaar lijkt, het er mee te spelen en bovenstaande in het achterhoofd te houden. Uiteindelijk begrijp je het of niet. Ik ken er meerdere die het aan een ander overgelaten hebben terwijl ze het echt graag zelf gekund hadden. Eenmaal je het 'begrijpt' wil dit nog niet zeggen dat het snel afgesteld is. Het blijft beide, om de beurt, wijzigen tot je binnen de gewenste toleranties zit.

Het cynische is dat bij invoering van de digitale techniek (instellingen via menu's), men dit in eerste instantie nog behouden heeft omdat het zo gekend en wijdverspreid was. Pas later is men het gaan vereenvoudigen en nam de digitale techniek de herberekening over. Waar de achterliggende techniek niet volledig digitaal is (IC's), wordt dit dus hoogstwaarschijnlijk nog zeer veel gebruikt.

Hou de moed erin en zet nog wat door. Als je het door hebt gaat bijna de hele wereld van meetinstrumenten voor je open.

Systeemmelding:
Smileys werden door de server verwijderd wegens overdadig gebruik.

;):sorry:
 
Inmiddels is alles duidelijk. Het is een nulpuntverschuiving. Op dit moment heb ik op mijn meters een prachtige stabiele wijzer die bovendien nauwkeurig de pH waarde aanwijst. Er is een correlatie tussen pH en temperatuur. Een relatie waar ik verder geen gebruik van maak en ook geen hinder van ondervindt. De invloed die de temperatuur op het pH gehalte heeft zijn, althans voor mijn doel, verwaarloosbaar.

@Tom.
Je beschrijving geeft een hardware callibratie aan, een die ook ik heb gebruikt. Nu heb ik echter een software calibratie aan mijn programma toegevoegd, hetgeen nauwkeurigheid met een druk op de knop mogelijk maakt.

@Josi.
De moed erin houden is geen probleem. Wanneer je aan een klus begint waarmee ik bezig ben weet je dat het niet te maken is op een namiddag. Er zitten al ettelijke maanden werk in het project en er zullen er zeker nog vele volgen! Bovendien heb ik, eigenwijs als ik ben, gewerkt met meters die er anders uitzien als andere. Op zich gaf dit ook weer de nodige bijzonderheden qua programmeren. Op dit moment ben ik zover dat alles werkt zoals mij voor ogen staat. Dit ook dank zij velen die mij hielpen én helpen op de diverse forums.

Dank jullie wel voor de fijne reacties!
 
Er ligt hier ook een 'china versie ' van arduino. Ik ben ook van plan om de hele boel te automatiseren, eerst met een lcd en knopjes, later met een laptop of raspberry pi.
Na 4j heb ik al eens wat ledjes aangestuurd en knopjes ingelezen. Daarna ben ik aan een multiplexer begonnen.
De theorie ken ik, componenten heb ik gekocht, schema's uitgewerkt, printplaten en testmateriaal samengebouwd en ... alles steeds zorgvuldig in een kartonnen doos gestoken.
Die doos hou ik nu al 2j binnen handbereik :).

Opgeven doe ik dus ook niet.

------

In 1965 !!! maakte de toenmalige BRT een absoluut legendarisch filmpje en monteerde daar muziek van Louis Neefs op. ( Fragment , Hermaakt na 50j )
 
Inmiddels werkt mijn pH meting stabiel en perfect. Verder is de sketch waarmee ik softwarematig, dus middels een druk op een kop, mijn sensor kan kalibreren ook klaar. Het laatste deel is het maken van een relais dat mijn magneetklep voor de CO2 toevoer gaat openen en sluiten. Maar dat is het meest gemakkelijke deel. Tot nu toe zit in de controller: Klok met instelmogelijkheden. Temperatuurmeting ook weer met instel mogelijkheden. Eventueel kan ik er fans voor koeling aan koppelen. Verlichting, waarbij het aantal kanalen uitgebreid kan worden zolang er vrije Arduino pinnen zijn. Op elk kanaal heb ik 10 dim/helderheids instelmogelijkheden. Alles verloopt dus weer volgens plan...
 
Dat klinkt goed!!
Ben benieuwd hoe het er in de praktijk allemaal uitziet: ( met andere woorden: This thread is worthless without pics ;) )
 
Plaatjes komen nog wel. E.e.a. zal t.z.t. (de afkortingen geven al aan dat er geen tijdslimiet op zit... ;)) ingebouwd moeten worden. Voor die tijd zullen er testfases zijn. Vooral het pH systeem wil ik testen naast mijn pH meter die ik nu gebruik. Overigens moet er nog een apart blokje gebouwd worden met een 230 V contactdoos en een relais. Deze moeten mijn magneetklep open en dicht gooien. Nog veel te doen dus. Overigens werk ik eraan als ik zin heb. Dat is niet elke dag...
 
Begrijpelijk, als je al een werkend systeem op je bak hebt zitten dan is er niet zoveel haast.
Ik begin daarom met alleen licht en temperatuur, wil geen lelijke thermometer in mijn bak maar wil het wel in de gaten houden.
Vandeweek mee verder, verwacht de LED strips ieder moment.
 
Omdat het vandaag zulk mooi weer was heb ik maar een blokje met contactdoos en relais in elkaar gefrunnikt. Dit dingetje gaat straks, aangestuurd door mijn Arduino, zonodig,
IMG_0462.JPG
IMG_0464.JPG
mijn CO2 magneet klep open en dicht gooien.
 
Update:

De testfase breekt aan voor mijn Arduino/Nextion Aquarium controller. De programmering is nagenoeg rond op wat schoonheidsfoutjes na die ik er nog uit moet halen. Allereerst zal ik het pH deel testen.
Dit doe ik in een bak waar al een volledig automatisch systeem inzit. Ik kan dus vergelijken. De sensor/electrodes worden bij, niet te dicht, bij elkaar geplaatst. Omdat ik natuurlijk niet beide electrodes aan de CO2 toevoer kan koppelen simuleer ik dit bij het nieuwe systeem met een 230 V lamp die aan gaat wanneer de magneetklep open zou moeten gaan. Tot nu toe voerde ik al wat korte testjes uit die zonder problemen verliepen. Deze test gaat wat langer duren, ik moet er zeker van zijn dat er geen fouten in het programma zitten. De callibratie, die software matig uitgevoerd wordt, blijkt alvast nauwkeurig en goed te werken. En wat een gemak, electrode in de vloeistof en na een druk op de knop is het zaakje gepiept! Wordt vervolgt dus!
 
De eerste (pH-)testen hebben een dag gelopen. De relaisschakeling die zorg moet dragen voor het openen en sluiten van de magneetklep werken naar behoren. Nu wel. Aanvankelijk bleek het helemaal niet te werken, het koste een halve dag om uit te vogelen waar het probleem zat. Dus de software op de kop gezet. Laat het probleem nou in de hardware zitten! De afscherming van de sensor kabel had een losgesprongen vezeltje, praktisch onzichtbaar, welke af en toe in contact kwam met de datakabel aansluiting. Soms werkte alles en soms niet. Om vervelend van te worden. Maar goed, het werkt nu.
De metingen van de sensor zijn redelijk precies maar de sensor reageert erg om de stroming in mijn bak. Je krijgt daardoor uitschieters, zowel omhoog als omlaag. Daar moet ik een software matige oplossing voor vinden. Daarbij denk ik aan meerdere metingen met daaruit een gemiddelde. Tenslotte een plaatje uit het Menu. Hier worden de minimum en maximum instellingen vastgelegd waarop de magneetschakeling werkt. Verder wordt de electrode hier gekalibreerd.

IMG_0506.JPG
 
Inmiddels is de gevoeligheid van de sensor aangepast, de sprongen naar boven en naar beneden zijn door middeling van de waardes in bedwang te houden. Ze blijken ook redelijk overeen te komen met de gemeten waardes die mijn bestaande systeem aangeeft. Het verschilt is constant zo'n drie honderste. Daar waar mijn bestaande systeem vertelt dat de PH op, bijvoorbeeld, 6.80 staat geeft de nieuwe sensor een waarde van 6.77 aan. Hoewel het hier om logaritmische waarden gaat vindt ik dit geen probleem want ook mijn bestaande systeem kent geen meting van laboratorium kwaliteit.

Wat wel een probleem gaat worden is dat de Arduino te vaak niet reageert wanneer er op het Nextion touchscreen gedrukt wordt. Dit heeft te maken met serieel overload verkeer. De oorzaak (her-)ken ik dus wel. Omdat ik veel met timers werk is dit gedeeltelijk te verbeteren vanuit de Arduino kant. Echter wanneer ik op een knop op het touchscreen druk is dit serieel verkeer van de Nextion naar de MCU. Daar moet ik nog heel goed over nadenken...
 
Laatst bewerkt:
Je zou kunnen overwegen een Mega in te zetten, die heeft drie seriele poorten. Of, nog mooier, een Due, die sowieso een stuk sneller is.
 

Terug
Bovenaan