Bi-directional communication up and running

Author: Lars Larson

Crossed a major hurdle yesterday – the sensor package now communicates back and forth with the HyperRail hub.

The sensors wait for a signal from the hub, which sends an array of zeros and ones telling each sensor whether or not to take a reading. Once the readings are complete, the data is saved to the Adalogger SD card, then the values are sent back to the hub.

Next, we’ll work on the timing at the hub to move the sensors a specified distance, wait for data, then move on. After that, I’ll work on a live stream to the internet (Adafruit.io or Google sheets) from the hub.

Cheers,

Lars

A much smaller footprint for the Digital Greenhouse

Author: Lars Larson

I moved the sensor package to a 1/2 sized Perma-Proto board today.  It’s now mobile and ready to start interfacing with the HyperRail. See the new setup pictured below.

The new setup is logging data successfully and nRF is working.

The next step is to create a conveyance and data transmission protocol to fully integrate with the HyperRail.

Lars


IMG_1088.JPGIMG_1088.JPG

Assembled Evaporometer Type S

Abstract:
I have assembled the new evaporometer. This post will be a quick update of the progress.

Update: 
Here is an image of the assembled Evaporometer Type S: 


IMG_0532.jpgIMG_0532.jpg

I started by assembling the electronics on the inside because that would be the fastest thing to do. This also included the strain gauge and then humidity/temp sensor that goes on the lid of the system.  Then I did the wiring of the light sensors because that would take the longest. The light sensor wiring was the longest because of the intricate soldering on the pins of the sensors, plus passing all the wiring through the cordgrip was very time-consuming. 

In the end, the whole assembly takes about 2-2.5 hours to accomplish. This is not counting the time to print the parts. At the time of this post, we are still working on three other evaporometers:


IMG_0534.jpgIMG_0534.jpg

And we have more on the printer.


IMG_0533.jpgIMG_0533.jpg

In total we are making four evaporometers with the ETA attachment and four without it. 

Evaporometer Type S

Abstract

I have created a new version of the evaporometer where everything is stacked. The main reason for this is to shade the strain gauge from the sun. In this post, I will summarize the design of the evaporometer and show some images of the early iterations of this design.

Design

Electronics Case
 


Electronics case CADElectronics case CAD

Electronics case CAD

The image above shows the CAD of the casing of the electronics; inside it will also hold a 6000mAh battery. This part will have an attachment, like the previous versions, where it will have a slide mechanism for easy setup. This version also has a cork gasket so that it will have a better seal between this piece and the cap making it weatherproof. 

Electronics Cap


Electronics cap CADElectronics cap CAD

Electronics cap CAD

The image above shows the important elements of the cap. The first, the strain gauge will connect directly to the cap. The second, the little hump that is close to the edge will allow airflow through a slit that will be going right next to the SHT31 sensor, allowing for Humidity/Temp data. And last, the little hole that will allow for the wiring of the strain gauge to go to the microcontroller. 

Water Container

The water container was changed much from the last iteration. This iteration alllows for the strain gauge to be connected from the bottom. 


Water container CADWater container CAD

Water container CAD

The container is actually made from two pieces. The first piece is bolted to the bottom of the container and then that same piece gets bolted on the strain gauge. The image above shows the assembly of the pieces. 

ETA Attachement 


ETA attachement CADETA attachement CAD

ETA attachement CAD

The image above is the attachment that will hold the two TSL2561 sensors. The bottom sensor will have attached using a twist lock mechanism and the top will be on a swivel. 

ASSEMBLY


CAD Assembly CAD Assembly 

CAD Assembly 


CAD Rendering CAD Rendering 

CAD Rendering 

CO2 and Lux communicating via Nordic transmitter from the M0

Author: Lars Larson

Great progress to report.

The CO2 and luminosity sensors are transmitting data from one Feather M0 to another via OPEnS’ Nordic transmitter. Data is also saving locally with RTC time stamp to an Adalogger SD card.

Notable changes:

I’ll work on getting everything up on the GitHub page including wiring.

More to follow,

Lars

First Tests: Orchid

By: Brett Stoddard

