HOWTO - Make a BrewPi Fermentation Controller For Cheap

HomeBrewTalk.com - Beer, Wine, Mead, & Cider Brewing Discussion Community.

Help Support Homebrew Talk:

Status
Not open for further replies.

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
Well, knew this was all too easy. Got everything wired, got Raspbian Weezy installed without a problem, got Brewpi installed, then headed to the web interface... and nada. Attempted to upload the RevC sketch to my attached Uno R3, and...

PHP:
wpa_supplicant: /sbin/wpa_cli daemon failed to start
run-parts: /etc/network/if-up.d/wpasupplicant exited with return code 1
**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Warning: Cannot receive version number from %(a)s. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in Warning: Cannot receive version number from %(a)s. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in 
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'
Mar 31 2015 18:14:05 Error opening serial port. Trying alternative serial port /dev/ttyACM1.
([Errno 2] No such file or directory: '/dev/ttyACM0')
Mar 31 2015 18:14:05 Notification: Script started for beer 'My First BrewPi Run'
Mar 31 2015 18:14:47 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino
And that's pretty much it. Tried resetting, tried rebooting the Pi, tried flashing the Uno with the base sketch to clear it... nada, nothing.

Help?
 

wbarber69

Well-Known Member
Joined
Oct 13, 2013
Messages
2,191
Reaction score
263
It looks like your Wi-Fi is borked and your arduino isn't connected or its showing up as a usb and not ttyacm
 

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
There's no wifi - got it attached via ethernet cable. Is wifi a prerequisite?

