pino-tech.eu
Products => SoilWatch 10 => Topic started by: pinolec on December 07, 2018, 11:18:19 AM
-
Please see attached calibration instructions together with a few handy tips about our SoilWatch 10 sensor.
The other attachment is the spreadsheet for easy calibration. Just enter your data points and get the calibration curve.
Soil-specific calibration for sandy clay soil below.
This calibration will fit most mineral soils quite well.
regards,
Piotr
-
Wow Pinolec, you did an amazing job. I’ll try to follow your instructions next week and let you know how it went.
Thanks a lot!
-
In my garden, I add organic matter to the soil every season. Will this have a significant impact on the soil moisture readings?
-
In my garden, I add organic matter to the soil every season. Will this have a significant impact on the soil moisture readings?
It should not have a significant impact on calibration. Just make sure that no big lumps of organic matter touching sensor. Mix the soil well around the sensor to be uniform and representative of the area you gonna measure.
Regards,
Piotr
-
Please see attached calibration instructions together with a few handy tips about our SoilWatch 10 sensor.
The other attachment is the spreadsheet for easy calibration. Just enter your data points and get the calibration curve.
Soil-specific calibration for sandy clay soil below.
This calibration will fit most mineral soils quite well.
regards,
Piotr
Hi Piotr,
As you have mentioned the VWC meassured in a container, instead of this approach, we want to directly measure the VWC in the Soil near the active root zone of the plant, will this math can applicable with soil Watch 10? And for how much radius in the soil, this sensor is sensitivised to capture the readings.
Thanks,
Shiva.
-
Dear Shiva,
This equation translates the readings of the sensor into VWC in most mineral soils. So yes, you can measure the VWC in the soil next to plants root.
The most significant influence on the sensor reading has the area within 1-2mm of the sensor. The sensor relay on good contact with the soil. So always make sure the sensor has good contact with the measured soil.
Kind regards,
Piotr
-
Excelent explanations, will go for that, I was a bit disappointed with the readings I was getting from the sensor. I am still doing my own research before ordering a bunch of sensors and have a few questions:
- Not a big deal, but why do I need 10 samples of the volume of the smaller container if I can add the additional water to increase the VWV to the same soil sample along the various iterations.
- Is the any specific position how the sensor should be placed under the grass ? In my case I want the sensors to ensure an adecuate watering of my lawn.
- How can I translate VWC to Humidity percentage ?
-
When using one container and just adding more water may introduce a bigger error. This may accumulate and at the end of calibration may be significant. I assume when you are caution you may do the calibration using just one sample container.
For lawn, I would suggest installing the sensor as in the picture below.
[ This attachment cannot be displayed inline in 'Print Page' view ]
The Volumetric Water Content [VWC] is shown as a percentage of water in the soil by volume. Please clarify what you mean by humidity percentage.
Kind regards,
Piotr
-
It does not matter too much. I mean VWC is a way to measure humidity, probably the most correct measure. There are some other moisture sensor like Xiaomi Flora which provides humidity in percentage between 0 and 100, hence my question. If there was a direct translation or conversion in between VWC and humidity percentage on a 0 to 100 range. I have just ordered 8 sensors for my garden and have already prepared some ground prepared to make the calibration :)
-
Can you explain the all the formulas is your attachment and What "x" and "R" indicates.
Thanks,
Md Afroz Hussain.
-
It does not matter too much. I mean VWC is a way to measure humidity, probably the most correct measure. There are some other moisture sensor like Xiaomi Flora which provides humidity in percentage between 0 and 100, hence my question. If there was a direct translation or conversion in between VWC and humidity percentage on a 0 to 100 range. I have just ordered 8 sensors for my garden and have already prepared some ground prepared to make the calibration :)
I assume you can map the output of the sensor to 0 - 100%
y = x/3*100
where x is in volts and y is the calculated output in % (ranges 0-100%)
This is not guaranteed to be accurate or comparable to Xiaomi sensor output or any other sensor.
Kind regards,
Piotr
-
Can you explain the all the formulas is your attachment and What "x" and "R" indicates.
Thanks,
Md Afroz Hussain.
The x is the sensor output in volts. The R2 is the coefficient of determination. The closer the R2 is to the 1 the better approximation it offers.
Kind regards,
Piotr
-
I already had that formula in my initial set-up and I changed that for the cuadratic polynomic with the formula on this thread. Although I understand I have to build my own regression following the calibration procedure using my garden soil. I will do once I get my new order of sensors at home for now I am drying a box of soil before putting that in the oven.
My point was about a translation from %VWC to humidity percentage in a 0-100 scale, if there is any standard covering that saying for example that for a particular soil a 50% VWC equates to the maximum humidity and therefore it could be considered 100%.
In absensce of that translation from %VWC to %percentage (0-100 scale), I will see how my soil calibration goes and I will infer that, or at least an aproximation. The key point of the translation I guesss is to learn the max VWC that a particular soil can have, that would be my 100% on a 0-100 scale. But I guess, also, that if I get a voltage of 3v when doing my own calibrationm the related VWC will mean that 100%
Not quite sure if I am able to explain well my self.
-
Hi Piotr
How to calculate coefficient of determination(R^2).
Thanks,
Md Afroz Hussain.
-
@Afroz,
You do not need to calculate the R^2. This is a measure of the quality of the regression. The excel will provide you this value once you enter the data. The closer to 100% means that the equation calculated reflects better the points you have given to calculate. It is a pure math concept when you make regression analysis.
regards,
Barto
-
Hi, can you help me with the sketch?
i am trying to obtain de VWC thought this function using milivolt as argument but i have very weird values, do you see something wrong with this part of the code?
I need to know 3 values of each lecture, raw, milivolts and VWC, and i call its separately and feed one with each other....
int raw1 = raw_getValue(7, A1);
float mVolt1 = mv_getValue(raw1);
double vwc1 = vwc_getValue(mVolt1);
int raw_getValue(uint8_t pinWrite, uint8_t pinRead) {
int raw = 0;
digitalWrite(pinWrite, HIGH); // poner el Pin en HIGH
delay(200); // esperar...
for (int i = 0; i < 3; i++) {
raw += analogRead(pinRead);
delay(200); }
digitalWrite(pinWrite, LOW); // poner el Pin en LOW
raw = raw/3;
return raw;
}
float mv_getValue(int raw){
float mV = (raw * (1.1/1023.0))*1000;
return mV;
}
double vwc_getValue(float mv){
float volt = mv/1000;
double vwc = (5.5667*pow(volt, 3)) - (19.6738*pow(volt, 2)) + (31.0893*volt) - 6.7511;
return vwc;
}
-
Hi, can you help me with the sketch?
i am trying to obtain de VWC thought this function using milivolt as argument but i have very weird values, do you see something wrong with this part of the code?
I need to know 3 values of each lecture, raw, milivolts and VWC, and i call its separately and feed one with each other....
int raw1 = raw_getValue(7, A1);
float mVolt1 = mv_getValue(raw1);
double vwc1 = vwc_getValue(mVolt1);
int raw_getValue(uint8_t pinWrite, uint8_t pinRead) {
int raw = 0;
digitalWrite(pinWrite, HIGH); // poner el Pin en HIGH
delay(200); // esperar...
for (int i = 0; i < 3; i++) {
raw += analogRead(pinRead);
delay(200); }
digitalWrite(pinWrite, LOW); // poner el Pin en LOW
raw = raw/3;
return raw;
}
float mv_getValue(int raw){
float mV = (raw * (1.1/1023.0))*1000;
return mV;
}
double vwc_getValue(float mv){
float volt = mv/1000;
double vwc = (5.5667*pow(volt, 3)) - (19.6738*pow(volt, 2)) + (31.0893*volt) - 6.7511;
return vwc;
}
Hi,
I can't see anything which may be wrong with the code at first glance. I do have some concerns.
Do you power the sensor straight from the pin? This will work for Arduino Uno but it is not recommended. To be able to power the sensor straight from the pin you need to set the pin as an output. Otherwise by default you just activating the pullup on this pin.
pinMode(7, OUTPUT);
What sort of outputs are you getting?
Kind regards,
Piotr
-
Hi Piotr!
Yes, i connect direct to the pin.
Why this is not recommended? Obviously before a set the pin as output.
Regards
-
Please Piotr, can you answer my questions?
I have 12 soilwatch 10 sensors (0-3v version)
This function is to obtain millivolts with the raw value from the pin analogRead.
float mv_getValue(int raw){
float mV = (raw * (1.1/1023.0))*1000;
return mV;
}
Perhaps this is my error, put 1,1 insted 3 or 3.3. The output of my sensors is 0 - 3 volts, and my board is arduino pro mini 3,3 v.
What number i must use 1.1, 3 or 3,3 ??
Regards
Javier
-
Hi Piotr!
Yes, i connect direct to the pin.
Why this is not recommended? Obviously before a set the pin as output.
Regards
Please see this post: https://pino-tech.eu/forum/soilwatch-10/sleep-mode-for-soil-watch-10/
For the other question, you should use the value for your calculations based on your voltage reference. Please read: https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
By default in many Arduino supported boards the reference voltage is the supply voltage.
If you power your Arduino pro mini with 3.3V then you should use 3.3 in your calculations. Make sure your supply voltage is stable as the results of your measurements depend on it.
Also do not power the sensor straight from the pin. With 3.3V there will be too big voltage drop to power the sensor.
Kind regards,
Piotr