Plant Data!


orchid.pmnorchid.pmn

Design

A probe was built as described in this build-guide. The following data was returned from the sensor.

Methods

An Adafruit Feather M0 with Lora capabilities was used to take measurements from the sap flow sensor. It activated an NPN mosfet that was connected in series with the +battery the heater probe and ground (or -battery).

Analog values were recorded by the board’s dedicated analog in pins. As per default, these readings were 10-bit although the M0 chip has the capability to do 12-bit ADC (detailed in this link). This would increase the theoretical precision four-fold and is something that should be investigated in the future. These raw values were logged onto an SD card. The electronics were run off of a 4AH battery until it died (after around days).

Additionally, an Adafruit SHT31-D breakout board was wired up and placed in the enclosure to provide ambient temperature values that also recorded day-night cycles.

In order to make the setup water resistant, electrical tape was wound around any electrical connections, the probes were covered in silicone conformal coating, and the microcontroller and battery were placed in a waterproof box, the DriBox.


Image of the testing setup.Image of the testing setup.

Image of the testing setup.

Results

The following graph was determined from the plant data. As you can see, there is a cyclic pattern happening, with the temperature differential. However, there are also several large “spikes” in the data. Talking with the greenhouse manager, it turns out that the timing of those spikes corresponds directly with the time he waters the plants. Best guest, water either cooled down one of the probes or got into the connections and acted as a short briefly before evaporating. The full raw data can be downloaded here.


Graph over ~3.6 days worth of data. Data was logged every 60 seconds by an Adafruit M0 Feather with Lora.Graph over ~3.6 days worth of data. Data was logged every 60 seconds by an Adafruit M0 Feather with Lora.

Graph over ~3.6 days worth of data. Data was logged every 60 seconds by an Adafruit M0 Feather with Lora.

To determine the exact temperatures from the two probes, two equations were used. The first one was a simple voltage divider equation to get the resistance of the thermistor. From the resistance, the thermistor beta equation was used to determine the temperature. The beta value for the beta value of the thermistor used (link here) was determined from its product datasheet. Unfortunately, the exact equations used were removed when I saved the file as its native CSV format after editing it in excel instead of saving it in an excel format (learn from my mistakes!).

Code

The code used for this project can be found here: https://github.com/stoddabr/SapFlux

Sap Flowmeter Build Guide

By: Brett Stoddard

Abstract

This post will provide step by step instructions on how to build your own thermal dissipation sap flow sensor. Seperate blog posts fully explain the what a thermal pulse sap flow sensor does, the idea behind this design, and the code involved (coming later).


A probe in the hand is worth two in the bush. Probes are  not  angled correctly in this image.A probe in the hand is worth two in the bush. Probes are  not  angled correctly in this image.

A probe in the hand is worth two in the bush. Probes are not angled correctly in this image.

Index

  1. Order parts
  2. Solder probes
  3. Apply thermal epoxy
  4. Wire it up
  5. Program microcontroller
  6. Install in a plant.

Step 0: Required Tools

Before jumping into the project, it’s important to mention that this project requires a few specialty devices to make.

  • Soldering iron station
  • Tweezers
  • A computer with Arduino IDE installed

Step 1: Order Parts

Below are two different bills of materials (BOM) that contain all that is required to build one of these sensors. The files for the pcb board can be found in a zip file here. To edit, you will need to download Eagle by Autodesk as well as a few part libraries including my personal library of Eagle PCB parts. A The total sensor cost is estimated to be $20.

Additionally, an Adafruit Feather M0 Lora is needed with a 3.7 volt battery (suggested 4AH) for the sake of this build guide ($34.95 + $19.99 resp.). It also requires an SD card breakout to save data in nonvolatile memory ($7.50).

The Feather M0 can be substituted for any micro controller with analog-in pins with some changes to the code to accommodate these new pins (mentioned briefly in Step 4) and if a different voltage batter is used, you should take a look at this blog post and change the heater resistor value.

When ordering the electronic parts I would highly suggest you buy spare parts, especially any 0603 resistors (I baked those into the single sensor BOM). It’s important to note the tolerance of the bias resistor (line 5), a lower tolerance can be used if it is calibrated for (a later blog post should talk about this).

