用Linux、Python和樹(shù)莓派釀制啤酒
怎樣在家用 Python 和樹(shù)莓派搭建一個(gè)家用便攜的自制釀啤酒裝置
大約十年前我開(kāi)始釀制自制啤酒,和許多自己釀酒的人一樣,我開(kāi)始在廚房制造提純啤酒。這需要一些設(shè)備并且做出來(lái)后確實(shí)是好的啤酒,最終,我用一個(gè)放入了所有大麥的大貯藏罐作為我的麥芽漿桶。幾年之后我一次釀制過(guò) 5 加侖啤酒,但是釀制 10 加侖時(shí)也會(huì)花費(fèi)同樣的時(shí)間和效用(只是容器比之前大些),之前我就是這么做的。容量提升到 10 加侖之后,我偶然看到了 StrangeBrew Elsinore ,我意識(shí)到我真正需要的是將整個(gè)釀酒過(guò)程轉(zhuǎn)換成全電子化的,用樹(shù)莓派來(lái)運(yùn)行它。
建造自己的家用電動(dòng)化釀酒系統(tǒng)需要大量這方面的技術(shù)信息,許多學(xué)習(xí)釀酒的人是在 TheElectricBrewery.com 這個(gè)網(wǎng)站起步的,只不過(guò)將那些控制版搭建在一起是十分復(fù)雜的,盡管最簡(jiǎn)單的辦法在這個(gè)網(wǎng)站上總結(jié)的很好。當(dāng)然你也能用一個(gè)小成本的方法并且依舊可以得到相同的結(jié)果 —— 用一個(gè)熱水壺和熱酒容器通過(guò)一個(gè) PID 控制器來(lái)加熱你的釀酒原料。但是我認(rèn)為這有點(diǎn)太無(wú)聊(這也意味著你不能體驗(yàn)到完整的釀酒過(guò)程)。
需要用到的硬件
在我開(kāi)始我的這個(gè)項(xiàng)目之前, 我決定開(kāi)始買(mǎi)零件,我最基礎(chǔ)的設(shè)計(jì)是一個(gè)可以將液體加熱到 5500 瓦的熱酒容器(HLT)和開(kāi)水壺,加一個(gè)活底的麥芽漿桶,我通過(guò)一個(gè) 50 英尺的不銹鋼線圈在熱酒容器里讓泵來(lái)再循環(huán)麥芽漿("熱量交換再循環(huán)麥芽漿系統(tǒng), 也叫 HERMS)。同時(shí)我需要另一個(gè)泵來(lái)在熱酒容器里循環(huán)水,并且把水傳輸?shù)禁溠繚{桶里,整個(gè)電子部件全部是用樹(shù)莓派來(lái)控制的。
建立我的電子釀酒系統(tǒng)并且盡可能的自動(dòng)化意味著我需要以下的組件:
- 一個(gè) 5500 瓦的電子加熱酒精容器(HLT)
- 能夠放入加熱酒精容器里的 50 英尺(0.5 英寸)的不銹鋼線圈(熱量交換再循環(huán)麥芽漿系統(tǒng))
- 一個(gè) 5500 瓦的電子加熱水壺
- 多個(gè)固態(tài)繼電器加熱開(kāi)關(guān)
- 2 個(gè)高溫食品級(jí)泵
- 泵的開(kāi)關(guān)用繼電器
- 可拆除裝置和一個(gè)硅管
- 不銹鋼球閥
- 一個(gè)測(cè)量溫度的探針
- 很多線
- 一個(gè)來(lái)容納這些配件的電路盒子
釀酒系統(tǒng) (photo by Christopher Aedo. CC BY-SA 4.0)
建立釀酒系統(tǒng)的電氣化方面的細(xì)節(jié) The Electric Brewery 這個(gè)網(wǎng)站概括的很好,這里我不再重復(fù),當(dāng)你計(jì)劃用樹(shù)莓派代替這個(gè) PID 控制器的話,你可以讀以下的建議。
一個(gè)重要的事情需要注意,固態(tài)繼電器(SSR)信號(hào)電壓,許多教程建議使用一個(gè) 12 伏的固態(tài)繼電器來(lái)關(guān)閉電路,樹(shù)莓派的 GPIO 針插口只支持 3 伏輸出電壓,然而,必須購(gòu)買(mǎi)繼電器將電壓變?yōu)?3 伏。
Inkbird SSR (photo by Christopher Aedo. CC BY-SA 4.0)
要運(yùn)行釀酒系統(tǒng),你的樹(shù)莓派必須做兩個(gè)關(guān)鍵事情:測(cè)量來(lái)自幾個(gè)不同位置的溫度,用繼電器開(kāi)關(guān)來(lái)控制加熱元件,樹(shù)莓派很容易來(lái)處理這些任務(wù)。
這里有一些不同的方法來(lái)將溫度傳感器連到樹(shù)莓派上,但是我找到了最方便的方法用單總線。這就可以讓多個(gè)傳感器分享相同的線路(實(shí)際上是三根線),這三根線可以使釀酒系統(tǒng)的多個(gè)設(shè)備更方便的工作,如果你要從網(wǎng)上找一個(gè)防水的 DS18B20 溫度傳感器,你可以會(huì)找到很多選擇。我用的是日立 DS18B20 防水溫度傳感器。
要控制加熱元件,樹(shù)莓派包括了幾個(gè)用來(lái)軟件尋址的總線擴(kuò)展器(GPIO),它會(huì)通過(guò)在某個(gè)文件寫(xiě)入 0 或者 1 讓你發(fā)送3.3v 的電壓到一個(gè)繼電器,在我第一次了解樹(shù)莓派是怎樣工作的時(shí)候,這個(gè)用 GPIO 驅(qū)動(dòng)繼電器的樹(shù)莓派教程對(duì)我來(lái)說(shuō)是最有幫助的,總線擴(kuò)展器控制著多個(gè)固態(tài)繼電器,通過(guò)釀酒軟件來(lái)直接控制加熱元件的開(kāi)關(guān)。
我首先將所有部件放到這個(gè)電路盒子,因?yàn)檫@將成為一個(gè)滾動(dòng)的小車(chē),我要讓它便于移動(dòng),而不是固定不動(dòng)的,如果我有一個(gè)店(比如說(shuō)在車(chē)庫(kù)、工具房、或者地下室),我需要要用一個(gè)裝在墻上的更大的電路盒,而現(xiàn)在我找到一個(gè)大小正好的防水工程盒子,能放進(jìn)每件東西,最后它成為小巧緊湊工具盒,并且能夠工作。在左下角是和樹(shù)莓派連接的為總線擴(kuò)展器到單總線溫度探針和固態(tài)繼電器的擴(kuò)展板。
要保持 240v 的固態(tài)繼電器溫度不高,我在盒子上切了個(gè)洞,在盒子的外面用 CPU 降溫凝膠把銅片散熱片安裝到盒子外面的熱槽之間。它工作的很好,盒子里沒(méi)有溫度上的問(wèn)題了,在盒子蓋上我放了兩個(gè)開(kāi)關(guān)為 120v 的插座,加兩個(gè)240v 的 led 來(lái)顯示加熱元件是否通電。我用干燥器的插座和插頭,所以可以很容易的斷開(kāi)電熱水壺的連接。首次嘗試每件事情都工作正常。(第一次繪制電路圖必有回報(bào))
這個(gè)照片來(lái)自“概念”版,最終生產(chǎn)系統(tǒng)應(yīng)該有兩個(gè)以上的固態(tài)繼電器,以便 240v 的電路兩個(gè)針腳能夠切換,另外我將通過(guò)軟件來(lái)切換泵的開(kāi)關(guān)?,F(xiàn)在通過(guò)盒子前面的物理開(kāi)關(guān)控制它們,但是也很容易用繼電器控制它們。
控制盒子 (photo by Christopher Aedo. CC BY-SA 4.0)
唯一剩下有點(diǎn)棘手的事情是溫度探針的壓合接頭,這個(gè)探針安裝在加熱酒精容器和麥芽漿桶球形的最底部閥門(mén)前的 T 字型接頭上。當(dāng)液體流過(guò)溫度傳感器,溫度可以準(zhǔn)確顯示。我考慮加一個(gè)套管到熱水壺里,但是對(duì)于我的釀造工藝沒(méi)有什么用。最后,我買(mǎi)到了四分之一英寸的壓合接頭,它們工作完美。
軟件
一旦硬件整理好,我就有時(shí)間來(lái)處理軟件了,我在樹(shù)莓派上跑了最新的 Raspbian 發(fā)行版,操作系統(tǒng)方面沒(méi)有什么特別的。
我開(kāi)始使用 Strangebrew Elsinore 釀酒軟件,當(dāng)我的朋友問(wèn)我是否我聽(tīng)說(shuō)過(guò) Hosehead(一個(gè)基于樹(shù)莓派的釀酒控制器),我找到了 Strangebrew Elsinore 。我認(rèn)為 Hosehead 很棒,但我并不是要買(mǎi)一個(gè)釀酒控制器,而是要挑戰(zhàn)自己,搭建一個(gè)自己的。
設(shè)置 Strangebrew Elsinore 很簡(jiǎn)單,其文檔直白,沒(méi)有遇到任何的問(wèn)題。盡管 Strangebrew Elsinore 工作的很好,但在我的一代樹(shù)莓派上運(yùn)行 java 有時(shí)是費(fèi)力的,不止崩潰一次。我看到這個(gè)軟件開(kāi)發(fā)停頓也很傷心,似乎他們也沒(méi)有更多貢獻(xiàn)者的大型社區(qū)(盡管有很多人還在用它)。
CraftBeerPi
之后我偶然遇到了一個(gè)用 Python 寫(xiě)的 CraftbeerPI,它有活躍的貢獻(xiàn)者支持的開(kāi)發(fā)社區(qū)。原作者(也是當(dāng)前維護(hù)者) Manuel Fritsch 在貢獻(xiàn)和反饋問(wèn)題處理方面做的很好??寺∵@個(gè)倉(cāng)庫(kù)然后開(kāi)始只用了我一點(diǎn)時(shí)間。其 README 文檔也是一個(gè)連接 DS1820 溫度傳感器的好例子,同時(shí)也有關(guān)于硬件接口到樹(shù)莓派或者芯片電腦 的注意事項(xiàng)。
在啟動(dòng)的時(shí)候,CraftbeerPI 引導(dǎo)用戶通過(guò)一個(gè)設(shè)置過(guò)程來(lái)發(fā)現(xiàn)溫度探針是否可用,并且讓你指定哪個(gè) GPIO 總線擴(kuò)展器指針來(lái)管理樹(shù)莓派上哪個(gè)配件。
CraftBeerPi (photo by Christopher Aedo. CC BY-SA 4.0)
用這個(gè)系統(tǒng)進(jìn)行自制釀酒是容易的,我能夠依靠它掌握可靠的溫度,我能輸入多個(gè)溫度段來(lái)控制麥芽漿溫度,用CraftbeerPi 釀酒的日子有一點(diǎn)點(diǎn)累,但是我很高興用傳統(tǒng)的手工管理丙烷燃燒器的“興奮”來(lái)?yè)Q取這個(gè)系統(tǒng)的有效性和持續(xù)性。
CraftBeerPI 的用戶友好性鼓舞我設(shè)置了另一個(gè)控制器來(lái)運(yùn)行“發(fā)酵室”。就我來(lái)說(shuō),那是一個(gè)二手冰箱,我用了 50 美元加上放在里面的 25 美元的加熱器。CraftBeerPI 很容易控制電器元件的冷熱,你也能夠設(shè)置多個(gè)溫度階段。舉個(gè)例子,這個(gè)圖表顯示我最近做的 IPA 進(jìn)程的發(fā)酵溫度。發(fā)酵室發(fā)酵麥芽汁在 67F° 的溫度下需要 4 天,然后每 12 小時(shí)上升一度直到溫度到達(dá) 72F°。剩下兩天溫度保持不變是為了雙乙酰生成。之后 5 天溫度降到 65F°,這段時(shí)間是讓啤酒變“干”,最后啤酒發(fā)酵溫度直接降到 38F°。CraftBeerPI 可以加入各個(gè)階段,讓軟件管理發(fā)酵更加容易。
SIPA 發(fā)酵設(shè)置 (photo by Christopher Aedo. CC BY-SA 4.0)
我也試驗(yàn)過(guò)用液體比重計(jì)來(lái)對(duì)酵啤酒的比重進(jìn)行監(jiān)測(cè),通過(guò)藍(lán)牙連接的浮動(dòng)傳感器可以達(dá)到。有一個(gè)整合的計(jì)劃能讓 CraftbeerPi 很好工作,現(xiàn)在它記錄這些比重?cái)?shù)據(jù)到谷歌的電子表格里。一旦這個(gè)液體比重計(jì)能連接到發(fā)酵控制器,設(shè)置的自動(dòng)發(fā)酵設(shè)置會(huì)基于酵母的活動(dòng)性直接運(yùn)行且更加容易,而不是在 4 天內(nèi)完成主要發(fā)酵,可以在比重穩(wěn)定 24 小時(shí)后設(shè)定溫度。
像這樣的一些項(xiàng)目,構(gòu)想并計(jì)劃改進(jìn)和增加組件是很容易,不過(guò),我很高興今天經(jīng)歷過(guò)的事情。我用這種裝置釀造了很多啤酒,每次都能達(dá)到預(yù)期的麥芽汁比率,而且啤酒一直都很美味。我的最重要的消費(fèi)者 —— 就是我!很高興我可以隨時(shí)飲用。
隨時(shí)飲用 (photo by Christopher Aedo. CC BY-SA 4.0)
這篇文章基于 Christopher 的開(kāi)放的西部的講話《用Linux、Python 和樹(shù)莓派釀制啤酒》。
(題圖:Quinn Dombrowski. Modified by Opensource.com. CC BY-SA 4.0)