EvanSchneider.net: a Work in Progress
  • Home
  • About
    • About Me
    • Resume
  • Projects
    • 2 Stage High Power Model Rocket
    • 3D Printing >
      • 3D Touch Modifications
      • Professional FDM: Welcome Home, Stratasys Dimension 768!
      • VIPrint.info
    • Automated Greenhouse
    • CandleStick Magic
    • Caviar Czar
    • Explosions
    • Franken-Puch
    • LOTUS Pumpover Head
    • OaSense
    • Silver Coin
    • Slow Motion Video
    • Small Tinkerings >
      • Big Veggies
      • Champagne Sabers
      • Furniture and Such
      • Hippos!
      • Vases: Learning to TIG
      • Vulcan's Crib: the Ultimate Fire Pit
      • Wire Bending
    • Spinning Tops
    • COVID-19: Make Your Own Mask
  • Special Access
  • Contact

Automated Greenhouse: an Arduino Adventure

Goal: retrofit a greenhouse to autonomously monitor and control interior temperature and humidity. 

Result:
The final product works to automatically open and close 6 roof vents using 8" stroke linear actuators, open/close side louvers, turn on/off an ventilation fan, turn on/off a 1 gallon per hour misting system, and turn on/off a 240V, 5kW heater.  Current temperature and humidity conditions are continuously monitored and are shown on a wall-mounted iPhone that is also used to display and adjust temperature and humidity set points for the system.

Materials:
  • Awesome greenhouse (already built)
  • Arduino Mega
  • 8" linear actuators (to open roof vents)
  • Pololu motor driver boards
  • 2kW heater 
  • Massive relays
  • Wireless router
  • Patio misters
  • Solenoid valve (for water flow)
  • Old iPhone
  • 12V DC power supply
  • Lots of additional electrical components

Processes:

  • Arduino programming
  • CNC Fabrication (motor mounts and actuator arms)
  • Circuit design and protoboard soldering
  • Networking and debugging

Picture
The completed project. My electronics are visible in the interior of the greenhouse, hanging from the roof. Rivnuts were used to make that possible -- they are my new favorite fasteners!
Picture
An old iPhone is used to control system set points (yellow) and view current conditions (blue), which are updated every second via an SHT15 board.
Picture
This cheap and simple 12V solenoid controls the water flow to my misting system, which is used to regulate the humidity within the greenhouse. When on, it dispenses about a third of a gallon of water per minute over 6 spray nozzles. A MOSFET connected to the Arduino controls the current to this device.
Picture
Solid state relays like this one were used to control the heating and blower fan functionality. Although the relay is rated for voltages low enough to be used directly with the Arduino controller board, I amplified the signal using a MOSFET to get it up to 12V -- definitely sufficient!
Picture
The belly of the beast. Don't worry -- I've since cleaned this mess up with zipties and better cable management. The power supply pictured here has also been replaced; about 2 months into operation it began making squealing noises and shortly thereafter let out the magic blue smoke.
Picture
In order to replace the stock window mechanisms (wax pistons) with electronically controlled linear actuators, I had to create some custom mounting hardware. I used 1.5" aluminum square stock and wrote up a quick CNC program to make the 6 identical pieces. I then tuned each actuator so that its bottom travel was limited by the internal limit switch, and the top travel extents are controlled by software (this part is not critical, so simply timing the duty cycle was sufficient). The actuators are driven by a Pololu motor boards, which are actuated one at a time in order to reduce the peak current draw imposed on the 12VDC power supply.
Picture
The misting system in action!
Picture
Another action shot
Picture
A 5kW heater makes quick work of keeping the greenhouse temperatures well above freezing in the event of an especially cold winter.