This commit is contained in:
2025-01-29 02:03:00 +01:00
parent 3f63b3ed98
commit 1741bb0b53
42 changed files with 278 additions and 194 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -2,14 +2,23 @@
title: "RTC"
date: 2025-01-27
draft: false
description: "a description"
tags: ["example", "tag"]
description: "external rtc"
tags: ["rtc", "eeprom"]
---
an example to get you started
# This is a heading
## This is a subheading
### This is a subsubheading
#### This is a subsubsubheading
This is a paragraph with **bold** and *italic* text.
Check more at [Blowfish documentation](https://blowfish.page/)
undefined
# RTC
The board can be connected to a external DS3231 RTC.
This allows the board to run fully of grid, without any kind of external connection after the initial setup.
*During initial setup, the time can be synchronized to the RTC via the configmode website.
* The used RTC module is supplied with 3.3v from the low power supply if the main battery is connected
* It can also supply the battery via a small lithium cell on the board for several years, in case main power is missing, e.G. during longer dark winter days when running of solar.
# Backup
* The RTC module also usually contains a small eeprom, that can be utilized to store a backup of the configuration. Either to simply be able to revert to a prior setup, or as an additional precaution.
* Backups will be stored with a crc16, so should be protected against random bitflips.
* The backup is stored agnostic to the platform, as in it just stores bytes and has no understand of it for usual backup recovery procedure. The logic is done in the webclient. This also allows to manually patch older version of the config file if required, eg. due to a failed migration with missing fields.
## Planned
* In case the main config file is damaged, the firmeware should attempt to use the backup file (without replacing the damaged file), and check if this allows a startup
* Backup Battery health estimation/ fail indicator

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -3,13 +3,37 @@ title: "BatteryManagement"
date: 2025-01-27
draft: false
description: "a description"
tags: ["example", "tag"]
tags: ["battery", "bq34z100"]
---
an example to get you started
# This is a heading
## This is a subheading
### This is a subsubheading
#### This is a subsubsubheading
This is a paragraph with **bold** and *italic* text.
Check more at [Blowfish documentation](https://blowfish.page/)
undefined
# BatteryManagment
The project contains an additional companion board, with a bq34z100 battery management ic.
It allows to track the health and charge for an external battery and is supposed to be soldered directly to the battery.
The main board contains a xt30 connector for power, and additionally a two pin I2C bus next/combined with it, to communicate with the BatteryManagement.
# Setup
{{< alert >}}
A protected Battery is required. There is only a very simplistic output voltage adjustment for the MPPT system and no charge termination. It is expected that the battery itself protects against overcharging and deep discharges!
{{< /alert >}}
* BatteryManagement is purely optional, but recommended for solar power.
* If available it will be used for an extended low power deep sleep in case of critical charge.
* If available it will also be used, to reduce the nightlight, if the charge drops to a predefined level, so the nightlight cannot drain to much battery
* If available, all relevant battery metrics will be published via mqtt
Currently the setup requires a custom Ev2400 flasher and the properitary windows software from texas instruments.
{{< alert >}}
Before soldering to the battery
{{< /alert >}}
1. The voltage devider high side must be bridged, while being connected to the computer and being supplied with around 4.2 V from the battery solder leads.
2. Then the data/register for low voltage flash write protection should be set to 0V, as else with the voltage divider and no further configuration, the IC will refuse all write requests.
3. After this the supplied golden image can be used, it will setup the battery for 6Ah and a 4S lifepo. Different values can be adjusted after this to the users liking.
{{< alert >}}
The main board, does not care or process any of the charge discharge limits that can be set. Ensure that the battery can supply enough current as well as accept a 2A charging current from the MPPT system.
{{< /alert >}}
The golden image sets the statups led up, to be in blinky mode. one very long interval means, that the battery is pretty much full. A few very short flashes mean that the battery is nearly empty. No light means, that the battery is in discharge protection and shut down.
If the red error led lights, something is wrong with the battery. This can be abnormal voltages or a very low health state.
# Todo?
If the battery reports that no discharging should occure, report this and then shutdown without using pumps

Binary file not shown.

After

Width:  |  Height:  |  Size: 818 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -3,13 +3,24 @@ title: "MPPT"
date: 2025-01-27
draft: false
description: "a description"
tags: ["example", "tag"]
tags: ["MPPT", "solar"]
---
an example to get you started
# This is a heading
## This is a subheading
### This is a subsubheading
#### This is a subsubsubheading
This is a paragraph with **bold** and *italic* text.
Check more at [Blowfish documentation](https://blowfish.page/)
undefined
# MPPT
If the board is powered by solar, a on board MPPT converter tries to track the best current and voltage, so that the battery gets maximized charging current.
The currently used MPPT limits max current to 2A.
There are two adjustable values for the MPPT, Input Power Point and Output Voltage.
#Setup
{{< alert >}}
Note: Only protected Batteries are supported!
{{< /alert >}}
1. Supply the Ext Charge connector with 20V and a limited current (suggested 100mA).
2. If the board does not startup, adjust the MPPT untill it supplies a output voltage. Note: The ESP should be able to startup at any settable output voltage, as it uses a converter to 3.3v anyways.
3. Adjust the Output Voltage to the correct charging voltage for your Chosen Battery.
4. Connect a sink (or the a non fully charged battery) to the Output, now adjust the MPPT so, that the Input Voltage drops to the optimal working Voltage of your Solar panel. The Converter will try to always keep the Panel at this Voltage by adjusting the Output Current accordingly.
Setting the MPPT slightly lower than the suggested Voltage will ensure more reliable operation, as the optimal voltage might drop a bit due to ageing and dust on the panel. Normally during summer there is more than enough power, so a slight inefficentcy won't be noticable.
However during winter in low light and bad weather conditions, that might be the difference between charging at all or no power. (If the panel does not reach the MPPT voltage, there is no charging current)

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -3,13 +3,13 @@ title: "NightLight"
date: 2025-01-27
draft: false
description: "a description"
tags: ["example", "tag"]
tags: ["nightlight"]
---
an example to get you started
# This is a heading
## This is a subheading
### This is a subsubheading
#### This is a subsubsubheading
This is a paragraph with **bold** and *italic* text.
Check more at [Blowfish documentation](https://blowfish.page/)
undefined
# Nightlight
The board has a adjustable light output, which can be used to power a small led strip.
In the configuration, the working hours can be set, as well as if the light is allowed to be turned on, even if the solar panel still supplies power.
The supply should theoretically be able to supply up to 2A with a voltage lower than the battery.
{{< alert >}}
Ensure the voltage is correctly set, before connecting a load the first time!
{{< /alert >}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

View File

@@ -3,13 +3,58 @@ title: "Sensors&Pumps"
date: 2025-01-27
draft: false
description: "a description"
tags: ["example", "tag"]
tags: ["sensor"]
---
an example to get you started
# This is a heading
## This is a subheading
### This is a subsubheading
#### This is a subsubsubheading
This is a paragraph with **bold** and *italic* text.
Check more at [Blowfish documentation](https://blowfish.page/)
undefined
# Sensors
The board can address up to 16 sensors, with an A und B sensor per plant.
The A sensor is always used, the B sensor is optional and use is suggested for larger planters.
The sensor itself are just two spikes with a defined distance. They can be bought readymade or simply be done DIY with two long nails (use galvanized or non rusting ones)
The Sensor is switched via multiplexer chips to a 555 oscilator circuit that uses he the earths resistance for charging and discharging a small capacitor. The ESP simply counts how often the charge pulse was seen.
While this sensor can be easily influenced since it runs in lower uA - mA range, due to the frequencys of several khz for normal moist plants, it is still very resistant, eg a 50hz failure signal from a nearbly power circuit would barely be registered.
Since the Sensor is changing polarity between charging and discharging, corrosion due to organic battery effects is minimized, also it prevents errors due having build a battery (You can easily charge a planter to several V if you do not change polarity).
# Pumps
The board contains 8 low side switched pump outputs. The pumps are running directly from the battery without further voltage conversion, so ensure that the 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 out 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
{{< alert >}}
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.
{{< /alert >}}
# 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.8*a+0.2*b)/2 and Min(a,b) as well as max(a,b)

View File

@@ -24,8 +24,7 @@ tags: ["esp32", "hardware"]
* Embedded Solar MPPT Charger
* Can also be used with a power supply
kicad links
link to current stl for case here
image carrousel of diffferent builds here?
## Made with:
<a href="https://www.kicad.org/">
<img class="lazy" src="kicad_logo_small.png" alt="Image">
</a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB