What's new
  • ICMag with help from Landrace Warden and The Vault is running a NEW contest in November! You can check it here. Prizes are seeds & forum premium access. Come join in!

Grow controller? (DIY)

Hephaestus

Member
Hep- looks awesome! You are really committed to this! I checked out your link and its great, however I think you may have the bloom and maybe the veg hours wrong on the website... I believe it said your bloom was 18/6. maybe I am wrong just wanted to tell you.

CLAMBOY- Looks like you have the thinking down. I would not worry about the 1 amp relays powering large problem Just run to another larger mechanical relay that electricians use.
Garden - Not my website; that appears to be one of the people trying to steal my idears :D And apparently one who has no clue how to grow...

My plans always been 3amp SSRs on an american DJ100A type setup (see earlier pics/links). Mechanical relays have some problems long term - relays aren't the most reliable devices in the world, especially on devices that'll be triggering regularly. Meanwhile SSRs (Solid state relays) are designed for this purpose, and have no moving parts to break... Cost is pretty comparable...
 

ClamboyBob

New member
Fiber choice because of the inductive load on our ballasts
A diode and opto-isolator should protect the board/electronics. If you have to rely on fiber to protect the system then you have bigger problems. But this is a setup for a mechanical relay, I'll be using a SSRs like Hep so the circuit may be slightly different.

I had a thought this AM about PH probes, etc. I am rethinking including these in the project. I broke the events into two categories, human triggered and mechanical/nature triggered, mechanical/nature events are lights on/off, pumping water out of a reservoir, evaporation, etc. Human events are refilling the reservoir, adding nutes, etc. Why would I need to monitor the PH, etc., on a reservoir - it seems like this would be something that I would do once when filling the reservoir and it would not change until I refilled the reservoir. Wondering if there is value in monitoring this automatically when it is something you do once, go away, and then do again. Or do these values change as your reservoir sits?
 

gardenlover

Member
Hep- Sorry for the mix up, I was a bit confused how that site actually came to be.

So my question is about relays now? How high in amperage dose a solid state relay go up too? I was thinking that you would use a 1-3 amp SSR to activate a high amp mechanical relay like ones used for light banks as are used in this

link.http://www.hydroponics.net/learn/grow-light-controller.asp

I just figured they did not make cost effective high amp SSR?
 

Hephaestus

Member
You can get them effectively up into the 15amp range - but really 90% of the ones we're using are going to be in the >3amp range. Yup 1000w'ers are going to take a bit of investigation; 9amps is a big draw, might have to look more at contactors etc for something like that; still wouldn't trust it to a relay...
 

Hephaestus

Member
Been playing with things... I've been thus far been trying to keep things in 'shield' sizing (about the same size as the arduino) But - the main sheilds going to have to be longer than the arduino anyway...

Was thinking about it today - and playing in kicad... If I brought the two main boards (ph/lcd/eeprom/expanders; then board 2 - TDS/PPM/EC, fan controllers, float switch inputs) together onto one - and made it 2-3" bigger all around - I could fit it all on one board...

What do you guys think? Tollerate the extra size? Should still take regular shields - as long as they dont overhang...
 

gardenlover

Member
my vote will always go with more capability, so I say make it a bit bigger. This will also be less confusing for some (like me).
 
M

medi-useA

Can you post some pics to show wh@ you're talking about?

There are double and triple long/wide extender boards for the Aduino...are they of any use?

muA
 

Hephaestus

Member
I've been trying to keep things mostly in shield sizing - basically not increasing the overall footprint of the arduino... (albeit - did have to extend the length to fit things).
The original design would look something like this but extend off the back end (note arduino underneath - this is the typical shield configuration)
111187878509_720d618b69.jpg


However if I ignore the footprint - I can squeeze it all the basic functions onto one board - however that board will likely be about 2" bigger all around than the arduino itself... (look at the shield pictured - then stretch the board out past the pin headers about an inch each way - and add another 3" +/- in length)

May cause some interference issues for stacking further shields on top - but there are also pin header extensions available to create vertical distance between as a worst case scenario...
 
Last edited:

Hephaestus

Member
Wing extenders - likely wont be needed, but should be able to be installed; thinking the plugs for some of the components will be outside of the pin headers - which may cause some interference issues... Worst case they could be turned in :joint:
 

Mulletsoda

Member
Hello Hephaestus, just found your thread here. I've been working on my own Arduino based project for awhile now, and I'm excited to see other people working on a similar project! I like where you're going, but it's hard to see exactly without any pics/schematics/code. I understand keeping it under wraps.