Step 2: Solder Probes

Once you’ve received all the parts, it’s time to break out the soldering iron, tweezers, and reading glasses (optional) to tackle the most difficult step of this build: soldering on US0603 sized resistors. Soldering these on is a major test of patience even for veteran electrical engineers, but not impossible for first-time solders. Here are a few tips and tricks that should help: article from build-electronic-circuits.com, video from Engenuics Technologies.


Thermistor properly soldered on the end of a probe. These suckers are TINY!Thermistor properly soldered on the end of a probe. These suckers are TINY!

Thermistor properly soldered on the end of a probe. These suckers are TINY!

For the current design, three resistors need to be soldered: two thermistors and one low-ohm heater resistor. I find it helpful to mark which one is which immediately after soldering with some nail polish so I don’t get them confused because they look identical.

After the tiny resistors are in place on the end of the probe, its time to move down and solder on connectors on all the probes, 100K ohm bias resistors on the thermistor probes, and “short” the bias resistor on the heater probes using a large clump of solder on the 0603 pads (circled in red below). Use a multimeter to make sure all solder points are good and that the probe resistor is not shorted. The temperature probe should have a resistance of ~100k (this will vary based on temperature). The heater probe should have a resistance of 50 ohms (or whatever heater ohm is chosen).


Image of the base of the  heater  resistor. Notice the 90 deg female headers, the dip of fingernail polish identifying it, and the lack of a bias resistor.  Probes with the thermistor will have a bias resistor . The bias resistor has optional pads to replace the through-hole mount with another 0603 resistors cirlced in red-- for the heater probes these should be "shorted" using a large glob of solder.Image of the base of the  heater  resistor. Notice the 90 deg female headers, the dip of fingernail polish identifying it, and the lack of a bias resistor.  Probes with the thermistor will have a bias resistor . The bias resistor has optional pads to replace the through-hole mount with another 0603 resistors cirlced in red-- for the heater probes these should be "shorted" using a large glob of solder.

Image of the base of the heater resistor. Notice the 90 deg female headers, the dip of fingernail polish identifying it, and the lack of a bias resistor. Probes with the thermistor will have a bias resistor. The bias resistor has optional pads to replace the through-hole mount with another 0603 resistors cirlced in red– for the heater probes these should be “shorted” using a large glob of solder.

As kind of a placeholder, the current connectors on the probes are 90 deg female headers. Eventually it would be a good idea to add a waterproof connector onto the ends; I’ve had my eye on TE’s DEUTSCH DTF13-3P for a while for this purpose.

Step 3: Apply Thermal Epoxy

The next step involves the thermal epoxy. This is used in order to evenly spread out the effect of the heat pulse and to get better contact when inserted into a tree bore-hole. This is best applied using a 3D printed mold. Ideally, this would be printed on a high resolution SLA printer because of the small size of the mold. Formlab’s Form 2 was used to make the molds in the images; it provides up to 0.025 mm layer size. It’s also suggested that mold release spray be used on the inside of the mold to help the epoxy from sticking.

The epoxy in the BOM is a two part epoxy with a curing time of 45 minutes. To use, squeeze out equal parts from the A and B syringes and mix this well with a mixing stick before applying this to the inside of the mold. Put the mold on the tip of the probe so that the resistor is centered and press down. Gently wipe away any excess epoxy. Wait at LEAST 45 minutes before removing the mold, suggested overnight. Make sure that disposable gloves are used during this step.


thermal epoxy and waterproof.jpgthermal epoxy and waterproof.jpg

After the epoxy is set, gently wipe with sandpaper to remove any major impurities. Next, coat the entire probe with silicone conformal coating with two coats, letting dry completely in between. This will seal the epoxy to prevent plant moisture from seeping in and changing the properties of the probe over time. It will also waterproof the rest  of the board. Make sure to avoid getting and silicone in the connector.

Step 4: Wire Things Up

The probes should be wired to the board as shown to work with the current code.


This wiring diagram does not include the SD card that is included in the code. It should be hooked up  as per this tutorial  with the chip select pin on the SD board going to pin 9 on the Feather and the SPI pins going to the corresponding pins on the Feather M0 (SCK, MISO, MOSI).This wiring diagram does not include the SD card that is included in the code. It should be hooked up  as per this tutorial  with the chip select pin on the SD board going to pin 9 on the Feather and the SPI pins going to the corresponding pins on the Feather M0 (SCK, MISO, MOSI).

This wiring diagram does not include the SD card that is included in the code. It should be hooked up as per this tutorial with the chip select pin on the SD board going to pin 9 on the Feather and the SPI pins going to the corresponding pins on the Feather M0 (SCK, MISO, MOSI).

If you’re feeling savvy, feel free to play around with what pins are used. It’s important that the probes output goes to an analog in pin on the M0 (A0 to A5 shown below). The trigger can be moved to any pin, provided that the code is updated to match.

The heater probes could be attached to the 3.3V output pin (identified by “3V”) in order to further stabilize the power delivered as battery voltage decreases as it dies but the 3.3V should always be the same. However, this would reduce the energy efficiency of the system as the 3.3V output pin goes through the M0’s internal voltage regulator which burns off the excess voltage as heat. Also, the 3.3V supply has a max supply of 500mA which is near the current draw of a single heater probe.


Pinout of Adafruit's Feather M0 board. More information on the M0's pins can be found on the  Adafruit website at this link .Pinout of Adafruit's Feather M0 board. More information on the M0's pins can be found on the  Adafruit website at this link .

Pinout of Adafruit’s Feather M0 board. More information on the M0’s pins can be found on the Adafruit website at this link.

Step 5: Program the Microcontroller

The code for the basic program described in this build guide is posted at this link. A future blog post will walk through the important functions. Further in the future, a stand alone library and/or incorporation with project Loom is planned.

If you’ve never used an Feather M0 before, check out these two pages on Adafruit’s tutorial:

If you’ve never programmed in Arduino before (or ever), I would highly recommend reading though a few of the fundamental tutorial pages on the Arduino website until you grasp basic the basic concepts and idea of what Arduino is. Linked here.

Step 6: Install in Plant

This part of the process will change slightly based on what plant this is being installed into.

In order to to ensure that the probes are properly spaced, a 3D printed guide should be used. This version has a 7mm spacing between the probes. Future tests should test with different probe spacing. This doesn’t need to be as precise as the thermal epoxy mold; I used a Lulzbot Taz 5.

Insert the probes into their respective holes in the guide with the heater in the middle. Turn all of the PCB boards to face the thin side of the guide such that all the boards are parallel and facing to the same side (not up or down); this will help to deliver the heat pulse to the thermistors symmetrically. Optionally, use epoxy/superglue to fix them in place.

If you’re installing in a tree, holes will need to be drilled into the wood at a proper diameter (~2.75 mm) using an additional “guide”. As of now (6/11/2018) these have not been tested in a tree. 


in plant.jpgin plant.jpg


Probes installed in an Orchid. Notice the orientation of the probes, the pcbs are all facing the same direction.Probes installed in an Orchid. Notice the orientation of the probes, the pcbs are all facing the same direction.

Probes installed in an Orchid. Notice the orientation of the probes, the pcbs are all facing the same direction.

Based on preliminary tests it should take about a day for the temperature to regulate and good data to start coming in. A later blog post will go into further detail on best practices for installing in different plants (especially trees) after some more tests are conducted. Potential things include: installing all probes in the north side of plants to avoid the sun (south if you’re on the wrong side of the world), filling any drill hole cavity with thermal grease via a syringe prior to inserting the probes (improve contact with the tree) and filling the end of the hold with putty/glue to seal it.

If you have any questions or suggestions for this design please please please reach out to me, Brett, at stoddabr@gmail.com. Happy building!

Idea: Plant “Hydration” Sensor using Pseudo-TDM

By: Brett Stoddard

One metric for plant health is simply how “hydrated” the xylem is. This can be an indication of how much water the plant has been drinking and could change if it is living in a stressful environment.

