living with the lab calibration of conductivity sensors living with the lab DISCLAIMER & USAGE The content of this presentation is for informational purposes only and is intended only for students attending Louisiana Tech University. The author of this information does not make any claims as to the validity or accuracy of the information or methods presented. Any procedures demonstrated here are potentially dangerous and could result in injury or damage. Louisiana Tech University and the State of Louisiana, their officers, employees, agents or volunteers, are not liable or responsible for any injuries, illness, damage or losses which may result from your using the materials or ideas, or from your performing the experiments or procedures depicted in this presentation. If you do not agree, then do not view this content. The copyright label, the Louisiana Tech logo, and the “living with the lab” identifier should not be removed from this presentation. You may modify this work for your own purposes as long as attribution is clearly provided. 2 living with the lab cal ∙ i ∙ brate [kal-uh-breyt] -verb (used with object), -brat ∙ ed, -brat ∙ ing. 1. to determine, check, or rectify the graduation of (any instrument giving quantitative measurements). Calibration • • • Associate sensor output with salt concentration Relate sensor output and salt concentration using an equation (linear regression) The goal is to be able to compute the salt concentration based on sensor output living with the lab The Basic Idea • • • • • Adding salt to the water will increase the availability of Cl- ions at the anode More ions at the anode will increase the rate at which chemical reactions can occur The “electrical resistance” of the salt water will decrease as more salt is added to the water The analog voltage on the + side of the 10kΩ resistor will increase as more salt is added Correlating this voltage with the salt concentration will allow us to “calibrate” the conductivity sensor 5V e- e- 10 kΩ anode – oxidation cathode – reduction (loss of electrons) e- (gain of electrons) eCl- ClCl2 Cl- Na+ ClCl- ClCl- Na+ Na+ Cl Cl Na+ Na+ Cl- Na+ Na+ Cl- Na+ ion migration OHee- H H2O H H2O OH- Cl- Na+ Cl- Cl- Na+ Na+ Na+ Na+ is a spectator ion living with the lab The Circuit and Sketch void setup() { Serial.begin(9600); // use a baud rate of 9600 bps pinMode(1,OUTPUT); // set pin1 as an output (pin1=TX) Serial. write(12); // clear screen & move to top left position pin 3 = 5V when HIGH Serial. write(128); // move cursor to row 0, position 1 (set high periodically to measure conductivity) Serial. write("Conductivity Sensor"); // print a text string starting at (0,1) Serial. write(152); // move cursor to row 1, position 4 Serial. write("Calibration"); // print a text string starting at (1,4) Serial. write(189); // move cursor to row 3, position 1 Serial. write("analog input="); // print text string at (3,1) Serial. write(22); // turn cursor off to keep screen clean pinMode(3, OUTPUT); analog input 0 } (measures voltage across 10kΩ resistor) void loop() { digitalWrite(3,HIGH); delay(100); int analogS=analogRead(0); digitalWrite(3,LOW); Serial.write(202); Serial.print(analogS); Serial.write(" "); delay(1000); } // apply 5V to the conductivity sensor // hold the voltage at pin 3 for 0.1s // read voltage on + side of 10kohm resistor // turn off power to the conductivity sensor // move cursor to row 3, position 14 // print the analog input reading (0 to 1023) // overwrite previously printed numbers // delay 1 second between measurements 10 kΩ living with the lab Salt Concentrations • • • • • Each group of students should put about 1.5 inches of water in four bottles The four bottles should contain . . . • DI water • 0.05% weight NaCl • 0.10% weight NaCl • 0.15% weight NaCl Please take ONLY the amount that you will need to use TODAY Be sure to label your water bottles Swish a small amount of DI water around in your bottle to wash out impurities before filling with calibration water living with the lab Steps 1. Configure your flow loop as required for homework 2. Implement the conductivity sensor circuit on your breadboard 3. Flush tank with DI water. a. Pour enough DI water into your fishtank to fill the flow loop b. Turn on the pump to run the flow loop for about a minute to “wash out” the impurities. c. Prime the pump if necessary by switching the three-way valve to the drain d. Turn the three-way valve toward the drain to flush the system e. Repeat to completely clean the system 4. Fill the system with DI water 5. Collect calibration data for DI water 6. Fill the system with 0.05 wt% salt water. Flush once, and refill with 0.05 wt% salt water 7. Collect calibration data for 0.05wt% salt water 8. Repeat steps 6 and 7 for 0.10 wt% salt water and 0.15 wt% salt water salt concentration (%wt) 0.00 0.05 0.10 0.15 output to LCD collect this data living with the lab Fit Output of Sensor to Salt Concentration living with the lab Determine Equation for Salinity Control Swap dependent and independent variable when performing linear regression salt concentration vs. output 0.16 • An equation like this will be used to predict %wt salt based on sensor output. salt concentration (% wt) 0.14 0.12 0.10 y = 0.00004401e0.01512420x R² = 0.99986136 0.08 • Try polynomial and power fits too to see how they compare. 0.06 0.04 0.02 0.00 460 480 500 520 Output of Conductivity Sensor 540 560 • We will discuss the best form of the equation to use later we write our Arduino program to control salinity. the end living with the lab The Circuit and Sketch (for old IDE) If you haven’t downloaded the Arduino Integrated Development Environment (IDE) in a while, then try program below. void setup() { Serial.begin(9600); pinMode(1,OUTPUT); Serial.print(12, BYTE); Serial.print(128,BYTE); Serial.print("Conductivity Sensor"); Serial.print(152,BYTE); Serial.print("Calibration"); Serial.print(189,BYTE); Serial.print("analog input="); Serial.print(22,BYTE); pinMode(3, OUTPUT); } // use a baud rate of 9600 bps // set pin1 as an output (pin1=TX) // clear screen & move to top left position pin 3 = 5V when HIGH // move cursor to row 0, position 1 (set high periodically to measure conductivity) // print a text string starting at (0,1) // move cursor to row 1, position 4 // print a text string starting at (1,4) // move cursor to row 3, position 1 // print text string at (3,1) // turn cursor off to keep screen clean analog input 0 (measures voltage across 10kΩ resistor) void loop() { digitalWrite(3,HIGH); delay(100); int analogS=analogRead(0); digitalWrite(3,LOW); Serial.print(202,BYTE); Serial.print(analogS); Serial.print(" "); delay(1000); } // apply 5V to the conductivity sensor // hold the voltage at pin 3 for 0.1s // read voltage on + side of 10kohm resistor // turn off power to the conductivity sensor // move cursor to row 3, position 14 // print the analog input reading (0 to 1023) // overwrite previously printed numbers // delay 1 second between measurements 10 kΩ