Sensors & Pumps Module #
This functionality is now provided by dedicated modules that can be connected to the MainBoard.
Sensors #
The moisture sensing functionality is handled by a dedicated CAN bus-based Sensor Module. This modular approach allows for better scalability and reduces electrical interference by moving the measurement logic closer to the sensors and using digital communication.
Sensor Module (CAN bus) #
The standard sensor module features its own CH32V203 RISC-V microcontroller, which handles the measurement of soil moisture and communicates the results back to the MainBoard via the CAN bus.
- Capacity: Supports up to 16 sensors (typically 8 plants with an A and B sensor each).
- Reliability: Digital communication via CAN bus ensures data integrity even over longer cable runs and in electrically noisy environments.
- Addressing: The A sensor is always used; the B sensor is optional and suggested for larger planters to provide a better average of the soil moisture.
Sensor Hardware #
The sensors themselves remain simple and cost-effective:
- Design: Two spikes with a defined distance.
- DIY Friendly: Can be bought readymade or easily made with two long nails (galvanized or stainless steel suggested to prevent rusting).
Measurement Principle #
The new CAN-based sensor module uses a sophisticated measurement technique that replaces the outdated 555-oscillator and multiplexer design. By using a dedicated MCU for measurement:
- Minimized Corrosion: The system changes polarity between measurements, minimizing corrosion due to organic battery effects (electrolysis) and preventing errors caused by building up a DC voltage in the soil.
- Interference Resistance: The measurement is resistant to common failure signals, such as 50Hz hum from nearby power circuits.
- Digital Accuracy: The local MCU processes the analog signals and sends precise digital values to the MainBoard.
Pumps #
The Pump module contains low side switched pump outputs. The pumps are running directly from the battery without further voltage conversion, so ensure that they can survive the full voltage range of the battery. Each output can supply up to 3A continously. The board will never switch more than one output concurrently, so there is no need to size the battery for higher maximum load. An additinal extra output exists, that is switched when any of the pump outputs is supposed to run.
This allows for multiple possible setups
Layout Central Pump #
One central pump is connected to the extra output, and multiple magnetic valves are used for the different plants
Multi Gravity Feed Valves #
Per plant a Valve that can close against pressure is used, no pump exists
Multi Pump Setup #
Multiple smaller cheaper pumps with no shared hoses, so that failures will only affect a single planter.
In any case I suggest to use a Water Filter on the Intake, as else you will get severe algae problems.
In my personal opinion small membrane pumps are a really good fit
- can be housed outside the tank
- require less maintance/cleaning
- are able to pump smaller impurities without issues.
- Can pull water 1-2meters
- Have higher output pressure -> Will blow out blockages in hoses However
- are louder
- pump less volume per time and energy
DO NOT DIRECTLY CONNECT TO WATER MAINS, YOU HAVE BEEN WARNED!
Software and Hardware may fail: It is your responsibility to ensure that a stuck valve or short circuit mosfet will not cause flooding and property destruction, for example by limiting the water tank to size that can drain.
Todo #
Flow Sensor #
There is a input for a flow sensor, currently it is not used as the software is missing.
- Allow monitoring if pumps are actually moving water
- Allow to set limits for how much ml are allowed additinally to the current time limit per watering run
Currently it cannot be set how two sensor should be interpreted and they are only averaged. More complex functions would be nice here, eg. allowing a user settable interpolation (0.8a+0.2b)/2 and Min(a,b) as well as max(a,b)