1. 程式人生 > >用 Linux、Python 和樹莓派釀製啤酒

用 Linux、Python 和樹莓派釀製啤酒

怎樣在家用 Python 和樹莓派搭建一個家用便攜的自制釀啤酒裝置

大約十年前我開始釀製自制啤酒,和許多自己釀酒的人一樣,我開始在廚房製造提純啤酒。這需要一些裝置並且做出來後確實是好的啤酒,最終,我用一個放入了所有大麥的大貯藏罐作為我的麥芽漿桶。幾年之後我一次釀製過 5 加侖啤酒,但是釀製 10 加侖時也會花費同樣的時間和效用(只是容器比之前大些),之前我就是這麼做的。容量提升到 10 加侖之後,我偶然看到了 StrangeBrew Elsinore ,我意識到我真正需要的是將整個釀酒過程轉換成全電子化的,用樹莓派來執行它。

建造自己的家用電動化釀酒系統需要大量這方面的技術資訊,許多學習釀酒的人是在

TheElectricBrewery.com 這個網站起步的,只不過將那些控制版搭建在一起是十分複雜的,儘管最簡單的辦法在這個網站上總結的很好。當然你也能用一個小成本的方法並且依舊可以得到相同的結果 —— 用一個熱水壺和熱酒容器通過一個 PID 控制器來加熱你的釀酒原料。但是我認為這有點太無聊(這也意味著你不能體驗到完整的釀酒過程)。

需要用到的硬體

在我開始我的這個專案之前, 我決定開始買零件,我最基礎的設計是一個可以將液體加熱到 5500 瓦的熱酒容器(HLT)和開水壺,加一個活底的麥芽漿桶,我通過一個 50 英尺的不鏽鋼線圈在熱酒容器裡讓泵來再迴圈麥芽漿(“熱量交換再迴圈麥芽漿系統, 也叫 HERMS

)。同時我需要另一個泵來在熱酒容器裡迴圈水,並且把水傳輸到麥芽漿桶裡,整個電子部件全部是用樹莓派來控制的。

建立我的電子釀酒系統並且儘可能的自動化意味著我需要以下的元件:

  • 一個 5500 瓦的電子加熱酒精容器(HLT)
  • 能夠放入加熱酒精容器裡的 50 英尺(0.5 英寸)的不鏽鋼線圈(熱量交換再迴圈麥芽漿系統)
  • 一個 5500 瓦的電子加熱水壺
  • 多個固態繼電器加熱開關
  • 2 個高溫食品級泵
  • 泵的開關用繼電器
  • 可拆除裝置和一個矽管
  • 不鏽鋼球閥
  • 一個測量溫度的探針
  • 很多線
  • 一個來容納這些配件的電路盒子

Brew system

釀酒系統 (photo by Christopher Aedo. CC BY-SA 4.0)

建立釀酒系統的電氣化方面的細節

The Electric Brewery 這個網站概括的很好,這裡我不再重複,當你計劃用樹莓派代替這個 PID 控制器的話,你可以讀以下的建議。

一個重要的事情需要注意,固態繼電器(SSR)訊號電壓,許多教程建議使用一個 12 伏的固態繼電器來關閉電路,樹莓派的 GPIO 針插口只支援 3 伏輸出電壓,然而,必須購買繼電器將電壓變為 3 伏。

Inkbird SSR

Inkbird SSR (photo by Christopher Aedo. CC BY-SA 4.0)

要執行釀酒系統,你的樹莓派必須做兩個關鍵事情:測量來自幾個不同位置的溫度,用繼電器開關來控制加熱元件,樹莓派很容易來處理這些任務。

這裡有一些不同的方法來將溫度感測器連到樹莓派上,但是我找到了最方便的方法用單匯流排。這就可以讓多個感測器分享相同的線路(實際上是三根線),這三根線可以使釀酒系統的多個裝置更方便的工作,如果你要從網上找一個防水的 DS18B20 溫度感測器,你可以會找到很多選擇。我用的是日立 DS18B20 防水溫度感測器

要控制加熱元件,樹莓派包括了幾個用來軟體定址的匯流排擴充套件器(GPIO),它會通過在某個檔案寫入 0 或者 1 讓你傳送3.3v 的電壓到一個繼電器,在我第一次瞭解樹莓派是怎樣工作的時候,這個用 GPIO 驅動繼電器的樹莓派教程對我來說是最有幫助的,匯流排擴充套件器控制著多個固態繼電器,通過釀酒軟體來直接控制加熱元件的開關。

我首先將所有部件放到這個電路盒子,因為這將成為一個滾動的小車,我要讓它便於移動,而不是固定不動的,如果我有一個店(比如說在車庫、工具房、或者地下室),我需要要用一個裝在牆上的更大的電路盒,而現在我找到一個大小正好的防水工程盒子,能放進每件東西,最後它成為小巧緊湊工具盒,並且能夠工作。在左下角是和樹莓派連線的為匯流排擴充套件器到單匯流排溫度探針和固態繼電器的擴充套件板。

要保持 240v 的固態繼電器溫度不高,我在盒子上切了個洞,在盒子的外面用 CPU 降溫凝膠把銅片散熱片安裝到盒子外面的熱槽之間。它工作的很好,盒子裡沒有溫度上的問題了,在盒子蓋上我放了兩個開關為 120v 的插座,加兩個240v 的 led 來顯示加熱元件是否通電。我用乾燥器的插座和插頭,所以可以很容易的斷開電熱水壺的連線。首次嘗試每件事情都工作正常。(第一次繪製電路圖必有回報)

