Een PH-meter voor bijvoorbeel het zwembad / A PH-meter for e.g. the swimming pool / Un PH-mètre pour, par exemple, la piscine
Klik op een foto om de foto's vergroot weer te geven / Click on a photo to view an enlarged version / Cliquez sur une photo pour l'agrandir:
Download project... / Télécharger le projet...
(English below.... / Français ci-dessous....)
Voor ons zwembad was ik op zoek naar een manier om eenvoudig de PH-waarde te kunnen bepalen zodat de het zout goed zou werken op de algen buiten het water te houden.
Na wat teleurstellende ervaringen met wat testapparatuur besloot ik eens rond te neuzen bij de arduino projecten.
Daar vond ik diverse voorbeelden en ben ik uitgekomen bij de PH test pen van diymore: (https://www.diymore.cc/collections/ph-value-detect-sensor/products/diymore-liquid-ph-value-detection-detect-sensor-module-monitoring-control-for-arduino-m)
De pin-out van het PH printje is als volgt:
PH Sensorprint Pinout:
TO - Temperatuuruitgang
DO - 3.3V Uitgang (van ph-grens pot POT2 - zie hieronder)
PO - PH analoge uitgang ==> Arduino A0
Gnd - Arduino GND
Gnd - idem (waren op mijn printje al doorverbonden
VCC - 5V DC (Arduino 5V)
POT 1 - Analoge uitlezing offset (het dichtst bij BNC-connector)
POT 2 - PH-limietinstelling - in combinatie met in 'DO' kan je bijvoorbeeld een LED aansturen om aan te geven wanneer een bepaalde PH waarde is bereikt; voor mij niet van toepassing.
De offset is als volgt af te regelen: sluit de voeding aan aan het printje en sluit de bnc-connector kort middels een draadje (het midden met de huls). Dit komt dan voor de tester overeen met een neutrale PH van 7.0.
Draai dan aan de potmeter (POT1) om de "volt in" waarde op 2,5 te krijgen.
Ik had ook nog extra informatie gevonden van "auto-ctrl.com", maar deze site is niet meer bereikbaar. Ik zal de documentatie in het zip-bestand bijvoegen.
In deze informatie vond ik ook de arduino code waarop ik mijn project heb gebaseerd.
Om een hoop rekenwerk tijdens het meten te voorkomen wilde ik de tester ijken, zodat de juiste PH-waarde in het display verschijnt.
in de code wordt de gemeten spanning van het PH-interfaceboard omgezet naar de juiste PH-waarde. Deze blijkt echter per meetsensor en aangeboden voedingsspanning anders te zijn.
Voor de ijking heb ik 3 verschillende PH test oplossingen : PH 4.01, PH 6.86 en PH 9,18. De inhoud van de zakjes worden in een eigen 250 ml gedestilleerd water opgelost waarna het ijken kan gaan beginnen.
Let er op de meetsensor bij het wisselen van vloeistof te spoelen in 'schoon' water en droog te tikken om zo weinig mogelijk vervuiling te krijgen van de testvloeistoffen.
Wanneer alle componenten zijn aangesloten en de meter werkt kan er worden gestart met ijken.
- Stel eerst de PH 7.0 waarde in met de potmeter op het printje (zie hierboven).
Spoel de sensor en houdt deze in de PH 4.01 vloeistof voor ruim 1 minuut. De uitlezing moet nu (zo ongeveer) stabiel zijn. Noteer vervolgens het getal onder 'Volt in'.
Doe dit vervolgens op eenzelfde manier voor de overige twee testvloeistoffen.
De omzetting van spanning naar PH-waarde wordt in de code gedaan in regel 60 (float phValue = x * pHVol + y; // kalibratie PH-Value).
Bij de bestanden van het project zit een Microsoft Excel bestand om de zojuist gevonden waarden om te zetten naar x- en y-waarden voor de berekening.
Het rekenen gaat als volgt:
x = (4,01-9,18)/("Voltage bij PH4.01" - "Voltage bij PH9.18"). Deze x-waarde hebben we nodig voor het programma (regel 20) en voor het berekenen van de y-waarde:
y = 9,18 - "Voltage bij PH9.18" * x; deze y-waarde vullen we vervolgens in in de code (regel 21).
Tot slot de code compileren en uploaden naar de PH-meter. Wanneer het nu goed is geeft de tester de juiste PH-waarde aan wanneer we de meetsensor weer in de afzonderlijke testvloeistoffen houden (denk aan schoonmaken tussen het wisselen tussen de diverse testvloeistoffen!!)
Aangezien en een kleine afwijking bleek in mijn situatie rond de PH 6.86 testvloeistof heb ik een 2e berekening toegevoegd. Dit omdat de waarde waarop ik het zwembad wil hebben tussen de PH 7.2 en 7.4 moet zitten.
Ik gebruik de gevonden spanningen van de PH 6.86 en PH 9,19 metingen. De berekeningen zijn dan:
x = (6,86-9,18)/("Voltage bij PH6.86" - "Voltage bij PH9.18"). Deze x-waarde hebben we weer nodig voor het programma (regel 20) en voor het berekenen van de y-waarde is het dezelfde berekening:
y = 9,18 - "Voltage bij PH9.18" * x; deze y-waarde vullen we vervolgens in in de code (regel 21).
Daarmee is het meetgebied wat ik nodig heb net iets nauwkeuriger....
Het geheel is compleet gemaakt met een 3D geprint kastje, waarvan ik de STL bestanden toe heb gevoegd aan het projectbestand.
Helaas blijkt de PH-waarde die wordt weergegeven af te hangen van de aangeboden voedingsspanning. Ik heb twee USB-accu's die ik kan gebruiken en beide geven een iets andere spanning af, waardoor de PH waarde per accu verschilt.....
Ik heb inmiddels een step-up converter besteld die ik ga inzetten om de 3,3 Volt van de Arduino Nano om te zetten naar 5 Volt voor het PH-sensor printje. Dit maakte echter geen verschil. De weergegeven PH waarde is volledig afhankelijk van de aangeboden 5 volt aan de Arduino Nano. De beste manier lijkt me een losse USB batterij-pack te nemen en die te gebruiken als voeding voor het apparaat en hem daarmee ook te calibreren.
De hardware:
de meeste hardware heb ik online besteld bij Aliexpres, maar uiteraard zijn er meer mogelijkheden.
Wat is er nodig?
- PH-sensor - https://nl.aliexpress.com/item/32957428276.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 12,30 €
- Oled scherm 0.91 Inch - https://nl.aliexpress.com/item/32982681500.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 1,69 €
- Nano - https://nl.aliexpress.com/item/32341832857.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 2,06 €
- Kastje - STL-files in project bestand
- 2 tyraps - bevestiging Nano
- wat lijn - bevestiging display
- een paar schroeven - bevestiging PH-sensor connector
- wat draad - voor de elektrische verbindingen
- wat krimpkous - voor isolatie
- een paar uur werk :-)
Hiermee hoop ik een bijdrage te leveren in het verwezenlijken van één van uw projecten.........
For our swimming pool I was looking for a way to easily determine the PH value so that the salt would work well on the algae to keep them out of the water.
After some disappointing experiences with some test equipment I decided to look around at the arduino projects.
There I found several examples and came up with the PH test pen from diymore (https://www.diymore.cc/collections/ph-value-detect-sensor/products/diymore-liquid-ph-value-detection-detect-sensor-module-monitoring-control-for-arduino-m).
The pin-out of the PH board is as follows:
PH Sensorprint Pinout:
TO - Temperature output
DO - 3.3V Output (from pot pot pot POT2 - see below)
PO - PH analog output ==> Arduino A0
Gnd - Arduino GND
Gnd - idem (were already connected on my print
VCC - 5V DC (Arduino 5V)
POT 1 - Analog offset readout (closest to BNC connector)
POT 2 - PH limit setting - in combination with in 'DO' you can, for example, control a LED to indicate when a certain PH value has been reached; not applicable for me.
The offset can be adjusted as follows: connect the power supply to the PCB and briefly close the bnc connector with a wire (the middle with the sleeve). This corresponds to a neutral PH of 7.0 for the tester.
Then turn the potentiometer (POT1) to get the "volt in" value to 2.5.
I also found additional information from "auto-ctrl.com", but this site is no longer accessible. I will attach the documentation in the zip-file.
In this information I also found the arduino code on which I based my project.
To avoid a lot of calculations while measuring, I wanted to calibrate the tester so that the correct PH-value appears in the display.
In the code the measured voltage from the PH interface board is converted to the correct PH value. However, this PH value appears to be different for each measuring sensor and offered power supply.
For the calibration I have 3 different PH test solutions : PH 4.01, PH 6.86 and PH 9.18. The contents of the bags are dissolved in their own 250 ml distilled water after which the calibration can start.
Make sure to rinse the measuring sensor in 'clean' water when changing liquids and tap it dry in order to get as little contamination of the test liquids as possible.
When all components are connected and the meter is working, calibration can be started.
- First set the PH 7.0 value with the potentiometer on the PCB (see above).
Rinse the sensor and hold it in the PH 4.01 fluid for over 1 minut. The reading should now be (approximately) stable. Then write down the number under 'Volt in'.
Do this in the same way for the other two test fluids.
The conversion of voltage to PH-value is done in the code in line 60 (float phValue = x * pHVol + y; // calibrate PH-Value).
The project files include a microsoft excel file to convert the values just found to x and y values for the calculation.
The calculation goes as follows:
x = (4,01-9,18)/("Voltage at PH4.01" - "Voltage at PH9.18"). We need this x-value for the program (line 20) and for calculating the y-value:
y = 9,18 - "Voltage at PH9.18". * x; we then enter this y-value in the code (line 21).
Finally, compile the code and upload it to the PH-meter. When it is now right, the tester indicates the correct PH-value when we keep the measuring sensor in the separate test liquids again (think of cleaning between the various test liquids!!).
Since and a small deviation appeared in my situation around the PH 6.86 test fluid, I added a 2nd calculation. This because the value I want the pool on should be between PH 7.2 and 7.4.
I use the found voltages of PH 6.86 and PH 9.19 measurements. The calculations are then:
x = (6.86-9.18)/("Voltage at PH6.86" - "Voltage at PH9.18"). We need this x-value again for the program (line 20) and for calculating the y-value`is the same calculation:
y = 9.18 - "Voltage at PH9.18" * x; we then enter this y-value in the code (line 21).
This makes the measuring range I need just a little more accurate...
The whole thing is made complete with a 3D printed box, of which I added the STL files to the project file.
Unfortunately, the PH value displayed appears to depend on the supply voltage offered. I have two USB batteries that I can use and both emit a slightly different voltage, so the PH value differs per battery...
In the meantime I have ordered a step-up converter which I will use to convert the 3.3 Volt of the Arduino Nano to 5 Volt for the PH sensor board.
With that I hope to solve the problem. I will come back to this in this project.
UPDATE: Meanwhile I have installed the converter to provide the PH sensor with a 'good' 5 volt. However, this made no difference. The displayed PH value is completely dependent on the 5 volts offered to the Arduino Nano. The best way seems to me to take a separate USB battery pack and use it as power supply for the device and calibrate it with that.
The hardware:
I ordered most of the hardware online at Aliexpres, but of course there are more possibilities.
What is needed?
- PH-sensor - https://nl.aliexpress.com/item/32957428276.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 12,30 €
- Oled scherm 0.91 Inch - https://nl.aliexpress.com/item/32982681500.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 1,69 €
- Nano - https://nl.aliexpress.com/item/32341832857.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 2,06 €
- Cabinet - STL files in project file
- 2 tyraps - to fix Nano
- some glue - to fix display
- a pair of screws - mounting PH sensor connector
- some wire - for the electrical connections
- some heat shrink tubing - for insulation
- a few hours of work :-)
With this I hope to contribute to the realization of one of your projects.........
Pour notre piscine, je cherchais un moyen de déterminer facilement la valeur du PH afin que le sel agisse bien sur les algues pour les maintenir hors de l'eau.
Après quelques expériences décevantes avec certains équipements de test, j'ai décidé de me pencher sur les projets arduino.
J'y ai trouvé plusieurs exemples et j'ai trouvé le stylo de test du PH de diymore (https://www.diymore.cc/collections/ph-value-detect-sensor/products/diymore-liquid-ph-value-detection-detect-sensor-module-monitoring-control-for-arduino-m).
Le brochage du tableau du PH est le suivant :
Brochage de l'empreinte du capteur PH :
TO - Température de sortie
DO - 3,3V Sortie (du pot pot POT2 - voir ci-dessous)
PO - PH sortie analogique ==> Arduino A0
Gnd - Arduino GND
Gnd - idem (étaient déjà connectés sur mon empreinte
CCV - 5V DC (Arduino 5V)
POT 1 - Lecture analogique décalée (la plus proche du connecteur BNC)
POT 2 - Réglage de la limite du PH - en combinaison avec la fonction "DO", vous pouvez, par exemple, commander une LED pour indiquer qu'une certaine valeur de PH a été atteinte ; ne s'applique pas à moi.
Le décalage peut être réglé comme suit : branchez l'alimentation sur la carte de circuit imprimé et fermez brièvement le connecteur bnc avec un fil (le milieu avec le manchon). Cela correspond à un PH neutre de 7,0 pour le testeur.
Ensuite, tournez le potentiomètre (POT1) pour obtenir la valeur "volt in" à 2,5.
J'ai également trouvé des informations supplémentaires sur "auto-ctrl.com", mais ce site n'est plus accessible. Je vais joindre la documentation dans le fichier zip.
Dans ces informations, j'ai également trouvé le code arduino sur lequel j'ai basé mon projet.
Pour éviter de nombreux calculs lors des mesures, j'ai voulu calibrer le testeur afin que la valeur correcte du PH apparaisse à l'écran.
Dans le code, la tension mesurée par la carte d'interface PH est convertie en la valeur PH correcte. Cependant, cette valeur de PH semble être différente pour chaque capteur de mesure et chaque alimentation proposée.
Pour l'étalonnage, je dispose de 3 solutions de test de PH différentes : PH 4.01, PH 6.86 et PH 9.18. Le contenu des sachets est dissous dans leur propre eau distillée de 250 ml, après quoi l'étalonnage peut commencer.
Veillez à rincer le capteur de mesure dans de l'eau "propre" lorsque vous changez de liquide et à le sécher en le tapotant afin de contaminer le moins possible les liquides de test.
Lorsque tous les composants sont connectés et que le compteur fonctionne, l'étalonnage peut être lancé.
- Réglez d'abord la valeur du PH 7.0 avec le potentiomètre sur la carte de circuit imprimé (voir ci-dessus).
Rincez le capteur et maintenez-le dans le liquide PH 4.01 pendant plus d'une minute. La lecture devrait maintenant être (approximativement) stable. Notez ensuite le nombre sous "Volt in".
Procédez de la même manière pour les deux autres liquides de test.
La conversion de la tension en valeur de PH se fait dans le code de la ligne 60 (valeur de pH du flotteur = x * pHVol + y ; // calibrer la valeur de PH).
Les fichiers du projet comprennent un fichier excel microsoft pour convertir les valeurs qui viennent d'être trouvées en valeurs x et y pour le calcul.
Le calcul se déroule comme suit :
x = (4,01-9,18)/("Tension à PH4.01" - "Tension à PH9.18"). Nous avons besoin de cette valeur x pour le programme (ligne 20) et pour le calcul de la valeur y :
y = 9,18 - "Tension à PH9,18". * x ; nous introduisons ensuite cette valeur y dans le code (ligne 21).
Enfin, on compile le code et on le charge dans le PH-mètre. Quand il est maintenant correct, le testeur indique la valeur correcte du PH lorsque nous remettons le capteur de mesure dans les différents liquides de test (pensez au nettoyage entre les différents liquides de test !!).
Comme une petite déviation est apparue dans ma situation autour du liquide de test PH 6.86, j'ai ajouté un 2ème calcul. Ceci parce que la valeur que je veux pour la piscine doit se situer entre PH 7,2 et 7,4.
J'utilise les tensions trouvées des mesures du PH 6.86 et du PH 9.19. Les calculs sont alors :
x = (6,86-9,18)/("Tension à PH6,86" - "Tension à PH9,18"). Nous avons besoin de cette valeur x à nouveau pour le programme (ligne 20) et pour le calcul de la valeur y `est le même calcul :
y = 9,18 - "Tension à PH9,18". * x ; nous inscrivons ensuite cette valeur y dans le code (ligne 21).
Cela rend la plage de mesure dont j'ai besoin un peu plus précise...
Le tout est réalisé avec une boîte imprimée en 3D, dont j'ai ajouté les fichiers STL au fichier du projet.
Malheureusement, la valeur PH affichée semble dépendre de la tension d'alimentation offerte. J'ai deux piles USB que je peux utiliser et qui émettent toutes deux une tension légèrement différente, donc la valeur PH diffère par pile...
En attendant, j'ai commandé un convertisseur élévateur de tension que j'utiliserai pour convertir les 3,3 volts de l'Arduino Nano en 5 volts pour la carte de capteurs PH.
Avec cela, j'espère résoudre le problème. J'y reviendrai dans le cadre de ce projet.
MISE À JOUR : En attendant, j'ai installé le convertisseur pour fournir au capteur de PH un "bon" 5 volts. Mais cela n'a pas fait de différence. La valeur de PH affichée dépend entièrement des 5 volts offerts à l'Arduino Nano. La meilleure solution me semble être de prendre une batterie USB séparée et de l'utiliser comme source d'alimentation pour l'appareil et de la calibrer avec cela.
Le matériel :
J'ai commandé la plupart du matériel en ligne chez Aliexpres, mais bien sûr, il y a plus de possibilités.
Que faut-il faire ?
- Capteur PH - https://nl.aliexpress.com/item/32957428276.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 12,30 €
- Écran OLED 0,91 pouce - https://nl.aliexpress.com/item/32982681500.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 1,69 €
- Nano - https://nl.aliexpress.com/item/32341832857.html?spm=a2g0s.9042311.0.0.27424c4dczDnEz 2,06 €
- Cabinet - Dossiers STL dans le dossier du projet
- 2 types - confirmation Nano
- un peu de colle - pour fixer l'affichage
- une paire de vis - montage du connecteur pour le capteur PH
- du fil - pour les connexions électriques
- des gaines thermorétractables - pour l'isolation
- quelques heures de travail :-)
Avec cela, j'espère contribuer à la réalisation d'un de vos projets.........