reef-pi :: An opensource reef tank controller based on Raspberry Pi.

Currently the temperature controller allows outlets, so, you can turn on/off fans using it, but it wont be variying speed... I had thought about it, but it didnt felt necessary, neither I am aware of anything or anyone who uses it that way (variable fan speed with temperature controller)

Right, I was just thinking my particular use case. The tank is in my bedroom, so I'd like to keep noise to a minimum. If turning a fan on a little will do, then it would be awesome to be able to do so. Since there's already PWM support in reef-pi, and there are plenty of computer case fans out there that are PWM controllable I thought I'd throw it out there. The way I envision it working is that the temp is polled and instead of flipping an outlet on or off, it would send out a PWM signal on whatever pin has been defined.

Example:

If being used to cool a tank we've defined as having an upper acceptable temperature limit of 79.5 degrees, once that 79.5 degree threshold has been reached, the fan turns on @ 30% speed. If it increases another .2 degrees the speed ramps up to 60%. If that doesn't do it and it hits 80 degrees the fan ramps up to 100%.

A similar setup could be used with the fans in a light fixture, just with a baseline speed of, let's say 30% to supply constant airflow. As the ambient temp increases inside the fixture, the fan speed ramps up.

As I said, I'm just throwing ideas around of the sort of thing I personally would find useful in the future.
 
So just for documentation purposes, in case anyone runs into the same thing...
It appears that I have resolved my relay issues (fingers crossed for more testing). I bonded the grounds together between my pi and the GND from the separate 5v supply I have for my 8-channel board. All seems to be happy for the moment.
This may only be an issue because of the other board that I am using, as it really doesn't seem like others are running in to this.

Ranjib, the new mods that you have made may resolve the issue, but have you had any thoughts as to why the timer and equipment tabs appeared to have reverse logic from each other? Also may be related to the temp control issues that AshwinRavi and I have been seeing?
 
So just for documentation purposes, in case anyone runs into the same thing...
It appears that I have resolved my relay issues (fingers crossed for more testing). I bonded the grounds together between my pi and the GND from the separate 5v supply I have for my 8-channel board. All seems to be happy for the moment.
This may only be an issue because of the other board that I am using, as it really doesn't seem like others are running in to this.

Ranjib, the new mods that you have made may resolve the issue, but have you had any thoughts as to why the timer and equipment tabs appeared to have reverse logic from each other? Also may be related to the temp control issues that AshwinRavi and I have been seeing?

This is what I'll be looking into next..
 
Not sure if it helps...I did not have anything selected in the cooler until just now, so I set it like AshwinRavi had. Here are some grabs
upload_2017-10-12_17-25-15.png

upload_2017-10-12_17-25-35.png

upload_2017-10-12_17-25-58.png
 
Right, I was just thinking my particular use case. The tank is in my bedroom, so I'd like to keep noise to a minimum. If turning a fan on a little will do, then it would be awesome to be able to do so. Since there's already PWM support in reef-pi, and there are plenty of computer case fans out there that are PWM controllable I thought I'd throw it out there. The way I envision it working is that the temp is polled and instead of flipping an outlet on or off, it would send out a PWM signal on whatever pin has been defined.

Example:

If being used to cool a tank we've defined as having an upper acceptable temperature limit of 79.5 degrees, once that 79.5 degree threshold has been reached, the fan turns on @ 30% speed. If it increases another .2 degrees the speed ramps up to 60%. If that doesn't do it and it hits 80 degrees the fan ramps up to 100%.

A similar setup could be used with the fans in a light fixture, just with a baseline speed of, let's say 30% to supply constant airflow. As the ambient temp increases inside the fixture, the fan speed ramps up.

As I said, I'm just throwing ideas around of the sort of thing I personally would find useful in the future.
Ideas are always welcome :-), they worth a million.
early in reef-pi development , similar things were brought up. I introduced an PID controller (a generic version of the logic you mentioned) , but I did not get time to integrate it with the actual sub-systems (temperature, ato etc) . My priority was to get the downstream electronics (i.e. converting 5v pwm to any arbitrary pwm, say 12 or 10v) was not sorted out. This has been fixed now... and I am fixing all the bugs I can think of (and impacts reef-pi significantly) .
Keep them coming!
 