這個照片來自“概念”版,最終生產系統應該有兩個以上的固態繼電器,以便 240v 的電路兩個針腳能夠切換,另外我將通過軟體來切換泵的開關。現在通過盒子前面的物理開關控制它們,但是也很容易用繼電器控制它們。

Control box

控制盒子 (photo by Christopher Aedo. CC BY-SA 4.0)

唯一剩下有點棘手的事情是溫度探針的壓合接頭,這個探針安裝在加熱酒精容器和麥芽漿桶球形的最底部閥門前的 T 字型接頭上。當液體流過溫度感測器,溫度可以準確顯示。我考慮加一個套管到熱水壺裡,但是對於我的釀造工藝沒有什麼用。最後,我買到了四分之一英寸的壓合接頭,它們工作完美。

軟體

一旦硬體整理好,我就有時間來處理軟體了,我在樹莓派上跑了最新的 Raspbian 發行版,作業系統方面沒有什麼特別的。

我開始使用 Strangebrew Elsinore 釀酒軟體,當我的朋友問我是否我聽說過 Hosehead(一個基於樹莓派的釀酒控制器),我找到了 Strangebrew Elsinore 。我認為 Hosehead 很棒,但我並不是要買一個釀酒控制器,而是要挑戰自己,搭建一個自己的。

設定 Strangebrew Elsinore 很簡單,其文件直白,沒有遇到任何的問題。儘管 Strangebrew Elsinore 工作的很好,但在我的一代樹莓派上執行 java 有時是費力的,不止崩潰一次。我看到這個軟體開發停頓也很傷心,似乎他們也沒有更多貢獻者的大型社群(儘管有很多人還在用它)。

CraftBeerPi

之後我偶然遇到了一個用 Python 寫的 CraftbeerPI,它有活躍的貢獻者支援的開發社群。原作者(也是當前維護者) Manuel Fritsch 在貢獻和反饋問題處理方面做的很好。克隆這個倉庫然後開始只用了我一點時間。其 README 文件也是一個連線 DS1820 溫度感測器的好例子,同時也有關於硬體介面到樹莓派或者晶片電腦 的注意事項。

在啟動的時候,CraftbeerPI 引導使用者通過一個設定過程來發現溫度探針是否可用,並且讓你指定哪個 GPIO 匯流排擴充套件器指標來管理樹莓派上哪個配件。

CraftBeerPi

CraftBeerPi (photo by Christopher Aedo. CC BY-SA 4.0)

用這個系統進行自制釀酒是容易的,我能夠依靠它掌握可靠的溫度,我能輸入多個溫度段來控制麥芽漿溫度,用CraftbeerPi 釀酒的日子有一點點累,但是我很高興用傳統的手工管理丙烷燃燒器的“興奮”來換取這個系統的有效性和持續性。

CraftBeerPI 的使用者友好性鼓舞我設定了另一個控制器來執行“發酵室”。就我來說,那是一個二手冰箱,我用了 50 美元加上放在裡面的 25 美元的加熱器。CraftBeerPI 很容易控制電器元件的冷熱,你也能夠設定多個溫度階段。舉個例子,這個圖表顯示我最近做的 IPA 程序的發酵溫度。發酵室發酵麥芽汁在 67F° 的溫度下需要 4 天,然後每 12 小時上升一度直到溫度到達 72F°。剩下兩天溫度保持不變是為了雙乙醯生成。之後 5 天溫度降到 65F°,這段時間是讓啤酒變“幹”,最後啤酒發酵溫度直接降到 38F°。CraftBeerPI 可以加入各個階段,讓軟體管理髮酵更加容易。

SIPA fermentation profile

SIPA 發酵設定 (photo by Christopher Aedo. CC BY-SA 4.0)

我也試驗過用液體比重計來對酵啤酒的比重進行監測,通過藍芽連線的浮動感測器可以達到。有一個整合的計劃能讓 CraftbeerPi 很好工作,現在它記錄這些比重資料到谷歌的電子表格裡。一旦這個液體比重計能連線到發酵控制器,設定的自動發酵設定會基於酵母的活動性直接執行且更加容易,而不是在 4 天內完成主要發酵,可以在比重穩定 24 小時後設定溫度。

像這樣的一些專案,構想並計劃改進和增加元件是很容易,不過,我很高興今天經歷過的事情。我用這種裝置釀造了很多啤酒,每次都能達到預期的麥芽汁比率,而且啤酒一直都很美味。我的最重要的消費者 —— 就是我!很高興我可以隨時飲用。

Homebrew on tap

隨時飲用 (photo by Christopher Aedo. CC BY-SA 4.0)

這篇文章基於 Christopher 的開放的西部的講話《用Linux、Python 和樹莓派釀製啤酒》。

作者簡介

Christopher Aedo 從他的學生時代就從事並且貢獻於開源軟體事業。最近他在 IBM 領導一個極棒的上游開發者團隊,同時他也是開發者擁護者。當他不再工作或者實在會議室演講的時候,他可能在波特蘭市俄勒岡州用樹莓派釀製和發酵一杯美味的啤酒。