NEW StrangeBrew Elsinore Thread | Page 31 | HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Homebrew Talk

Help Support Homebrew Talk by donating:

  1. Dismiss Notice
  2. We have a new forum and it needs your help! Homebrewing Deals is a forum to post whatever deals and specials you find that other homebrewers might value! Includes coupon layering, Craigslist finds, eBay finds, Amazon specials, etc.
    Dismiss Notice

NEW StrangeBrew Elsinore Thread

Discussion in 'Electric Brewing' started by DougEdey, May 18, 2014.

 

  1. JayElDubya

    Well-Known Member

    Posted Jun 9, 2015
    Crudely tossed together a modified schematic. See attached.

    fet2edit.gif
     
  2. jangevaa

    Well-Known Member

    Posted Jun 9, 2015
    I think you're better off just using a single DPDT master power relay for both hots. If you want you can make your raspberry pi bypass this master power relay and have it's own switch.
     
  3. TechyDork

    Dork of all Tech  

    Posted Jun 9, 2015
    Also with a smaller in closure i would think you would want to limit the number of SSRs you have to limit the amount of heat produced. I would think 2 SSRs in such a small box could get pretty warm. Do you think that may cause issues with the Pi or BBB getting hot as well?

    Just thinking out loud. Maybe they won't put off too much heat.
     
  4. FuzzeWuzze

    I Love DIY

    Posted Jun 9, 2015
    I do have a 40A DPDT contactor that i am using as my main power control, similar to what you and almost everyone else does, is that what you mean?
     
  5. FuzzeWuzze

    I Love DIY

    Posted Jun 9, 2015
    I would likely put in a small fan on the side and drill a few exit holes on top, not sure though if at that point i may as well just go to the plastic box with more space because its not going to be waterproof with holes in it lol..
     
  6. jangevaa

    Well-Known Member

    Posted Jun 10, 2015
    This should probably be in it's own thread or something... but yes that is what I mean.

    More specifically:
    -Use a 2-way switch to activate the coil of a master power relay (30a+ DPDT)
    -Use a 2-way switch to turn the raspberry pi on/off (bypass the master power relay for this circuit)
    -Use a 3-way switch to select between your 2 elements (use on the GPIO circuits)

    For the budget conscious build I'd recommend cheap toggle switches, no lights, and no displays (assuming you can use some other electronic device to control your brewery).

    Assuming you size your GFI breaker correctly, that will give you further overcurrent protection. To further increase safety I would say get high quality SSRs, monitor their temperatures, and be confident in how your entire brewery is grounded. A high quality SSR under proper temperatures is incredibly reliable... like "mean time before failure" in the range of millions or even 10s of millions of operation hours...
     
  7. FuzzeWuzze

    I Love DIY

    Posted Jun 10, 2015
    Alright one final question related, if im externally mounting my heatsinks for 4 SSR's, what should i do for monitoring temps? Have 1 additional thermal probe for each Heatsink?
     
  8. jangevaa

    Well-Known Member

    Posted Jun 10, 2015
    If the heat sinks are externally mounted I really don't think you'll ever run into problems unless you have a straight up faulty SSR.

    Definitely a good idea to place a temp sensor between them or something just in case. I'll be taking this approach when I redo my panel in the near future
     
  9. FuzzeWuzze

    I Love DIY

    Posted Jun 11, 2015
    Wait, why do you need all that to control two SSR's from one GPIO? You cant just wire up two seperate SSR's +5V to the same GPIO?
     
  10. JayElDubya

    Well-Known Member

    Posted Jun 11, 2015
    It's a current loading issue. The Raspberry Pi uses 3.3V GPIO pins (which you should generally limit to a load of 16mA) and the 3.3V supply rail is limited to 50mA total. Some people (myself included) have had success directly powering an SSR off of the GPIO pin but I've only ever run one at a time. By using a buffer circuit (in this case some logic-level FETs) you can switch as much as you want and just use the RPi as the signaling device.
    My Crydom SSR can pull up to 15mA which is about as much as I'd want to put on a GPIO pin. With 2 SSRs simultaneously turned on without a buffer, you'd be stressing one GPIO pin. With 3 SSRs total being turned on without a buffer, even if they were all on different GPIO pins, you'd be reaching the limit of the whole 3.3v rail.

    With a FET as a buffer, you'd only be pulling 250 uA (barely anything) per GPIO pin on the Raspberry Pi but you'd be able to switch up to 10A of a 5V or 12V signal...more than enough for what we're talking about here.


    Here's the relevant section from the BCM2835 datasheet on the Raspberry Pi if you need it.

    -Josh
     
    jangevaa likes this.
  11. doug293cz

    BIABer, Beer Math Nerd, ePanel Designer, Pilot Staff Member  

    Posted Jun 11, 2015
    Pardon if I butt into the discussion, but why is the FET second stage even needed for the buffer/level shifter? Couldn't you get enough current gain, and a little voltage boost with just the NPN transistor?

    Brew on :mug:
     
  12. FuzzeWuzze

    I Love DIY

    Posted Jun 12, 2015
    Decided to mount 2 heatsinks external and just leave one of the hots on as it seems thats what a lot of people Jang included do.

    Found this heat sink which by my calculations should fit 2 SSR's fine and have enough room to mount to the box, after this and buying a tapping set at Harbor freight ill only be out 30 bucks or so(and have a tapping set for future use!)

    http://www.amazon.com/gp/product/B00N419ABM/?tag=skimlinks_replacement-20
     
    Last edited by a moderator: Oct 23, 2018
  13. JayElDubya

    Well-Known Member

    Posted Jun 12, 2015
    Yes, I was just working with the circuit diagram I had, buffer not necessary, a single fet will suffice. My main point is don't drive too much directly from the gpio. Cheers. :)
     
  14. HiImBrian

    Well-Known Member

    Posted Jun 12, 2015
    I don't want to hijack this thread, but I noticed that some people in here have used the RioRand DS18b20 and overall this thread looks to be full of some very electrically technical people. If you wouldn't mind taking a gander at my thread over here I would greatly appreciate it!
     
  15. SilverZero

    Well-Known Member

    Posted Jun 12, 2015
    Replied, hope it helps.
     
    HiImBrian likes this.
  16. blitzer

    Active Member

    Posted Jun 13, 2015
    Hi guys,
    working on my control panel, 100 litres single vessel E-biab system with automatic mash stirrer (speed regulated) and dual control, auto mode via Elsinore for total automation and manual mode via a couple of SCR.

    I'm a little in doubt to post schematics, because
    1) i have to test it
    2) it's for Italian 230v (one 230v hot and one neutral phase, similar to Uk i think)

    However...here some pics of the panel

    [​IMG]

    Working in progress
    [​IMG]


    As said by others i prefer not use direct gpio to fire ssr, used a bc337 and it works perfectly

    [​IMG]


    P.s.- I've used dual elements for costs and power distribution, also because in italy we have standard 3kw contracts for energy, i've upgrade to 4,5kw but i can't afford a 6kw to use a single camco elements
     
  17. doug293cz

    BIABer, Beer Math Nerd, ePanel Designer, Pilot Staff Member  

    Posted Jun 14, 2015
    Nice looking panel!

    Couple of items on your schematic:
    1. The "Element Power On" light (BL1 in your schematic) needs to be in parallel with the element, not in series.
    2. I wouldn't recommend driving a high current relay/contactor from a PID. Mechanical contacts have a much lower cycle life than SSR's. I have included a schematic below that buffers the GPIO output to drive an SSR. The 180 ohm resistor should give something on the order of 20 mA to drive the SSR.

    RPi Buffer to SSR.PNG

    Brew on :mug:
     
  18. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    jumping into this project for the first time. i have everything up and running with one temp probe at the moment as im trying to figure everything out. i see a few posts back that everyone is having a similar issue to mine where i try to add a switch and even though it says it shows up on the ui i get a message saying: Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping

    I also see that they all reverted back to a previous commit to solve the issue. is this still necessary or am i missing something?
     
  19. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    jumping into this project for the first time. i have everything up and running with one temp probe at the moment as im trying to figure everything out. i see a few posts back that everyone is having a similar issue to mine where i try to add a switch and even though it says it shows up on the ui i get a message saying: Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping

    I also see that they all reverted back to a previous commit to solve the issue. is this still necessary or am i missing something?
     
  20. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    im at a loss i cannot figure out how to proceed from here. I think something is missing in my rpi but i cant even find a glimmer of hope even on google.

    my most recent error:
    Code:
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    java.lang.RuntimeException: Tried to change pin 22 but failed to write: 1, got 0
    	at jGPIO.GPIO.writeValue(GPIO.java:212)
    	at jGPIO.OutPin.setValue(OutPin.java:32)
    	at jGPIO.OutPin.setValue(OutPin.java:21)
    	at com.sb.elsinore.devices.OutputDevice.setValue(OutputDevice.java:113)
    	at com.sb.elsinore.devices.OutputDevice.turnOff(OutputDevice.java:59)
    	at com.sb.elsinore.OutputControl.run(OutputControl.java:88)
    	at java.lang.Thread.run(Thread.java:724)
     
  21. DougEdey

    Well-Known Member

    Posted Jun 14, 2015
    Are you running as root?
     
  22. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    Yep

    here is my full output after firing it up.

    Code:
    [email protected] ~/SB_Elsinore_Server $ sudo ./launch.sh
    Starting Elsinore as root
    Jun 14, 2015 4:37:53 PM com.sb.elsinore.LaunchControl main
    INFO: Running Brewery Controller.
    Jun 14, 2015 4:37:54 PM com.sb.elsinore.LaunchControl getShaFor
    INFO: Checking for sha for HEAD
    Jun 14, 2015 4:37:54 PM com.sb.elsinore.LaunchControl getShaFor
    INFO: 48fd601be79c5fe24cf59f185ceea26568ea82cd
    Jun 14, 2015 4:37:54 PM com.sb.elsinore.LaunchControl main
    INFO: Currently at: 48fd601be79c5fe24cf59f185ceea26568ea82cd
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl readConfig
    INFO: CFG IS NULL
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseXMLSections
    INFO: Checking section general
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseXMLSections
    INFO: Checking section switches
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseXMLSections
    INFO: Checking section phSensors
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseXMLSections
    INFO: Checking section device
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: Parsing XML Device: 28-0314685b9bff
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: min: [min: null]
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: Not enough volume data points, 0 found
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.Temp <init>
    INFO: Adding28-0314685b9bff
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.Temp <init>
    INFO: 28-0314685b9bff added.
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl startDevice
    INFO: Adding 28-0314685b9bff Heat GPIO is (GPIO17)
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.LaunchControl startDevice
    INFO: Adding 28-0314685b9bff Cool GPIO is (GPIO22)
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.Temp setScale
    WARNING: Cut off is: -999
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.Temp setScale
    WARNING: Cut off is now: -999
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.PID detectGPIO
    INFO: GPIO17 Matches: 3
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.PID detectGPIO
    INFO: Direct GPIO Pinout detected. OS: null
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.PID detectGPIO
    INFO: GPIO22 Matches: 3
    Jun 14, 2015 4:37:55 PM com.sb.elsinore.PID detectGPIO
    INFO: Direct GPIO Pinout detected. OS: null
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    Jun 14, 2015 4:38:20 PM com.sb.elsinore.PID run
    INFO: Running 28-0314685b9bff PID.
    Looking for: brcm_bcm2708
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    No definitions file found, assuming direct mapping
    Invalid options when setting up Hysteria: Min value is less than the max value
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.PID updateValues
    INFO: 0: 0: 0
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.PID updateValues
    INFO: 0: 0: 0
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl savePID
    INFO: Saving the information for 28-0314685b9bff
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl savePID
    INFO: Using base node device with ID 28-0314685b9bff
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on device
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of cycle_time
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of proportional
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of integral
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of derivative
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of gpio
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of invert
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on heat
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of cool
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on device
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of cycle_time
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of delay
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:29 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of proportional
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of integral
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of derivative
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of gpio
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: Creating element of invert
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.LaunchControl addNewElement
    INFO: on cool
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.PID detectGPIO
    INFO: GPIO22 Matches: 3
    Jun 14, 2015 4:38:30 PM com.sb.elsinore.PID detectGPIO
    INFO: Direct GPIO Pinout detected. OS: null
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.PID run
    INFO: off
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl parseXMLSections
    INFO: Checking section device
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.PID run
    INFO: off: 28-0314685b9bff status: 68.1116000000000000000000000000000000000000000000000000 duty cycle: 0
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.OutputControl run
    INFO: Fduty: 0
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: Parsing XML Device: System
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: min: null
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.OutputControl run
    INFO: Fduty: 0
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl parseDevice
    INFO: Not enough volume data points, 0 found
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.Temp <init>
    INFO: AddingSystem
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.Temp <init>
    INFO: System added.
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl startDevice
    INFO: Adding System Heat GPIO is (null)
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl startDevice
    INFO: Adding System Cool GPIO is (null)
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.Temp setScale
    WARNING: Cut off is: -999
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.Temp setScale
    WARNING: Cut off is now: -999
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.LaunchControl <init>
    INFO: CONFIG READ COMPLETED***********
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.BrewServer <init>
    INFO: Launching on port 8080
    Jun 14, 2015 4:38:39 PM com.sb.elsinore.BrewServer <init>
    INFO: Enabled logging at level:WARNING
    
     
  23. DougEdey

    Well-Known Member

    Posted Jun 14, 2015
    All I know is that you're using inverted outputs, it's writing a 1 to GPIO 22 and getting back 0, maybe you have something else using that pin.

    Try a different pin.
     
  24. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    thats not the problem. those values were just used as a test. since it didnt work non-inverted either. ive deleted and reinstalled using git 3 times. i get similar results with every try. ive even used past commits. ive tried gpio 17 21 22 and 27. none of which work. i was getting errors in ui telling me that it couldnt set the gpio pins and to clear the setting. now i dont get anything from the ui as far as errors go. but when i try to set up a switch nothing happens and i get the bit about no definitions file found, assume direct mapping.

    I just changed the io pins to non-inverted and here is the output:

    Code:
    Jun 14, 2015 5:01:34 PM com.sb.elsinore.UrlEndpoints editVessel
    WARNING: Updated temp name 28-0314685b9bff
    Jun 14, 2015 5:01:34 PM com.sb.elsinore.UrlEndpoints editVessel
    WARNING: Updated PID Name28-0314685b9bff
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    Looking for: brcm_bcm2708
    No definitions file found, assuming direct mapping
    
     
  25. DougEdey

    Well-Known Member

    Posted Jun 14, 2015
    Ok, this would have been nice to have been told...

    But again, there's nothing I can see that's wrong, try to manually write to the pins to see if they work outside of Elsinore.
     
  26. TechyDork

    Dork of all Tech  

    Posted Jun 14, 2015

    Have you tried starting completely from scratch with a fresh format of the SD card and install of a fresh copy of the OS?
     
  27. wbarber69

    Well-Known Member

    Posted Jun 14, 2015
    thats my only option at this point. ive gotten the ssr to fire off somehow. but when i set it to off, the ssr starts blinking on and off
     
  28. blitzer

    Active Member

    Posted Jun 15, 2015
    Sorry about that misunderstanding! This is a generic scheme from the internet, in my case i use the bc337 to fire directly 5v to ssr instead of a relay
     
  29. FuzzeWuzze

    I Love DIY

    Posted Jun 17, 2015
    Did you ever get it figured out? Im going to be building up my panel here this next week so i'd like to know if im going to have issues!
     
  30. wbarber69

    Well-Known Member

    Posted Jun 17, 2015
    I got it working in mock up. I'm using a crydom ssr hooked up to some reptile tape for duty cycle testing. So far it's working right. My only concern is with the way the gpio handles it's state when not called upon. I also have a 2channel relay board hooked up for switches and when Elsinore isn't running it's like the pins are producing a small amount of current, almost like it's between inverted and not inverted. The ssr board dimly lights up on both channels until the jar file fires up, then it behaves appropriately. Also I have a major concern with using the pi to drive SSRs directly. I don't know if it's a usual occurrence but I advise not hooking up the mains power to the ssr until you setup the pid in the software then REBOOT before trying to use the ssr. Every time I tried to setup the pid I'd get pulsing on the ssr pin until I totally shut down the system and then restarted. And that is a big no no in my book. I thought it was because I was using a known bad ssr because it had an activity led built in. But it was, in fact, the gpio pulsating for no ****ing reason, even if I turned it off and shutdown Elsinore. I am going to drive the ssr with a fet or tranny like is recommended but even so I think I'll have to write up a small script that waits until Elsinore is loaded to trip a main relay so I don't have as much worry of dry firing or something worse.
     
  31. wyzazz

    Well-Known Member

    Posted Jun 17, 2015
    I wonder if something isn't wrong with the hardware in your PI? Mine does not behave like this at all.
     
  32. DougEdey

    Well-Known Member

    Posted Jun 17, 2015
    This is standard on almost all boards, pins are not initialized by default and they are floating.

    This is electrical safety 101... Never make a system live until you are going to use it.

    Unless you have Elsinore (or another script) setup to run at boot, the GPIOs will go back to floating.

    Which mode of Pi are you using? I wonder if there's hardware changes.

    Again, this is what happens with all GPIO pins in my experience, they aren't designed to be initialized on startup (you can initialize to IN, OUT, various PWM/I2C modes, etc...)

    Never ever plug the mains in, or use a kill switch when the system is not in use. Electrical safety 101.
     
  33. TechyDork

    Dork of all Tech  

    Posted Jun 17, 2015
    I would highly recommend that you have a switch to kill all power to the SSR/element/pump when not in use. You could put a switch on the control signal wire from the GPIO to the SSR, or switch the main power to the element.

    In my system i am controlling the SSRs directly from the GPIO pins on my Pi. I have a three position switch ON OFF ON, that kills the power to the contactors for the HLT and BK elements. Only one element can run at a time and when the switch is off no power is flowing to either element on either leg of the 220 because the contactors are both open.

    See theelectricbrewery.com for more info, that is what i based my build off.

    If no power is getting to the load side of the SSR then there is no danger of the element firing during startup of the Pi.
     
  34. wbarber69

    Well-Known Member

    Posted Jun 17, 2015

    Floating is one thing. Randomly pulsing on and off is another. Especially after initialization. And while I know better than to have the system powered up without a controller I don't have issues like this from arduinos. Yes the pins "float" but not like this. I'm using a b+ rev 1.2 for my testing. I've never actually used a pi for the controlling part of anything before. I've stuck to systems where the pi calls for an arduino to do all the heavy lifting and just logs the data or fires off scripts to have the arduinos act upon. My concern is with the SSRs. If something locks up or reboots out of turn and you forget to shut the power off you could do a lot of damage. What I'm envisioning a simple check to see if Elsinore is running then trip a safety relay so no power is given to the other relays until it's active. I'm using mypin pids right now and I have a safety switch for each element and main power and I still sometimes forget to turn something on or off from time to time. It's a lot different with just about everything moving over to a touchscreen display. I'd like the peace of mind of knowing that there will be something in place to handle that. Maybe one day it could be written in to the main Elsinore code itself. Just a single gpio to handle tripping a 2 or 3 pole mechanical relay for mains power. Other than these issues I've had, I can say that I'm impressed with all the work you've put in. Waiting on some things to arrive from China, and was thinking about how I could go about using a sonic sensor to read water levels. I don't know if it was ever an idea you thought of before going the air bubbler route. The way you have it setup now requires an analog one wire device that is no longer being produced. And the sonic sensors are digital. I didn't see anywhere in the ui where I could use a digital io for this.
     
  35. DougEdey

    Well-Known Member

    Posted Jun 17, 2015
    Unfortunately I don't have unlimited money, this is free software, and things take time to be done. However, it is open source, so you're more than welcome to contribute to the project.

    The problem with sonic ranges is the steam gets in the way, and the surface bubbles reducing accuracy during a boil.

    As for your other points, no-one else has reported this issue except for you, maybe your SSRs are more tolerant of the range provided by the floating GPIOs, many people use logic level converters, FETs and other things, however, I'm not an EE, so I cannot advise.
     
  36. wbarber69

    Well-Known Member

    Posted Jun 18, 2015
    I fully intend to use fet's and proper resistors and such once I start the build out. But this pulsing io is a bit puzzling to me. Since I started from scratch and wiped everything out figuring it was some kind of bug. But it carried over to the new setup. As far as using the sonic range sensor. I was intending to put it facing down a sightglass. I already know it's not necessarily gonna work. Just an idea. And I never intended to use it in the boil just in my hlt. And maybe down the road something similar in the mlt so I could eventually use it to control the pumps for precision fly sparging.
     
  37. JayElDubya

    Well-Known Member

    Posted Jun 18, 2015
    Have you tried putting a small filter cap on the io pin to ground? That might help with the flutter.
     
  38. FuzzeWuzze

    I Love DIY

    Posted Jun 18, 2015
    Maybe some sort of magnetic hall sensor outside the sight glass reading a magnetic sensor floating inside? Probably more work than a sonic one...
     
  39. FuzzeWuzze

    I Love DIY

    Posted Jun 18, 2015
    Another weird question for others, i am pretty sure im going to do it regardless but i figured i'd check

    Based on how my box is sized and where my power cord comes in i cant really use the cable relief that came with the cord...

    My plan was to get the cable into place(it barely fits through the hole i drilled) and jbweld the **** out of it to the box from the inside, which should be as strong or stronger than the cable relief? I mean im mounting the box to a stand eventually so it will never move, i guess it just needs to be trip proof to some extent but with ring connectors on the end going to a terminal block + jbweld i fail to see how it could possibly fail even if i held the cable and threw it off a building.
     
  40. Mikeliverpooluk

    Active Member

    Posted Jun 18, 2015
    With regard to the pulsing relays mine does the same thing. I'm running a pi 2 I have 2 ssr's and 4 mechanical relays. The pulsing only occurs when I apply a gpio to a relay when I am setting the whole system up for the very first time. It is a very regular pulsing 1 second on 1 second off. As soon as a reboot and on all subsequent on/offs it doesn't happen again. So as it only occurs when I first set Elsinore as a fresh install up it doesn't worry me. I have now done 2 brews with Elsinore and my beer is currently in the kegerator being held at a tasty 8.0c !elsinore has not been switched off for about 2 months.

    On a safety not - I never turn the master switch to power my elements until I am happy everything I'd functioning correctly

    Happy brewing

    Mike
     
Draft saved Draft deleted

Share This Page

Group Builder