This sensor would be very similar to capacitance sensors used to measure volumetric water content (VWC) in the soil. An open sourced implementation of that is the Gravity Capacitance Soil Moisture Probe which is from DFRobot. It uses the TLC555I pulse generator to generate a signal which passes through a transmission line (on a pcb) that is immersed in the soil. Depending on the VWC of the water, the properties of that embedded transmission line changes.


Image of the Gravity SM Probe. Notice the transmission line going around the edge of the sensor. A thinner version could be implanted in a tree to determine "hydration".Image of the Gravity SM Probe. Notice the transmission line going around the edge of the sensor. A thinner version could be implanted in a tree to determine "hydration".

Image of the Gravity SM Probe. Notice the transmission line going around the edge of the sensor. A thinner version could be implanted in a tree to determine “hydration”.

For the tree implementation, the transmission line would go along a probe similar to the one used for the thermal sap flow sensor.

Sap Flux Heat Calculations

By: Brett Stoddard

Intro

By far the most annoying part of designing a thermal sap flux probe sensor is the “thermal” part. Without a proper heat pulse, there is no sensor. The problem is generating heat requires raw energy. According to my calculations, the heater makes up ~99% of the total energy requirements for this sensor. One of the goals of this project is to make the sap flow sensor as energy efficient as possible which will require a lot of testing to find the most efficient way to send out a heat pulse.

The Knobs

To find that maximum efficiency, there are a couple of design “knobs” that can be adjusted to find the maximum efficiency. Unfortunately, due to the short amount of time on this project, not all of these are going to be tested. Here is a list with what I believe are going to be the most important factors first:

  • Energy Delivered (joules)
  • Time of Pulse (second)
  • Depth into Tree (inches from the edge of the tree’s cambium)
    • There’s a possibility that a “wrap” sensor could be possible like Dynamax’s Dynagague which uses thermojunctions on a flexible PCB
  • Size of the Probe

The *IDEAL* Physics

I’ve put together a simple spreadsheet of a few different heater resistance values. Since this sensor is primarily being designed to integrate into other OPEnS Lab projects (namely the Evaporometer) a 3.7 voltage supply is assumed (uses 3.3V logic but runs off of a 3.7V battery, the heater will draw power from the battery).

Linked here is a google sheets file that I’ve been using to estimate the heat increase of the tree directly around the probe, and calculate the power requirements from the total resistance of the heater. 

One thing that should be noted when finalizing the resistance: the wattage rating for the resistor. There exists a lot of SMT resistors on the market, Digikey lists near 50 thousand, however, only a small minority possess the wattage requirements to provide that much heat (this can be seen in the “wattage” column of the attached table). If a resistor is chosen that does not satisfy the wattage requirements it will most likely fail. If a specific resistance is desired that is not available at this wattage, two identical resistors can be placed together in series, essentially halving this wattage requirement.

The temperature delta was calculated assuming that the heat capacitance of sapwood is 8 joules/C. This is an estimation. Further research into the exact heat capacitance of sapwood should be conducted.

First Sap Flux Design Overview

By: Brett Stoddard

Background

Thermal sap flux (or flow) sensors have been popular amongst environmental sensing experts since the mid-20th century. They measure the velocity of sap through the stem or trunk of a plant using an array of heaters and temperature sensors.

A modern sap flow variant, proposed by Grainer, is made up of two temperature sensing probes directly above and below a heater probe—all spaced evenly. When a measurement is taken, the heater probe turns on and emits a heat pulse for several seconds. Then the temperature difference between the upper and lower probe is recorded. The temperature difference over time can be used to track sap flow (the specifics of this will be talked about in a later blog post).


Figure from paper by   Bayona-Rodríguez et al (2016)Figure from paper by   Bayona-Rodríguez et al (2016)

Figure from paper by Bayona-Rodríguez et al (2016)

Goal

To construct a sap flux sensor using surface mount technology (SMT) which can be manufactured using an entirely automated setup given a pick-and-place machine but can still be made by hand by a person with adept soldering skills.

Challenges

