Tower growth chamber - problem with DHT22

Kaggle kernel for data collected for flowers in the growth chamber

Hello everyone, I am an independent researcher for a project in Singapore titled “FoodWall” with the mission of going beyond leafy greens and LEDs into solar powered vertical technology that produces a well balanced diet including calories and protein. Myself and a Georgia Tech intern are working on the designs for the foodwall system and publishing to Github and our website with articles and we also have a workshop with a closed growth chamber fully equiped with 150W fully ajustable spectrum LED lights and a 2m hydroponic tower able to hold 8x plants at a time.

The problem - DHT22 fails
We have a problem with our DHT22. The sensors are connected in a loop together with a common +5.5V power supply and after reading for some time, eventually they fail and stop reading, and can only be reset by cycling the power supply. The timing of when the fail is a bit unpredictable, sometimes it can run for up to 3-6 hrs, sometimes it fails only after 30 min. The readings are taken using Arduino, and then the data is consolidated by a Raspberry Pi via Serial USB. The intention is for the RBPI to then post to a web service, although this part is not yet implemented. I have put up details of the problem on stackexchange, and also I have uploaded all of the code and a circuit diagram onto the Github repo “plantlab”

Stack exchange post - DHT22 failed reading NaN

foodwall website
Github repo for the foodwall project

I doubt the problem is the DHT11 (22) sensor. I have had them running for some time logging data with no issues.
The Arduino/Raspberry architecture is problematic. We originally tried it for the MVP growth chamber, but gave up and went to a pure Raspberry solution with Python code (where I am running the DHT11). The serial communication did not have the reliability we needed. Using CouchDB has provided simple data replication and aggregation.
I would not recomend the DHT11, for while they are cheap and reliable, I have not found them to give consistent readings between sensors; hence why using the SI7021,

1 Like

OK so the solution was quite simple. I made two changes

  1. Rewired the power supply to the voltage loop to a relay controlled by the RBPI. Every 30 minutes the raspberry pi resets the power ON/OFF for 30 seconds. There are still some NaN but overall result is its collecting good data now.
  2. Boosted the supply voltage to the sensor loop to 5.5V (probably not the real cause but didn’t hurt)

Here is a summary of the data results on kaggle