Wireless MySensors solar weather and pool monitoring by fcerbell 3d model
3dmdb logo
Thingiverse
Wireless MySensors solar weather and pool monitoring by fcerbell

Wireless MySensors solar weather and pool monitoring by fcerbell

by Thingiverse
Last crawled date: 3 years ago
Wireless MySensors solar weather and pool monitoring
Do not print yet, work in progress
Designed to be printed in small parts (in case of print failure), mostly without supports, with brim and ABS juice for printer without enclosure.
This description will not tell you how to build the device step-by-step, it would be too long. It will only focus on the key points, features and caveats, the interesting part. All the rest is soldering, printing, connecting, ordering parts, ...
I wanted to get:
Outside air temperature
Outside air pressure (Baro)
Outside air humidity
Outside illumination
Swimming pool temperature
It had to be:
Autonomous with a solar panel and batteries.
Wireless and integrated in my home automation system (Domoticz + ZWave/RFXCom433/MySensors LAN gateway)
I am living in France, 60m oover sea level:
outdoor temperatures seldom go under -5°C, no need for supercapacitors, AA batteries will fit
days never last less than 8h with reasonnable illumination, a single solar panel will be enough to maintain batteries capacity.
It has to get light for the solar panel and for the illumination sensor, but should not be directly under the sun or the temperature sensor will be really inaccurate.
It was designed with a double stevenson screen to compensate this constraint.
Bill Of Material (BOM):
02.51€ - 5V/200mW Solar panel 107x61mm https://www.banggood.com/5V-1W-107MM-x-61MM-200MA-Mini-Solar-Panel-Photovoltaic-Panel-p-1004276.html)
00.02€ - 1N4007 diode (Solar panel anti-return diode) a Schottky would be more efficient https://www.banggood.com/100pcs-IN4007-1N4007-DIP-Rectifier-Diode-p-1177909.html
00.86€ - 2xAA battery holder https://www.banggood.com/3V-Series-Battery-Case-With-Switch-And-Wired-2-x-AA-p-999683.html
06.65€ - Step-up boost 5V (to power device until the last Amps) https://www.banggood.com/5pcs-Mini-DC-DC-0_8-5V-To-DC-5V-Step-Up-Boost-Power-Module-Board-For-Arduino-p-1158321.html
00.10€ - AMS1117-3.3 voltage regulator for NRF24L01+ https://www.amazon.com/AMS1117-3-3V-Voltage-Regulator-AMS1117-3-3V/dp/B00898P4T2/ref=sr_1_5
02.67€ - Arduino mini-pro 5V https://www.banggood.com/Wholesale-New-Ver-Pro-Mini-ATMEGA328-328p-5V-16MHz-Arduino-Compatible-Nano-Size-p-68534.html
01.48€ - NRF24L01+ https://www.banggood.com/NRF24L01-SI24R1-2_4G-Wireless-Power-Enhanced-Communication-Receiver-Module-p-1056647.html
04.85€ - GY-21P (includes SI7021 for Temp/Hum + BMP280 for Temp/Baro) https://www.banggood.com/GY-21P-Atmospheric-Humidity-Temperature-Sensor-Breakout-Barometric-Pressure-BMP280-SI7021-p-1200466.html
00.11€ - LDR GL5537 https://www.banggood.com/10-PCS-5MM-Light-Dependent-Resistor-Photoresistor-GL5537-LDR-p-922618.html
00.01€ - 10 KOhms resistor (Voltage divisor bridge for the LDR) https://www.amazon.fr/resistor-film-carbone-resistances-axiales/dp/B01FTLNCVI/ref=sr_1_1
06.23€ - 15m waterproof DS18B20 (Pool temp) https://www.banggood.com/DS18B20-Waterproof-Digital-Temperature-Temp-Sensor-Probe-1M-2M-3M-5M-10M-15M-p-1211828.html
00.06€ - 4.7 KOhms resistor (for One wire bus signal PullUp) https://www.amazon.fr/20x-R%C3%A9sistances-carbone-%C2%BCW-47res070/dp/B074SZCWV4/ref=sr_1_1
Total is less than 26€
Electronic
I am not an electronician, and I don't know how to draw beautiful schemas. Here is the description of what I made :
First, I mounted sockets and headers to be able to remove or replace components easily.
I tried to use unambiguous connectors (in terms of number of pins, gender and format) to avoid mistakes when pluging and unpluging devices.
I connected the diode on the + of the solar panel, to let the current go outside of the solar panel only.
Then, I connected the battery pack and the solar panel (plus diode) together (parallel) to the 5V voltage boost.
I used the 5V output to power the arduino on the raw pin. I connected the ground (0V) of the boost to all the devices (gnd pin of the arduino, GND pin of the GY-21P, GND pin of the DS18B20, GND pin of the NRF24L01+, GND pin of the AMS1117-33 voltage regulator and any pin of the LDR)
I connected the 5V output of the boost to the AMS1117-3.3 voltage regulator Vin pin
I used the arduino pin 4 to power all the sensors when needed for a measure (through a 10KOhms resistor to the LDR, to the Vin pin of the GY21P, to the Vin pin of the DS18B20)
I was not able to correctly initialize the NRF24L01+ after a power cycle, I left it alway powered and connected to the Vout of the AMS1117-33
I added a 4.7KOhms resistor between the Vin and Signal pin of the DS18B20
I connected the arduino pins 9,10,11,12,13 to the NRF24L01+
I connected the SDA/SCL pin of the GY21P respectively to the arduino A4/A5 pins
I connected the battery + directly (before boost) to the arduino A0 pin for battery measure (Battery+Solar, indeed)
I connected the signal pin of the DS18B20 to the arduino A1
I connected the LDR pin (the one wih the resistor) to the Arduino A2 pin
I connected the solar panel directly (before diode) to the Arduino pin A3
Here are the pictures of the top and bottom sides. Black is always GND, red is always power source (either 5V or 3.3V). The other colors are for signals and clocks.
Program
I have a Domoticz Raspberry with Z-Wave, RFXCom433 and an home made MySensors gateway. Everything is connected to a backup Lipo battery and to a dedicated power suply unit in a 3D printed box.
I chose to use MySensors libraries to connect the weather station to my MySensors gateway. Then, I chose a multi-function I2C library that was able to manage the BMP280 (Air pressure + temperature), and the SI7021 (Air humidity + Temperature) together. I chose the DallasTemperature library for the DS18B20. I tried to choose small footprint libraries, there are other, of course.
One of the issue is that I power up the sensors before the readings and I power them down before going to sleep. Unfortunately, they often need to be initialized after power up, I had to move the sensors initialization code from the setup function ("before" in MySensors) to the main loop.
Printing
The case could be printed in white PLA, but it will stay outdoor, under sun, rain, ... white ABS is better if you can.
Printer: CR-10 with work insulation below the bed and no enclosure (room temp is 24°C)
Filament: Optimus ABS White
Temperatures: Extruder at 260°C, Bed at 80°C
Cooling: fang fan at 0%
Support: ABS juice, brim, supports (only touching ground)
Infill: 50%
Speed: 50mm/s
Horizontal size expansion: -0.4mm
Walls: side=4, top=5, bottom=4
Softwares: Blender3D for designing, Cura for slicing
The top has to be rotated and printed with underside flat on the bed on the bed.
The sides have to be printed as they are, to avoid supports at all (with little fan speed) or limit them to those which are built from the ground.
The back and bottom have to be rotated to be printed flat on the bed
The door has to be printed upside down with fan at 25% (I added columns every 2.5cm to support the bridges, fan might be more if printer has enclosure)
You will need approximately 20h of printing, you will use approximately 90g of material and the overall cost including electricity would be approximately 4€.
I had several failures and iterations for each part and did not measure everything each time.
Going further and possible improvements
I'm trying to figure out how to calculate the illumination from the solar panel voltage probe to remove the LDR (no hole in the 3D design and one more available GPIO)
I still have IO pins and could add features for the weather :
a button and an I2C OLED display to display the values
a pyrometer to get the solar radiations
a printed anemometer for wind speed to better manage blinds (using a neodyme magnet, a bearing and a hall effet sensor)
a printed weathercock to get the wind direction and better manage blinds (using a neodyme magnet, bearing, hall effect sensor)
a printed rain gauge to better manage blinds (no idea yet)
some air quality sensors MQ-x (with extra power for warming them)
I could also improve the pool features with sensors and actuators (and delegate them to another standalone station):
a water pH meter in the pool filtering system
a water redox meter in the pool filtering system to better manage chlore
a temperature sensor on the pool solar heating carpet to better manage the water flow
motorized water valves to automate the water flow management through the solar heating carpet and the electrical heating

Tags