Anyway, here's my current project goal : An aeroponic setup with
Outputs : Water pumps (on timers), fans (temp/RH dependent), AC (temp), work lights (green lights for night time work in flower), mini pumps (nutrient and pH adjusting), dehumidifier (RH), LCD (for monitoring, optionally remote)

Inputs : Temp, RH, EC, pH, CO2, buttons (for on the fly adjustments)

I've found most of the parts, obtained a good portion (including a few arduinos), written some rough code, built a prototype that successfully controls a 12A220VAC relay... yup, slowly but surely. Anyway, I've got a few thoughts on what you've shared with your project so far (in no particular order):

You mentioned PWM. Other uses I've thought of are soft-starting a DC pump, to reduce wear. 'Overdrive' on an LED; you can push more current through an LED if it has a 10% duty cycle. I've read studies (basic summary) indicating photosynthesis requires a 'recharge' period.

The pH probe you're talking about, does it run constantly? Is it an AC, or DC probe? I'm trying to source those (pH & EC) right now, but according to my limited reasoning I can't run a DC probe constantly in an acidic saline solution or it will corrode/have build up. I'm bouncing between the AC (much more $$) and a DC that is only powered up occasionally. I really like the EC meter you linked to, they touched on that issue.

Oh, and a tip on that CO2 monitor (http://www.futurlec.com/Gas_Sensors.shtml), you're going to need a higher analog resolution than the arduino has to read that. For that, I'm looking at ADS1286PB ($13/2 ebay). That gives me ~ 70 ppm resolution, which while not ideal, is good enough for me. ;-)

Extra storage could be in the form of an SD card instead of a bigger chip, making space easier, portability easier, accessibility easier. I'm also thinking of being able to adjust light/nute schedules by loading them onto the SD card. I drool thinking of the data logging capabilities of this.

With the OneWire temperature sensors, we could easily monitor dozens of individual locations for temp. I'm seeing possibilities for research into creating more even heat distribution in the room.

ClamboyBob ~ As far as expandability (and programmability), it sort of sounds like you'd like it to be possible for people to start small and build up. Well, in my view, I'm working on something that retails at (depending on accessories, easily) over $1k, so if throwing a few hundred into it is difficult, you're in the wrong hobby. ;) As far as the programming, well, depends on how much work you're willing to put into make it 'user friendly.' My view is that by making devices 'easier' to use, we are actually training people to think less, to use problem solving and logical reasoning skills less. Not a good goal, in my mind. I'm here to help people help themselves, not to do all the work for them. ;)

There are 'port shifting' devices that could allow the arduino to effectively control more outputs, but to my mind, this limits scalability. Compartmentalize has kind of been my motto, if we can wrap everything up in one area, then expanding could be as simple as making more areas. The limit does stifle me a little, I could see taking it to the Atmega1280, but not much further than that. Once we bring the port shifting in, then it's unique addressing concerns for each shift register... dunno. I could easily be wrong, but it seems like more complication than needed.

When you talk about 'shields' and then a 'single I/O' board, are you envisioning a single product that can be tweaked on a low level of operation? While entirely possible with the arduino, I've found that convincing people to learn how to program a new device is like pulling teeth.

Connectivity ~ Wifi is nice, but that brings security issues in, even if your network is totally secure, the fact that it is there says something. I'm looking into serial communication.

As far as the actual current draw of any individual item, that's trivial in the design of the controller itself. I buy DPDT 12A relays for less than $5 each; overbuilding on the electrical side is easy. To me, that's cosmetic. I need to get it all working before I try and stuff it into a pretty box and make it space efficient.

Have you checked out the ULN2003? Handy little thing, 7 darlington pair, 50V 500mA output per with a flyback diode already on each one, w/ arduino compatible inputs. Am I offering information you already know?
 
M

medi-useA

I don't know if Hep knows it, but it sure says you've put some thought into this! :)

I've been hot for the sdcard and was looking @ possibly adding it when I do get the bits needed...IE: ALL of them! ;)
hehehe

muA
 

Mulletsoda

Member
I've put ALOT of thought into this. I'm open-source oriented, and I've got 2 parallel goals with this: large scale automation for commercial use and a hands off closet controller for the disabled (those unable to measure out nutes, empty tubs, or things like that). I feel like these goals have lots of similar methods in common. When I start getting it into a more coherent form and nail down a place to put my grow journal, I'll be posting all my notes, designs, schematics, code for all to use.

I'm an inexperienced aero grower, so that's what my design is going to be based around. Shouldn't be a problem to adapt it to other types of growing.

SD Card : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206874649/8

Collecting the parts is part of the adventure. Hm... I need 4 resistors for this project? Oooh! Price break @ 300! A relay, hm... might as well grab a few! ;) Just think, when you get it going, you'll already have a good start on a well stocked electronics lab.

