Kalibrierung der zwei neuen EC Probes für NFT und Dutch Bucket 2024. Probe A: Die Längere Probe B: Die etwas kürzere Lösung laut https://www.researchgate.net/profile/Sameer-Sayyad-2/post/How-is-it-possible-to-convert-conductivity-of-NaCl-solution-in-uS-to-its-salinity-NaCl-concentration-in-ppm/attachment/5abdeaedb53d2f63c3c2e08c/AS%3A609786693443585%401522395885345/download/conductivity+vs+concentration+NaCl+25+degress.pdf 3g NaCl auf 1L H2O sind 5690 uS/cm @ 25°C Also 7,5g auf 0,25L H2O Dann 50mL davon mit 450mL H2O auf 1L auffüllen. Einige Messwerte genommen, ohne dass die EC Sensoren in Flüssigkeit sind. time,tempReservoir,ECadcCalib,ECadc_A,ECadcAdjusted_A,ECadc_B,ECadcAdjusted_B 1524060,14.73,6021.09,729.21,728.70,729.16,728.65 1555158,14.69,6021.75,729.20,728.61,729.05,728.46 1577247,14.63,6021.88,728.94,728.33,728.96,728.35 1620362,14.56,6021.88,728.95,728.34,728.87,728.27 minimum adc rawA= 728.87 ca. 300mL dest. Wasser in 500mL Becherglas auf Magnetrührer Wasser temperiert auf 25°C und durchgehend temperatur gehalten Temperatursensor und DIY EC-Probe in Flüssigkeit platziert Magnetrührer auf langsamer Stufe (keine Strudelbildung) Messwert per Tastendruck erfasst (time,tempReservoir,ECadcCalib,ECadc,ECadcAdjusted) zeit temperatur d. flüssigkeit referenz adc wert (geschalteter fester widerstand statt probe) Roher ADC Messwert (Probe A) angepasster ADC Messwert (linear gemappt nach abweichung vom referenz adc wert, referenz adc wert vorher ermittelt und eingegeben in code) (Probe A) Roher ADC Messwert (Probe B) angepasster ADC Messwert (Probe B) manuell notiert und später der csv angefügt: "solutionAdded" Erster Messwert nur dest. Wasser. Weitere Messwerte jew. nach hinzufügen erst wenigen tropfen NaCl Lösung. Später mehr bis zu 10mL pro Messung. time,mL added 4198000,0 4296000,0.1 4347000,0.2 4393000,0.3 4441000,0.4 4481000,0.5 4525000,0.6 4567000,0.7 4615000,0.8 4654000,0.9 4729000,1.0 4768000,1.1 4800000,1.2 4832000,1.3 4865000,1.4 4899000,1.5 4938000,1.6 4984000,1.7 5024000,1.8 5065000,1.9 5098000,2.0 5204000,2.5 5243000,3.0 5283000,3.5 5331000,4.0 5378000,4.5 5420000,5.0 5482000,5.5 5537000,6.1 5683000,7.0 5731000,8.0 5819000,9.0 5860000,10.0 5907000,11 5938000,12 5968000,13 6068000,14 6113000,15 6151000,16 6227000,17 6282000,18 6332000,19 6380000,20 6465000,25 6528000,30 6654000,35 6743000,40 6837000,45 6886000,50 6952000,60 6999000,70 7051000,80 7098000,90 7138000,100 7270000,120 7328000,140 7392000,160 7449000,180 7505000,200 Werte in 20240423_EC_Calibration_Raw.txt Zusammengeführt in 20240423_EC_Calibration.csv Auswertung in 20240423_EC_Calibration_with_graph.ods Polynom x. Grades erstellt mit python approximate.py für approximate.py numpy==1.22 notwendig. venv benutzen. Probe A: model order=4 +5.388914121653647e-13*x^4 -8.847448650204697e-09*x^3 +7.44612274805891e-05*x^2 -0.057529180570340156*x^1 +18.953002079376887*x^0 Excel: 5.388914121653647e-13 -8.847448650204697e-09 7.44612274805891e-05 -0.057529180570340156 18.953002079376887 Array: {18.953002079376887,-0.057529180570340156,7.44612274805891e-05,-8.847448650204697e-09,5.388914121653647e-13} Probe B: model order=4 +5.529701600660142e-13*x^4 -9.161423581523883e-09*x^3 +7.671298605466989e-05*x^2 -0.08846039894456156*x^1 +40.838922264426685*x^0 Excel: 5.529701600660142e-13 -9.161423581523883e-09 7.671298605466989e-05 -0.08846039894456156 40.838922264426685 Array: {40.838922264426685,-0.08846039894456156,7.671298605466989e-05,-9.161423581523883e-09,5.529701600660142e-13} polynom in c++ code übernommen und punktuelle ergebnisse aus adc zu ec funktion ausgegeben und geplottet zur kontrolle, ob rechnung funktioniert. bei lowADC den niedrigsten adc wert genommen in luft (siehe erste messungen). float ec_calibration_polynom_A[]={18.953002079376887,-0.057529180570340156,7.44612274805891e-05,-8.847448650204697e-09,5.388914121653647e-13}; //20240423, graphite electrodes float ec_calibration_linearize_below_adc_A=2000; //use linear approximation below this adc value. 0=disable float ec_calibration_linear_lowADC_A=728; //x0 float ec_calibration_linear_lowEC_A=0; //y0 float ec_calibration_polynom_B[]={40.838922264426685,-0.08846039894456156,7.671298605466989e-05,-9.161423581523883e-09,5.529701600660142e-13}; //20240423, graphite electrodes float ec_calibration_linearize_below_adc_B=2000; //use linear approximation below this adc value. 0=disable float ec_calibration_linear_lowADC_B=728; //x0 float ec_calibration_linear_lowEC_B=0; //y0 Funktion getestet. Ergebnis in 20240423_FunctionTest.ods