(I did have the wifi chron enabled, but just did a fresh wipe and reinstall of everything, and this time declined that - same issue (only without the opening serial port error, that was my screwup).

The Uno is a proper Arduino-branded R3, not a cheap ebay one. USB cable connecting it is a high end one with gold plated connectors, and has never given me a jot of trouble. That said, disconnected it, and wiped the Arduino via the IDE. Zeroed the EEPROM, and wrote the barebones sketch. Same problem. Wiped and fresh install again - prior to installing BrewPi again, tried installing some sketches to the Uno and had zero issues - as far as IDE is concerned, it's working properly. So zeroed and barebonesed it again - and still the same problem.

Am about to throw the @!#$# thing through the window, this is driving me @#[email protected]# mental. And have been wrestling with it for six hours now.
 

wbarber69

Well-Known Member
Joined
Oct 13, 2013
Messages
2,191
Reaction score
263
Type this into terminal and tell us what it says (without the quotation marks)
"ls /dev/ttyACM*"
 

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
*smacks self in face*

Pay attention, ubermick, and read the damn errors - no such file in the Arduino directory. Then use google. Seems a few people had the same issue (even reported in this thread) in that the Arduino core wasn't getting downloaded.

So did another fresh install, this time adding a quick sudo apt-get install arduino-core after the sudo apt-get update, and that did the trick.

All up and running now.
 

lumpy5oh

Well-Known Member
Joined
Nov 24, 2012
Messages
126
Reaction score
13
Location
Woodstock
I'm thinking of doing pressurized fermentations and was wondering if anyone else has with the brewpi. I was thinking of taping and insulating the beer sensor on the side of the keg. Just not sure if the keg would be more like ambient temp as opposed to beer temp.
 

gromitdj

Well-Known Member
Joined
Feb 7, 2008
Messages
1,550
Reaction score
532
Location
Orange County
I'm thinking of doing pressurized fermentations and was wondering if anyone else has with the brewpi. I was thinking of taping and insulating the beer sensor on the side of the keg. Just not sure if the keg would be more like ambient temp as opposed to beer temp.
I did an experiment with mine and posted the results earlier in the thread here. If the temp probe is insulated from ambient well enough, the temp readings are surprisingly close to what is achieved with a thermowell.
 

diatonic

Well-Known Member
Joined
Jan 12, 2009
Messages
716
Reaction score
12
Location
Boise, ID

Borisfa

Well-Known Member
Joined
Oct 28, 2013
Messages
99
Reaction score
1
Location
Belo Horizonte
People, ever after clean my Arduino Uno (EEPROM_clear or a simple sketch (// Emtpy Sketch to fix upload problem - se below) I still receiving. How to fix it?

**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Warning: Cannot receive version number from %(a)s. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'



// Emtpy Sketch to fix upload problem
// Create by Eric Phenix
// Nov 2014

void setup()
{
}

// the loop routine runs over and over again forever:
void loop()
{
delay(1000);
}
 

Borisfa

Well-Known Member
Joined
Oct 28, 2013
Messages
99
Reaction score
1
Location
Belo Horizonte
After use "echo -ne 'E\n' > /dev/ttyACM0" my problem now is...


**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Checking current version: Found BrewPi v0.2.4, running commit 2a6f7f05 build 40, running on a Arduino Uno with a revC shield on port /dev/ttyACM0


Requesting old settings from Arduino...

Saved old settings to file oldAvrSettings-Apr-05-2015-22-23-07.json

Loading programming settings from board.txt

Checking hex file size with avr-size...

Program size: 25766 bytes out of max 32256

Programming Arduino with avrdude: /usr/share/arduino/hardware/tools/avrdude -F -e -p atmega328p -c arduino -b 115200 -P /dev/ttyACM0 -U flash:w:"brewpi-uno-revC (2).hex" -C /usr/share/arduino/hardware/tools/avrdude.conf

result of invoking avrdude:

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f
avrdude: erasing chip
avrdude: reading input file "brewpi-uno-revC (2).hex"
avrdude: input file brewpi-uno-revC (2).hex auto detected as Intel Hex
avrdude: writing flash (25766 bytes):

Writing | ################################################## | 100% 4.96s

avrdude: 25766 bytes of flash written
avrdude: verifying flash memory against brewpi-uno-revC (2).hex:
avrdude: load data flash data from input file brewpi-uno-revC (2).hex:
avrdude: input file brewpi-uno-revC (2).hex auto detected as Intel Hex
avrdude: input file brewpi-uno-revC (2).hex contains 25766 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 3.93s

avrdude: verifying ...
avrdude: 25766 bytes of flash verified

avrdude done. Thank you.



avrdude done!

Giving the Arduino a few seconds to power up...

Back up in 5...

Back up in 4...

Back up in 3...

Back up in 2...

Back up in 1...

Back up in 0...

Waiting for device to reset.

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 228, in program
while retries and self.ser:
AttributeError: ArduinoProgrammer instance has no attribute 'ser'
 

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
Borifsa, you're having the exact same problem I had. Your BrewPi doesn't have the Arduino Core installed.

Do a fresh install on your Pi, and as soon as the OS is installed, type

sudo apt-get install arduino-core

when that's done type

sudo apt-get update

then install BrewPi. That should solve it.
 

Borisfa

Well-Known Member
Joined
Oct 28, 2013
Messages
99
Reaction score
1
Location
Belo Horizonte
I will try.

Borifsa, you're having the exact same problem I had. Your BrewPi doesn't have the Arduino Core installed.

Do a fresh install on your Pi, and as soon as the OS is installed, type

sudo apt-get install arduino-core

when that's done type

sudo apt-get update

then install BrewPi. That should solve it.
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
I'm having some strange issues that hopefully someone can help me out with.

First of all, my script stops running about every 20 seconds, then quickly goes back to normal. I'm not sure if the script is actually stopping, but the GUI / Browser thinks it is. It gives me the "Script Not Running" "Cannot receive LCD text from Python Script. Even though it's doing this, it still kept my brew at the desired temp for the first 5 days. (65 degrees)

But I wanted to bump my beer temp up a degree a day after that, and it isn't able to do it. It was able to go to 67 but now it's stuck at 67...even though I have it set at 68. Even if I ditch the beer profile and set it to "Beer Constant" at 68, it won't go above 67.1 degrees. It seems like the heater turns on for a very short time, then idles for 30 minutes or more before it turns on again.

Under the “Beer” column, the Fridge “Row” shows 72.1 degrees. Under the “Const.” column, the Fridge Row shows 72.5 degrees. I have the fridge temp max set at 100 also.

Does anyone have any ideas? Thanks in advance if you do!
 

Mikmonken

Well-Known Member
Joined
Mar 28, 2013
Messages
423
Reaction score
101
The first point could be down to the browser, I have this issue with Safari, try chrome you might have better luck, Brewpi will operate fine logging etc works it's to do with the browser (it also happens with opera I think)

Not sure on the second point. But I think it has a set number of degrees it can be apart so if you raise the upper limit but don't adjust the lower limit by the same amount that might cause it. I'm sure I read that on a post somewhere in the old Brewpi forum when someone was asking about using it to control mash temp.
 

wbarber69

Well-Known Member
Joined
Oct 13, 2013
Messages
2,191
Reaction score
263
Changing the upper limit to 100 does more than just set a high point barrier. It also changes the way the algorithm works. Jump on the pi itself and use the built in browser. You are most likely using an iPhone or iPad when you are having this issue. Ie works fine, Firefox works fine, and chrome works reasonably well, but safari can't handle all the data. I have the same issue when I view from my iPhone. The arduino runs the script continuously whether the pi is attached or not so its no problem for the arduino to keep the temp right.
 

batty

Member
Joined
Sep 30, 2010
Messages
93
Reaction score
8
Location
Manchester
...

First of all, my script stops running about every 20 seconds, then quickly goes back to normal. I'm not sure if the script is actually stopping, but the GUI / Browser thinks it is. It gives me the "Script Not Running" "Cannot receive LCD text from Python Script. Even though it's doing this, it still kept my brew at the desired temp for the first 5 days. (65 degrees)

But I wanted to bump my beer temp up a degree a day after that, and it isn't able to do it. It was able to go to 67 but now it's stuck at 67...even though I have it set at 68. Even if I ditch the beer profile and set it to "Beer Constant" at 68, it won't go above 67.1 degrees. It seems like the heater turns on for a very short time, then idles for 30 minutes or more before it turns on again...
Very interesting. Long time lurker here, just got my system set up and exact same thing is happening to me - both browser cutout and temp offset. Doesn't mean they're related.

I'll have to check the browser issue when I get home - I've seen this on ice weasel (Debian) and chrome across a range of devices (phone and three different laptops), so I'm not fully convinced this is a browser issue- but probably just because I'm too stubborn to accept I didn't think of this myself.

The offset I believe is a PID optimization issue - what kind of chamber are you using? My working theory is that my system seems so wary of overshoot that it won't bring the temp any closer - it essentially thinks the 30 sec the heat was on should be plenty. And note for very short heat times they might not show up in the data if <30 sec went by. The "learning" part won't account for this since it only learns offset fridge-beer temp and not PID values.

In the short term try setting beer constant to 70 or more- my bet is you'll see the heat kick on more and start to move the temp.
 

Borisfa

Well-Known Member
Joined
Oct 28, 2013
Messages
99
Reaction score
1
Location
Belo Horizonte
Works!

Borifsa, you're having the exact same problem I had. Your BrewPi doesn't have the Arduino Core installed.

Do a fresh install on your Pi, and as soon as the OS is installed, type

sudo apt-get install arduino-core

when that's done type

sudo apt-get update

then install BrewPi. That should solve it.
 

batty

Member
Joined
Sep 30, 2010
Messages
93
Reaction score
8
Location
Manchester
Quick update on the issues I was seeing -

I confirmed the browser cutting out is consistent across devices (both phone and comp using chrome show no communication during the ~20-30 sec that it's out). This cutout occurs right when the cooling clicks on, but not every time. Not a huge concern of mine, but I admit I'm very curious.


I think I figured out part of the issues I was having with the offset - it looks like I get a clear 'dip' in beer temp every time the chiller kicks on. I'm sure this is due to the slug of air traveling down the diptube (I have a fan turning at the same time as the chiller). This dip is clearly throwing off the algorithm (note fridge setting spikes up) - the algorithm thinks the beer temp is moving quickly toward target, so the chiller cuts out. Until I can keep my fan on all the time (chamber insulation problems), I might try to plug the diptube opening to keep the beer temp probe better isolated.


That being said, I did have a chance to mess with my PID values a little bit and have definite improvement. I upped the Kp to 7, Ki to 0.75, and Kd to 0. I now have a little more over/under shoot (as would be expected) but no longer the offset (actively fermenting IPA had been 0.5 above setpoint for the last 12+ hours).



cheers! :mug:
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
The first point could be down to the browser, I have this issue with Safari, try chrome you might have better luck, Brewpi will operate fine logging etc works it's to do with the browser (it also happens with opera I think)

Not sure on the second point. But I think it has a set number of degrees it can be apart so if you raise the upper limit but don't adjust the lower limit by the same amount that might cause it. I'm sure I read that on a post somewhere in the old Brewpi forum when someone was asking about using it to control mash temp.
Thanks for the reply. The script not running issue happens from the Debian machine itself, not just from the browser on my remote computer. The browser I'm using on the Debian machine is Iceweasel. Even though it cuts in and out, it still seems to be working...so I'm not too terribly worried about it honestly, it's just strange. This is the 3rd batch I've brewed that I've used BrewPi, and this didn't happen with the first two batches.

What do you mean exactly when you say I have to adjust the lower limit if I raise the upper? The only thing that I've done is set the fridge temp to a maximum of 100 and minimum temp of 34...other than that I have not tweaked any of the default settings.
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
Changing the upper limit to 100 does more than just set a high point barrier. It also changes the way the algorithm works. Jump on the pi itself and use the built in browser. You are most likely using an iPhone or iPad when you are having this issue. Ie works fine, Firefox works fine, and chrome works reasonably well, but safari can't handle all the data. I have the same issue when I view from my iPhone. The arduino runs the script continuously whether the pi is attached or not so its no problem for the arduino to keep the temp right.
Thanks for the reply. This happens from the Debian machine itself using the Iceweasel browser. I do use a Mac and Safari to access it remotely, and the script stopping issue does happen remotely, but it also happens on the machine itself.

I think I probably did "break" something with the algorithm though when I tweaked the settings. Do you know what the stock settings were by chance?
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
Very interesting. Long time lurker here, just got my system set up and exact same thing is happening to me - both browser cutout and temp offset. Doesn't mean they're related.

I'll have to check the browser issue when I get home - I've seen this on ice weasel (Debian) and chrome across a range of devices (phone and three different laptops), so I'm not fully convinced this is a browser issue- but probably just because I'm too stubborn to accept I didn't think of this myself.

The offset I believe is a PID optimization issue - what kind of chamber are you using? My working theory is that my system seems so wary of overshoot that it won't bring the temp any closer - it essentially thinks the 30 sec the heat was on should be plenty. And note for very short heat times they might not show up in the data if <30 sec went by. The "learning" part won't account for this since it only learns offset fridge-beer temp and not PID values.

In the short term try setting beer constant to 70 or more- my bet is you'll see the heat kick on more and start to move the temp.
Thanks batty. This is happening with Iceweasel on the Debian machine itself. I'll try Chrome and see what happens. If it's just a browser glitch and not actually affecting anything, I can live with it.

I'm starting to think everyone is correct when they said it's a algorithm issue that I created when I changed the fridge max temp and minimum temp. It does seem like it's heating for a super short time so that it doesn't overshoot the desired temp. I will set the temp to 75 tonight and see if it starts climbing.

Thanks!
 

wbarber69

Well-Known Member
Joined
Oct 13, 2013
Messages
2,191
Reaction score
263
I think the original setting is around 83f I'd have to check when I get back home. Short heating times is not a problem necessarily. I use reptile tape for direct heating. With my fridge sensor tucked under the tape. Reptile tape can reach about 120f in less than 30 seconds. I'm currently using the stock pid settings and my heating times are in the seconds range. Once the "fridge" temp overshoots the beer setting by about 10 degrees it kicks off. This is more than enough heat to maintain temperatures. I figure it's not too much of a problem since the only times I'll really need to heat my fermenter is for a couple days after fermentation has finished to help the yeast clean up. But your results may vary
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
I think someone asked about this but I forgot to mention it...I'm using a refrigerator and the small heater that Fuzze and others recommended. I have the fridge temp probe hanging from the ceiling and the beer temp probe in a thermowell which goes directly into the carboy / beer.

I might try setting that back to 83 and see what happens. I have not heard of Reptile tape but that sounds interesting also. Definitely sounds like it would warm up the beer much faster than the heater I'm using.

Another interesting thing about my issue though, is that my chiller got the beer down to 61.5 degrees and I pitched the yeast at that temp. Then I set the beer profile using an older profile that used the last time. For whatever reason it immediately tried to take the beer to 68 degrees! It was at 65 before I noticed what was going on. I think that it might have done this because that profile's dates were in January. Since it is now April, maybe it thought that it should go straight to 68?? I'm not sure.

Either way, the heater was staying on a lot longer and cycling constantly while it was trying to obtain that temp quickly...but now, for whatever reason, it won't go above 67.1 even though it's set to 68.
 

Mikmonken

Well-Known Member
Joined
Mar 28, 2013
Messages
423
Reaction score
101
Thanks for the reply. The script not running issue happens from the Debian machine itself, not just from the browser on my remote computer. The browser I'm using on the Debian machine is Iceweasel. Even though it cuts in and out, it still seems to be working...so I'm not too terribly worried about it honestly, it's just strange. This is the 3rd batch I've brewed that I've used BrewPi, and this didn't happen with the first two batches.



What do you mean exactly when you say I have to adjust the lower limit if I raise the upper? The only thing that I've done is set the fridge temp to a maximum of 100 and minimum temp of 34...other than that I have not tweaked any of the default settings.

It was just a thought as originally Brewpi high and low were set to be 128 degrees apart Elco made a change its actually probably not related but here is what I'd read http://forum.brewpi.com/discussion/454/brewpi-for-mashing-temperature-control
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
I just got home from work, and apparently my BrewPi system decided to start working. I didn't make any changes whatsoever. The only difference that I can think of, is that the outside temp was in the high 50's yesterday and today it's 90 degrees. The fridge is in my garage though, and the fridge seals pretty well, so now I'm really baffled.

The print screen capture left this off, but the beer constant temp in the blank box does say 68.

BrewPi reporting for duty!.jpg
 

batty

Member
Joined
Sep 30, 2010
Messages
93
Reaction score
8
Location
Manchester
I just got home from work, and apparently my BrewPi system decided to start working...
Good news I suppose, but doesn't really help solving the issue huh

One thing I just thought of to check is what you have for the "Integrator: maximum temp error degF" (under advanced settings, control constants).

If you are further than this away from the setpoint the integration part of the PID will be off - and the integration part is what ensures there isn't a long-term offset from setpoint like you were seeing. If the beer temp happened to stabilize just outside of that temp error you could get stuck there for awhile (or until outside temps bump things within the threshold..). Probably not the issue, but worth checking I thought. I think mine is at default 1.498F.
 

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
I'm so @$#@# well done with this. @#[email protected]# done. This thing is completely and utterly doing my @#[email protected]# head in. As soon as I fix one thing, something else breaks. Soon as I fix that, something else goes wrong. I would @#$# well LOVE to buy the damn RevC shield, but of course it's not for sale any more, and any attempt to get one is met with either build it yourself, which I've done, or buy the new BrewSpark, only $160 shipped to your door. Which, ironically, would have been cheaper at this point, having spent money on Arduinos, LCD panels, connectors, components, housings, and the like.

Anyways, stripped the whole damn thing down to the basic version as outlined in the OP, and now the Uno won't save devices. Sees them no problem, and was able to upload the RevC image, but when hitting apply, doesn't save them to the Uno.

Don't even get me started then, on getting wifi to work on the @#[email protected]# Pi, or getting the @#[email protected]# LCD shield I made from day_trippr's thread going...

That goddamn STC-1000 is looking better and better...
 

2Kegger

Well-Known Member
Lifetime Supporter
Joined
Nov 1, 2011
Messages
151
Reaction score
15
Location
Sun Prairie
Deep breaths! I had the same problems. It was driving me crazy. When you uploaded the hex, did you see this at the end:

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 228, in program
while retries and self.ser:

if so, there is a bug in the code. Go here: https://github.com/elcojacobs/brewpi-script/tree/e62e843b5d8c277e4e3122b1a44a789ef572fc2b

You need 3 of the files: brewpi.py, brewpiVersion.py, and programArduino.py

I couldn't just click and save them. I had to open them, copy the text and past in to a document and save them. That fixed it for me. I think I had to install the hex a couple of times to get it to start saving.

Here is another link about problems with installing: http://forum.brewpi.com/discussion/671/installed-devices-not-saving-on-arduino

And don't forget to refresh your list after you hit apply. They showed up in my installed list after that.

Hope this helped!
 

batty

Member
Joined
Sep 30, 2010
Messages
93
Reaction score
8
Location
Manchester
Got home last night to find the risks of messing with my PID settings had come to fruition.. Oscillatory behavior!

Luckily I caught it before it got too crazy - only oscillated about half a degree. Someday I'll have time to truly optimize these settings...

 

ubermick

Well-Known Member
Joined
Jul 13, 2009
Messages
1,170
Reaction score
84
2kegger, thanks for that info - I've deffo tried reflashing the EEPROM to zero, as well as installing the barebones sketch to the Uno, then reflashing the revc HEX file, but to no avail. That said, the issue you describe is the one I was encountering last night, so will give that a lash after work.

Did you try "echo -ne 'E\n' > /dev/ttyACM0"
THAT worked! I think... will play more later when I have time. THANK YOU!!! (Insert dancing bananas, etc.)
 

stewart194

Well-Known Member
Joined
Nov 27, 2012
Messages
294
Reaction score
10
Location
Lawrence
Good news I suppose, but doesn't really help solving the issue huh

One thing I just thought of to check is what you have for the "Integrator: maximum temp error degF" (under advanced settings, control constants).

If you are further than this away from the setpoint the integration part of the PID will be off - and the integration part is what ensures there isn't a long-term offset from setpoint like you were seeing. If the beer temp happened to stabilize just outside of that temp error you could get stuck there for awhile (or until outside temps bump things within the threshold..). Probably not the issue, but worth checking I thought. I think mine is at default 1.498F.
I don't think I've ever messed with this setting, but mine says 0.898. Either way, it's just strange that it works when it wants to, and doesn't at other times. The only settings I've changed were changing it to Fahrenheit from Celsius, then setting the Fridge minimum temp to 34 and the max to 100.
 

TennBrewer

Supporting Member
HBT Supporter
Joined
Jan 10, 2015
Messages
194
Reaction score
51
Location
Memphis
Kudos to the OP on building the BrewPi, put one together no sweat. Working great until I had to go out of town for a week. Wouldn't you know it, the VERY NEXT DAY it screwed itself up. This has been running sweet for three months without a hitch. The graph has several gaps where nothing was recorded for several hours. The maintenance panel shows that the temperature sensor device slot 0 has a null value, the log file repeatedly shows that the sensor is disconnected, then reconnected, several times. Troubleshooting the temp sensor has info when both sensors act up, but mine is just the first sensor. I can switch the sensors and the problem stays with device slot 0. I powered down then up and the fridge relay clicks on right away. Using the web interface, I set the mode to off and the mode is Idle, yet the fridge is still running. Recheck all wires and connections, restart everything now the fridge isn't running in Idle mode and still nothing from the temp sensor. Using the other sensor, I set it to Fridge Constant at 60F, the panel said it was cooling yet the fridge is not running. Plugged in the fridge directly and it runs, something is definitely screwed up bad but I don't know what it is. I suspect the Arduino has kicked and I'm just too tired of it to chase it anymore. I got batches lined up so I ordered an STC-1000, hopefully as a stop gap measure until I can figure out what's wrong with the BrewPi/Arduino. I have no idea how it happened, nobody touched it, there wasn't any bad weather, no idea. Anybody have similar experience or greater knowledge, please help. I'm very experienced when it comes to computers (old retired programmer), I am very fluent in Linux/C/CPP, not a Python person but hey, how hard can it be?
 

wbarber69

Well-Known Member
Joined
Oct 13, 2013
Messages
2,191
Reaction score
263
Go into devices tick the read values box and refresh. Don't bother with device 0. Go down into detected devices and see if there is another temp probe down there. On to the cooler not cooling when it's in cool mode. It may take up to 10 minutes for it to kick on. And I hope that by swapped the sensors, you meant through the gui and not that you physically swapped them because then you actually didn't swap them. You could have bad connection somewhere or a bad sensor. But if check to see if you have 3 temp probes showing up first. It's a weird bug that I've seen in the past and it had an easy work around.
 

TennBrewer

Supporting Member
HBT Supporter
Joined
Jan 10, 2015
Messages
194
Reaction score
51
Location
Memphis
Go into devices tick the read values box and refresh. Don't bother with device 0. Go down into detected devices and see if there is another temp probe down there. On to the cooler not cooling when it's in cool mode. It may take up to 10 minutes for it to kick on. And I hope that by swapped the sensors, you meant through the gui and not that you physically swapped them because then you actually didn't swap them. You could have bad connection somewhere or a bad sensor. But if check to see if you have 3 temp probes showing up first. It's a weird bug that I've seen in the past and it had an easy work around.
Thanks for the help, I'll take all I can get. I checked the Detected Devices section and there isn't another Temp device. When I said the fridge wasn't running when in Cooling mode, the status panel at the top of the web page said it was Cooling, not Waiting to Cool. I swapped the temp probes physically and through the gui. I have phone jack connectors for the temp probes so I just unplugged and swapped them. I swapped them through the gui where I exchanged the Device Slot for each sensor. Refreshed the display and lo and behold, Device Slot 0 has a value and 1 is null! This is not what I remember happening yesterday (maybe I'm just getting too old). I swear, the null value stayed with Device Slot 0 no matter what I did. Today the null value switches when I switch the devices. Hmmmm. Maybe I have a bad temp sensor?
 

day_trippr

Covid-19 Vaccine Effectivity Test Subject
Joined
May 31, 2011
Messages
35,853
Reaction score
18,262
Location
Stow, MA
Use the Devices gui, remove both probes, restart the Uno, use the Devices gui with the Read Values set, and see if both probes are detected and return valid temps. If they do, add them to the configured device set...

Cheers!
 

Herb3

Supporting Member
HBT Supporter
Joined
Jan 9, 2014
Messages
62
Reaction score
2
Location
Norris
I keep getting the below when I try to load the revC hex file:

**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Warning: Cannot receive version number from %(a)s. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in Apr 11 2015 11:28:06 Fresh start! Log files erased.
**** Arduino Program script started ****

Settings will not be restored

Devices will not be restored

Checking old version before programming.

Warning: Cannot receive version number from %(a)s. Your Arduino is either not programmed yet or running a very old version of BrewPi. Arduino will be reset to defaults.

Loading programming settings from board.txt

Traceback (most recent call last):
File "/home/brewpi/brewpi.py", line 645, in
{'settings': restoreSettings, 'devices': restoreDevices})
File "/home/brewpi/programArduino.py", line 173, in programArduino
return programmer.program(hexFile, restoreWhat)
File "/home/brewpi/programArduino.py", line 221, in program
if not self.flash_file(hexFile):
File "/home/brewpi/programArduino.py", line 584, in flash_file
boardsFile = loadBoardsFile(arduinohome)
File "/home/brewpi/programArduino.py", line 152, in loadBoardsFile
return open(arduinohome + 'hardware/arduino/boards.txt', 'rb').readlines()
IOError: [Errno 2] No such file or directory: '/usr/share/arduino/hardware/arduino/boards.txt'
Apr 11 2015 11:30:05 Notification: Script started for beer 'My First BrewPi Run'
Apr 11 2015 11:30:47 Warning: Cannot receive version number from Arduino. Your Arduino is either not programmed or running a very old version of BrewPi. Please upload a new version of BrewPi to your Arduino.
 
Status
Not open for further replies.
Top