relayboard.jpg
 

Hephaestus

Member
There is a schematic posted much earlier (and has a few errors) back in the thread - pH and ec sensors are dc and pretty much constantly on - no real reason to turn them off...

Trying to keep a nice midline between user friendly and powerful on the programming... Got a friend building a GUI right now - that'll handle the "hard" programming - but the source code will still be available to the user for tweaks if one wants to do something different. To me that's a nice middle ground, I may never be fully able to guess what people will want to do; so we're doing it in a way that it should be expandable (including the GUI - we're talking about a module scenario in the GUI to make it so people can add hardware - and you'll be able to expand the software by just loading up more modules (obviously someone will have to write it first)).

Seen the SD card setups - think thats really beyond our needs - but that doesn't mean I haven't considered them, can always backpack a shield with a SD card reader on it - then have it addressed instead of the EEPROM... I don't think we need all that much storage capacity, but I suppose there will be those who want more :)
 

Mulletsoda

Member
Hm... the probe constantly running DC current? Do you have a running prototype right now? You're sure this causes no buildup? I've been thinking a reading every 5 minutes should be more than enough, allowing time in between for rinsing the probe.

I like the idea of an SD card because pulling data off the EEPROM isn't a very user friendly task. I'm going towards an autonomous controller; not constantly connected to a PC, so feeding data that way is out for me, too. I'm geeked about the amount of detail I can have in a grow journal (I'm going to run side-by-side trials) with the ability to have hourly (or more fine!) logs of nute levels, temp, CO2 consumption, water consumption; all timestamped, all next to (also timestamped) pictures.
 

Hephaestus

Member
Typically no - lots of the aquarium guys have been running them for years - while they do require occasional cleaning & calibration; and suggested annual replacement (when in constant use) - they're typically pretty reliable...

It'd actually be really easy to setup the SD card onto another shield... Then it's just a software side of things... This is why I'm trying to keep things pretty much as expandable as possible; makes it so any of these little things one wants to do possible.
 
M

medi-useA

Collecting the parts is part of the adventure.

I'm yet to get started...but I'm cleaning out and I got 3 dead TV's ...sony, rowa, mysteryobject...

Think any of the switches, pots or other doodahs might be worth salvaging to start my...'stockpile'...of parts?

or not worth the effort?....and I got about 24 remotes...do they have much in the way of useful bits?....

If ya got the know how...how about a thread on salvaging stuff for an aduino based controller? :smokeit:

muA
 

Mulletsoda

Member
Well, medi-useA, I have a HUGE pile of barely working electronics, and I'll be honest with you, it's not a very good way to get spare parts when you're first learning. Yes, there are tons of perfectly good parts in there, not only general parts, but even some nice specific hard to find or expensive things. They aren't all well identified, and it may be hard to find specs on them. They're great practice for soldering/unsoldering, but as far as a source of parts... example : I'm 95% sure this transistor isn't working because I'm unsure of the pinout on it, if I had to worry about whether or not it worked in the first place, well, shit that makes everything more complicated. KISS However, there are some really easy parts (potentiometers, transformers, maybe capacitors or some larger resistors that you could easily identify, test, and use. Sometimes I have trouble keeping the datasheets on the chips I have in order, I don't want to think about a bunch of 'maybe' sheets too!

And you really aren't saving much. For one, it's a tradeoff in quality. Things are sold in tolerances : 1%, 2%, 5%, 10% ... do you really want to think of quality controls back then coupled with deterioration due to age? Individual components like the resistors, caps, transistors, diodes, stuff like that are all pennies each. I shop @ AllElectronics(dot)com, and the $7 shipping charge is usually the most expensive line item on the invoice.

Hephaestus, can I ask some questions about the mechanics of your programming? I'm not sure if this is the place to get into this, but I've always leaned towards the long and overly-complex posts. It isn't like this is off topic, anyway. I think you said you've got somebody else working on this part for you, so if you're not sure, that's cool. I programmed in school, but that's approaching 10 years ago now, I'm very rusty, so bear with me.

My basic approach to this is that I have objects w/ attributes (my 'outlets' w/ TimeLeft & Mode), that are updated (TimeLeft is de-incremented) and checked (when time runs out, the Mode changed). My current tactic is an array, with the attributes as elements in the array ( Timer0[TimeLeft,TMode] ), but (very much an evolving project here) I'm looking into multidimensional arrays now; being able to create an array of these arrays would enable me to run all the outlet checks in a single For:Next loop, saving much program space. Am I on the right track here? Is this possible with the Arduino language?

Note : I've barely added the inputs into the code yet. I'm waiting on the sensory inputs until I have the core down and working.
 

Latest posts

Latest posts

Top