pino-tech.eu

Products => SoilWatch 10 => Topic started by: pinolec on December 07, 2018, 11:18:19 AM

Title: Soil Specific Calibration
Post 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
Title: Re: Soil Specific Calibration
Post by: Roel Knol on January 05, 2019, 03:13:44 PM
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!
Title: Re: Soil Specific Calibration
Post by: czuvich on March 26, 2019, 09:22:13 PM
In my garden, I add organic matter to the soil every season.  Will this have a significant impact on the soil moisture readings?
Title: Re: Soil Specific Calibration
Post by: pinolec on March 28, 2019, 09:29:55 AM
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
Title: Re: Soil Specific Calibration
Post by: aylashiv on April 09, 2020, 08:21:07 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


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.
Title: Re: Soil Specific Calibration
Post by: pinolec on April 15, 2020, 08:13:34 AM
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
Title: Re: Soil Specific Calibration
Post by: Barto64 on May 04, 2020, 08:58:14 AM
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 ?
Title: Re: Soil Specific Calibration
Post by: pinolec on May 05, 2020, 08:34:33 AM
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
Title: Re: Soil Specific Calibration
Post by: Barto64 on May 10, 2020, 05:38:40 PM
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   :)
Title: Re: Soil Specific Calibration
Post by: Afroz on May 11, 2020, 09:01:22 AM
Can you explain the all the formulas is your attachment and What "x" and "R" indicates.

Thanks,
Md Afroz Hussain.
Title: Re: Soil Specific Calibration
Post by: pinolec on May 11, 2020, 09:52:46 AM
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
Title: Re: Soil Specific Calibration
Post by: pinolec on May 11, 2020, 10:04:21 AM
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
Title: Re: Soil Specific Calibration
Post by: Barto64 on May 11, 2020, 11:56:09 AM
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.
Title: Re: Soil Specific Calibration
Post by: Afroz on May 12, 2020, 09:31:42 AM
Hi Piotr

How to calculate coefficient of determination(R^2).

Thanks,
Md Afroz Hussain.
Title: Re: Soil Specific Calibration
Post by: Barto64 on May 12, 2020, 10:26:25 AM
@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
Title: Re: Soil Specific Calibration
Post by: javierb on May 25, 2020, 04:55:51 AM
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;
  }
Title: Re: Soil Specific Calibration
Post by: pinolec on May 26, 2020, 07:14:24 AM
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.
Code: [Select]
pinMode(7, OUTPUT);

What sort of outputs are you getting?

Kind regards,
Piotr
Title: Re: Soil Specific Calibration
Post by: javierb on June 09, 2020, 07:45:58 PM
Hi Piotr!
Yes, i connect direct to the pin.
Why this is not recommended? Obviously before a set the pin as output.
Regards
Title: Re: Soil Specific Calibration
Post by: javierb on June 13, 2020, 04:05:19 AM
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
Title: Re: Soil Specific Calibration
Post by: pinolec on June 13, 2020, 08:07:02 AM
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