Not sure if it helps...I did not have anything selected in the cooler until just now, so I set it like AshwinRavi had. Here are some grabs
upload_2017-10-12_17-25-15.png

upload_2017-10-12_17-25-35.png

upload_2017-10-12_17-25-58.png
This looks right,
What is the GPIO pin for outlet5 ? Does it turn on?
 
This looks right,
What is the GPIO pin for outlet5 ? Does it turn on?
My outlet5 is on GPIO19.
I think I am confused on how this looks right, since I have the heater selected as the cooling device, but it is turning the heater off. Wouldn't it turn the cooling device on for the cooldown routine?
 
Playing around with it, is seems to be doing the same as the timers (assuming a NO relay) and setting pin to 1, and turning it off instead of On.
Though the equipment tab seems to know that a value of 1 is off, because it is changing the buttons accordingly.
Before this event, all outlets were set to ON in the equipment tab
upload_2017-10-12_20-8-28.png

upload_2017-10-12_20-8-49.png
 
But in this situation I have the heater (outlet3) set as the cooler. So shouldn't that be on during cool down?
Sorry to keep pushing this if I am wrong, it just isn't making sense to me.
I think I understand now your confusion:-)
‘Cooler’ in reef-pi log is not an equipment name, it’s the label ‘cooler’ as represented in the ui. It won’t change , irrespective of what you assign as equipment.
I’ll advice to start with a clean slate, and remove confusing name or assignment , and then see the log , then it might make sense
 
I understand the cooler part, as the "equipment" that is doing the cooling (outlet5, GPIO21, heater, blast freezer, whatever)
The part that I am confused about is if it is turning the "cooler" on, it brings that pin high, in this case GPIO21 (state: 1)
But, the Equipment reads state 1 as Off, therefore the tab is switching to Off in the Equipment window.

Also, is there any hysteresis built into the temperature control. Would it be possible to have the routine turn back off at whatever the midpoint is between the upper and lower thresholds? That way we don't cycle off/on every 0.1 degree around that point?
 
I have just cut a new release. This one brings handful of bug fixes and couple of features:
  • Feature: Support NC/NO relay configuration per outlet
  • Feature: Implement controller health check (cpu & memory)
  • Bugfix: Validate equipment and outlets in use across subsystem before deleting
  • Bugfix equipment caching related bug in temperature controller. Improve logging
release packages can be found in usual location: https://github.com/reef-pi/reef-pi/releases/tag/0.6
 
I have just cut a new release. This one brings handful of bug fixes and couple of features:
  • Feature: Support NC/NO relay configuration per outlet
  • Feature: Implement controller health check (cpu & memory)
  • Bugfix: Validate equipment and outlets in use across subsystem before deleting
  • Bugfix equipment caching related bug in temperature controller. Improve logging
release packages can be found in usual location: https://github.com/reef-pi/reef-pi/releases/tag/0.6
New release is up and running.
The validations are working very well, this should definitly help the overall system health.
Also, I really like the color change on the On/Off for the equipment tab. I think that it relays the pertinent information better.
Thanks again for all of your work.
 
Another future feature thought (still just throwing things against the wall to see what sticks).

An "End of Day" override.

What I mean is this:

There may be times where you want to turn the lights off for the remainder of the day (as I've said, the tank will be in my bedroom), rather than the schedule continuing as entered, and want the schedule to resume the following day. It would be useful to have a button to press than ramps the lights down over the next "insert user-defined time here" (maybe 1 minute, maybe 90 seconds, could be 5 minutes; as long as it's user-definable it's fine), ignores the schedule for the remainder of the day, and picks back up on the schedule the next day.

Just a software button on the control panel of the web interface would be fine for me since I plan on having a touchscreen near the tank, but if one of the GPIO pins were used to monitor a momentary switch, that could be even more useful. Maybe have some validation on it, like it would only ramp down if the button were held for 5 seconds to eliminate accidental presses.

As I said before, just throwing ideas out there that I would find useful to see if anyone else could use the functionality.
 

IF YOU HAD TO TAKE A REEFING EXAM, WOULD YOU PASS?

  • Yes!

    Votes: 32 45.7%
  • Not yet, but I have one that I want to buy in mind!

    Votes: 9 12.9%
  • No.

    Votes: 26 37.1%
  • Other (please explain).

    Votes: 3 4.3%
Back
Top