Communication and modules architecture

High level 

Software architecture

Main controller

This module manages mirrors of all connected devices on the control network ( RS485 ) and delivers user interface via TFT and webserver to users.

Control modules

Each of these modules deliver control features locally to its implementation and remote configuration and control features.

Implemented components ( to date )

Currently, there is a variety of components that can be assembled very simply through software ( and therefore lead to different modules as a final assembly ),


This is a collection of core classes to manage sensors, engine and other power electronics components

Make / Hardware

Some of the first containers for the modules have been fully 3D printed, but 3D printing took so long and due to the shape for these, generated rafts and supports that were sometimes hard to get rid of. The latest modules have been designed using mixed 3D printing for the sides, and Laser cut for the top and bottom, significantly reducing printing time and ease of assembly.

This design relies on Arduino boards : Mega for supervision, and Arduino Pro Mini for each other module. I'm considering use of Teensy boards with much higher CPU capabilities to develop more efficient components, and deliver more computational abilities to serve more complex purposes. This current implementation however serves quite well any requirement for home or green houses / gardening automation systems.

Implementation

  • Rs485 half duplex 115200 bps
  • Up to 5 modules managed by controller
  • Address based communication 
  • Collision detection algorithm 
  • Autodetection of connected modules 
  • Registries based transactions 

Planned

  • UDP ethernet communication 

Supervision module

Components

  • TFT shield and 3"2
  • Ethernet W5100 shield 
  • Max485

Features 

  • Embedded UI for modules 
  • Same UI via onboard webserver
  • Ajax server to access control and registries with higher level IT systems 

Planned 

  • Local SD for logging
  • SD based configuration & UI masks


Climate controller

Wiring

Mount

Shield based PCB assembly

PCB are not like a final version but this is already much more reliable than the web of wires it was in the first version I made for it :)

Active probes box ( fan based )

Initial design did not include a fan. It worked, but this one does respond much faster to air composition changes.

Components 

  • SHT31-D for temperature and %HR
  • MH-Z19B for CO2 ( measure only )
  • BMP 180 for pressure ( measure only )
  • 8 relays

Note: I initially tested DHT11/22 sensors for temperature and humidity - and I have tried several ones - to conclude that, in comparison with my reference for T and %HR these are just not as good as they are said to be.

Features

  • Day and night temperature and humidity targets 
  • Matrix fuzzy logic controller for temperature, ventilation and humidity 
  • Can use cooler and/or heater, humidifyer and/or dehumidifyer, activate or not ventilation by configuration 
  • Has RTC to manage day/night with hours setup that enables switch for regulation targets and eventual lighting 

Planned

  • Use of relays to control CO2 level
  • Additional registries and ad-hoc fuzzy logic to include weather station parameters in the regulation

Uses

  • Green house, room control 

Water tank processor

Wiring

1 - CPU PCB

2 - Sensors PCB

Mount

Shield based PCB assembly 

PCB are not like a final version but this is already much more reliable than the web of wires it was in the first version I made for it :)

Components 

  • pH shield 
  • EC shield 
  • ORP shield 
  • Two relays...
Read more »