The biggest challenge for this project is minimizing the width of the probes. Inserting any foreign object into the xylem of any plant will alter how sap flows through it. As such, minimizing the size of the probe is critical to accurate measurements. Current commercial probes have diameters of around 1.5mm (http://dynamax.com/products/transpiration-sap-flow/tdp-sap-velocity-thermal-dissipation-probe).

Limitations in commercial PCB etching process are a limiting factor in the minimum size of these probes. Also, if a sufficiently small probe size is achieved, the number of plant types this can be used on increases. For example, a large probe may only be used on trees of a sufficient diameter while a smaller one could be used on crops such as corn.

Method

To design the PCB designs for sap flow probes, Eagle CAD was used. Sparkfun has a solid tutorial on learning the basics of PCB design (https://learn.sparkfun.com/tutorials/using-eagle-schematic). OSHPARK is a popular PCB vendor that is easy to order from and so their DRC was used for this project (http://docs.oshpark.com/design-tools/eagle/design-rules-files/). Using these limitations, a PCB probe diameter of ~2.5 mm was achieved.

For the temperature sensor probe thermistors were chosen to be the sensor component. Thermistors were chosen because of their high level of sensitivity when compared to other sensors. Thermistors act as variable resistors that alter their resistance based on their temperature. The main drawback to using thermistors is that their output is not linear, but rather follows a logarithmic curve and so they are difficult to work with. For this probe, a voltage ladder was used to retrieve the resistance of the thermistor as shown in the schematic in the results section.

The heater element consists of a 50 ohm, US0603 footprint resistor with a 0.38 wattage rating. A future blog post will go more in-depth on how the resistance was calculated.

To maximize contact with the plant’s xylem, thermal epoxy was used in a mold around all three PCB probes. This was designed in SolidWorks 2017 and printed on a FormLabs Form 2 SLA printer for maximum resolution. The inside of this mold was coated in mold release spray to prevent the thermal epoxy from sticking to it. After the epoxy was sufficiently dried, a layer of silicone conformal coating was applied to waterproof each of the probes.

To control the sensor, a microcontroller with built-in ADC’s (here an Adafruit M0 Trinket) was used. The output pins on the temperature sensors were connected to the analog inputs of the microcontroller. An NPN transistor sat between a voltage source and the heater and was controlled by an output pin on the microcontroller.

Results

Images of the final PCB are shown below. It uses standard US0603 footprint resistors.


Schematic of the Sap Flow/Flux sensor with thermistor temperature sensors.Schematic of the Sap Flow/Flux sensor with thermistor temperature sensors.

Schematic of the Sap Flow/Flux sensor with thermistor temperature sensors.


Image of the board design for Sap Flow sensor with thermistor temperature sensors. The two probes on the left are the thermistors and the one on the right is the heater probe. The PCB on the right houses an Adafruit M0 Trinket.Image of the board design for Sap Flow sensor with thermistor temperature sensors. The two probes on the left are the thermistors and the one on the right is the heater probe. The PCB on the right houses an Adafruit M0 Trinket.

Image of the board design for Sap Flow sensor with thermistor temperature sensors. The two probes on the left are the thermistors and the one on the right is the heater probe. The PCB on the right houses an Adafruit M0 Trinket.

The bill of materials used is below.

A future blog post will go into a more detailed, step-by-step tutorial on how to build your own! It will also have finalized design files and best pracitces.

Room for Improvement

As with any project design, there are a multitude of ways that this could be improved. A few ideas with good potential are listed below in no particular order:

  • Linearizing voltage output using a parallel thermistor configuration
  • A/D conversion on the probe sensor to avoid signal loss across the line
  • Housing to protect the temperature probes from solar radiation
  • Insulation to protect the probes from ambient temperature fluxes

References

In order that they appear:

  1. Dynamax TDR Probes http://dynamax.com/products/transpiration-sap-flow/tdp-sap-velocity-thermal-dissipation-probe
  2. Sparkfun Eagle Tutorial https://learn.sparkfun.com/tutorials/using-eagle-schematic
  3. OSHPARK DRC for Eagle http://docs.oshpark.com/design-tools/eagle/design-rules-files/

External Links

In no particular order: