Greenhouse Environmental Controller (Temperature-Humidity-Lighting)

This project started with a DS18B20 sensor and Flowcode V5. The aim was to build a controller to maintain the temperature within a greenhouse. It has been developed overtime to its current incarnation using a PIC18F4550 at the heart of the design.
This project started with a DS18B20 sensor and Flowcode V5. The aim was to build a controller to maintain the temperature within a greenhouse. It has been developed overtime to its current incarnation using a PIC18F4550 at the heart of the design.
I have added a humidity sensor from Honeywell – the HIH5031 and a RTC clock module using the DS1307, which is freely available on the net. I was starting to run out of connections on the PIC, so I had to come up with a way of reducing the number of menu buttons for controller everything. The menu system was the result, requiring just four buttons to input all of the required settings for controlling the four outputs – Heater; Extractor fan(s); DE-Humidifier and lights, including their respective OFFSETs.
Everything seemed to be working fine until I had the thought – how could I be sure the controller had been working between my visits to the geenhouse. What I needed was someway of recording at regular intervals the values of – temperature; humidity and status of the four outputs. To achieve this goal, the SD_Card module was added. I had problems with the timing ‘write-to-SD_Card’. This was overcome by using the hardware SPI port of the PIC18F4550, which involved changing many of the original port connections. However, once this was done the system continued to perform well as it had done before adding the SD_Card module. The system records at 30 minute intervals its current status in the form of a .txt file over a 24 hour period. On inserting a blank memory card, the system detects the card and creates the necessary file ready to start recording. After 24 hours it stops recording. This allows the file to be checked to see if everything had been working correctly.
When it came to put the circuit design into EagleCad, well it has been a steep learning curve. I need help from someone to produce a PCB for this project. The controller would look good in a BOPLA housing as this would keep it watertight but still keeping the display visible. The Eagle schematic and HEX file is in with the zip file, also details of PIC connections is included.
I have included details of the Honeywell Humidifier sensor HIH-5031 formula, as this may not be clear on how to use the one given in the original components documentation.
Discussion (3 comments)
NECV20 11 years ago
Hello,
At the moment I am designing something familair - a thermo pillar.
A mbed uC will read 6 DS18S20 ( at different heights) and show them on a 16x2 LCD. A DS1307 is also connected (also using its free 56 byte battery backupped RAM to store min. and max. temperatures) and to have access to date and time.
Because the mbed has a 2 MB onboard USB-stick simulator, the data will be stored there.
Because almost all connections are straight forward I am going to use a euro strips print to put all the components on, and make disconnecions in some strips by scratching the copperlines.
That might well also work for you.
JPe4619 11 years ago
johnsondav 11 years ago
Jaime G.-Arintero 11 years ago
Hi johnsondav,
Thanks a lot for your project!
For some reason I couldn't get the schematic in PDF... The file manager only allows to upload image files (png, jpg, gif) under the schematics section. Would you kindly upload it again? You may try it under 'PCB' as well. This should work.
I got the 'sch' file from the 'controller.zip' file, though :)
Thanks again!
Jaime G.-Arintero 11 years ago