IOShield question

Started by ssmall, October 21, 2015, 09:07:28 AM

ssmall

When powering the IOShield via 24 VAC I need to short the 5V pad and the middle pad.  Do I also need to cut the trace between the middle pad and the 3.3V pad as well or can I leave the trace intact?

Felix

You don't really need to do anything with that jumper, unless you have a specific need or purpose.
That pad allows you to switch to 5V power from the buck regulator instead of using the 3.3V coming from the Moteino. If you used it, you would have to cut the existing jumper and solder the other side, otherwise 5V would clash with 3.3V and you wouldn't want that.
I have to add a page to explain how this works...

ssmall

Just to make sure I understand  ::).  When powering the IOShield from the buck regulator I solder the 5V jumper and cut the 3.3V trace, correct?

Felix

No, you don't have to (assuming you will plug a Moteino ontop of it).
The buck gives 5V to your Moteino. Then by default the Moteino powers the IOShield. So you don't have to change anything about the jumper.

ssmall

Thanks for the clarification.  I need to look at my sprinkler controller to figure out how I can integrate the IOShield.

Felix

I would advise doing what I did ... first try to figure out as best you can what triggers a station ON. If your controller is like mine you will need to put a HIGH between 2 pins and that triggers the gate of a TRIAC which sends 24VAC to your valves. Then you can test using a small battery which helps you find your GND relative to the pin you need to pull HIGH.
Then you can figure out how to power the IOShield from 25VAC.
Since controllers are different there isn't a by-the-book example that works for all but it's a good exercise to learn how to debug a system. Taking baby steps and understanding what you're doing also helps avoid blowing stuff up along the way :)

ssmall

Thanks for the tip.  I have a Rain Bird controller similar to the one in your video.  My thought was to power the panel and turn on zone one.  I will use my voltmeter to see which pin(s) have a voltage and that should indicate zone one.  I am not sure where to hook into ground though.  Can I hook into the ground wire on the 24 VAC supply?

Felix

In my setup the actual GND (which is one of the 24VAC transformer inputs) for the controller PCB was not used.
Instead I noticed that the gates of the valve TRIACs have to be biased relative to the other 24VAC input. So effectively I had to use the 24VAC inputs reversed from what they were to the controller PCB. That meant my GND was the controller's 24VAC and vice versa. So now my IOShield regulated 3.3V (first 5V through buck then 3.3V from Moteino) was the perfect bias that I could use to trigger the TRIAC gates.
In the large connector on that controller PCB you can use a multimeter to find where the GND and 24VAC are (GND on the PCB should be easy to find since it's either filled or has larger traces). Then find what will bias a zone's TRIAC. Actually I would start tracing where the bases from the TRIACs go to the connector. They likely connect straight to that large connector to the front panel LCD controller board. So identify a gate for a triac, then if you're in doubt, manually start that zone to see what happened to the voltage on that TRIAC gate. So that should give a very good idea what you need to do.
IOShield will allow you to have a 3.3V bias (difference in voltage) between it's own GND and the outputs. You just need to find where to apply that bias in order to trigger the TRIAC gates.
I hope this wall of text makes some sense.

ssmall

Felix,

It does make sense.  I have a little experience using TRIACS but it has all been DC circuits.  I will look at the controller more in depth this weekend.  Thanks again for the help.

ssmall

Felix,

I had time this weekend to assemble and test the IOShield.  I am able to control the IOShield powered from an FTDI Adapter.  I also successfully powered and controlled the IOShield from the 24 VAC sprinkler controller supply.  I did not connect any IOShield outputs.  Next I determined which pin controlled each zone.  The way I determined that was to measure the voltage between the pin and the green ground wire from the 24 VAC supply.  The voltage I measured was -5 volts.  If I am not mistaken this corresponds to what you described above.  Does the IOShield need to apply a negative voltage to the TRIAC?  At this point I am unsure what to do next.

Felix

That's the tricky part of this whole thing. If you determine there's a negative bias needed , then you need to invert the 24VAC input to the IOShield so that the TRIAC's negative bias becomes positive and then you can drive them with the IOShield outputs.

ssmall

So if I understand properly the IOShield outputs a positive 3.3 volts or positive bias and my controller requires a negative bias.  So the trick is to change the bias of controller TRIACs to a positive bias.  Correct?  And the way to do that is to swap the 24VAC inputs to the controller?

Thanks for all the help so far.  This has been a very fun and interesting little project!  This has helped peel back the veil on how things I take for granted around the house work.  That and I haven't blown anything up yet.  :)

Felix

Yes I think that should work. If you think about it, one of the 24vac inputs becomes the GND for the controller.
But you don't have to make that the same GND for your IOShield, instead you can use the other 24VAC input as a GND. Then when you activate one of the 16x IOSHIELD outputs (make it HIGH) that's effectively a negative bias with respect to the other GND. That's what I had to do for my sprinkler to be able to use that bias to trigger the TRIACs.

ssmall

I will take a look at it this weekend.  Thanks again for all the help.

ssmall

#14
I have worked on trying to get the IOShield to work with my sprinkler system the last couple of weekends.  I have not had much luck so I thought I would post a picture of my sprinkler system, minus the controller panel, and what I have done in the hope someone could tell me what I am doing wrong.

In the upper left of the picture is a set of vertical pins.  They are connected to the controller via a ribbon cable.  This is where the IOShield taps into for power and to control the solenoids.  The top pin is 24VAC as measured with my voltmeter between it and the light green wire which is ground.  The second pin is ground for the controller.  When I hook up just these two pins, the controller powers up.  It is these two pins that I have used to power the IOShield.  The bottom 10 pins are used to control the different zones.  I traced those pins to the triacs located in the modules in the middle of the picture.  I also turned each zone on using the controller and one wire between the pins.  I then connected the IOShield up to the two upper pins to power it, GND->GND PWR->PWR.  The IOShield powered up and I was able to control it via the web interface.  I then connected the number 1 output pin from the IOShield to the number 1 zone pin and activated the number 1 output pin on the IOShield, nothing happened.  That was expected.  I then swapped the pins powering the IOShield.  This time the number 1 output pin from the IOShield turned on without my having to activate it via the web interface (the LED came on by itself).  I went over to the Zone 1 solenoid and it was buzzing and there was only 18volts applied to the solenoid.  I also tried swapping the two red wires with the same results.

I have tested the controller after I made these changes and it still works.  I also tested the IOShield after and it still is working.

Am I not sure what to try next.

Thanks again for the help