簡介
BrewPiLess(BPL)是BrewPi的移植及簡化,保留大部分BrewPi的功能,但大幅地簡化了安裝和操作介面,最主要的是硬體從原本Raspberry Pi加Arduino(或spark)簡化成只需要一個ESP8266/ESP32。所以免除了RPI的一連串包括Web Server, Python等等設定。
以功能性和穩定性來說,Raspberry Pi應該比ESP8266/ESP32還來得好;不過,功能性來說,如果只是用來控制發酵,Raspberry Pi有點牛刀殺雞。穩定性來說呢,如果Raspberry Pi如果有98分,正常使用下ESP8266/ESP32應該可以有90~95分,也算堪用。而用ESP8266/ESP32的BPL其優點並非只是便宜,而是在於簡單。硬體組成比較簡單,軟體設定也比較簡單。
- 精準控溫
核心是移植BrewPi,不是單純地控制冰箱溫度,而是調整冰箱溫度來控制啤酒溫度。 - WiFi連線
支援無線網路,可透過網路設定。 - 自動溫度變化
可以定時任意變化溫度,實現溫度階度變化。也可以依比重自動變化溫度。 - 溫度記錄
記錄溫度變化,可以回顧檢討。記錄可以輸出cvs格式。 - 物聯網雲端
只要簡單的設定,就可以將溫度放到雲端。支援brewersfriend.com, brewfahter.ap, thingspeaking, ubidots.com, 以及自訂的格式。 - 比重記錄,包括
- 手動輸入
- 無線數位iSpindel整合
- (ESP32限定)支援Tilt(tm)
- iSpindel整合功能
- 記錄iSpindel回報資訊
- 支援使用iSpindel的溫度當成啤酒測溫
- 邊釀邊校正iSpindel
- 壓力發酵監控
- 可以控制電磁閥,手動或自動開始蓄壓。
- 監控壓力
- 控制壓力
- 溼度監控
- 發酵室溼度監控
因為液體和發酵桶的隔離,iSpindel的訊號通常不強,如果WiFi基地台距離比較遠,會有連線不良的問題;BrewPiLess可以同時啓用一個無線網路(SoftAP)讓iSpindel連線,把它放在發酵桶附近,可以當成iSpindel的中繼站。BrewPiLess也可以同時記錄、並將記錄值往ubidots.com或thingspeak.com上傳的功能。
同樣的,Tilt(tm)使用的BLE技術傳送距離無法太遠,通常需要一個Raspberry Pi或手機平板在附近才能持續監控,BPL可以取代這個Raspberry Pi或手機的功能。
硬體組成原件
視所需要的功能,會有不同的原件,目前建議使用ESP32,比較新速度比較快,也支援Tilt,能夠使用的pin腳比較多,功能也就比較多。以下以功能來分開列出需要的原件:
基礎構成:
只有ESP32及以電源,可以用來當iSpindel或Tilt(tm)的中繼,除了記錄資訊,也可以再把資訊轉發出去到雲端。
- ESP32開發板
大部分的開發板都可以,但ESP32/ESP8266開發板良窳不齊,可能要碰點運氣。儘量找CP2102的板子。 - 電源
建議至少1.5A以上的電源。雖然5V的電源供應器是比較正規的做法,用USB供電也不是不行。
發酵溫度控制:
要”控制”,基本上就需要繼電器或SSR。BrewPi的演算法本身最佳的設定是使用兩條測溫線,分別測量冰箱和啤酒的溫度。如果是使用乙二醇/冰水機的方式,則只需要一條。另外,BrewPiLess可以用Tilt(tm)或iSpindel的溫度來當成啤酒溫度;不過Tilt的溫度精細度是1度華氏,而如果使用iSpindel來控溫,則回報時間應該使用1~3分鐘以內。
- DS18B20測溫線 x2
- 4.7k 電阻 x1
- 繼電器或SSR
控制冰箱的可以考慮用SSR,其他的通常使用一般的Relay即可。要控制幾個設備就需要幾個繼電器或SSR。以下都以繼電器代表。*注意:大部分的SSR都是zero crossing,只有在電位為零的時才會開關,所以只能控制交流電的電器開關。
Relay用模組比較方便,最好找到RPI可以用的,至少要是支援5V的;像下圖這種藍色的通常電流可以到10A ,對大部分的東西都適用。Relay模組比較常找到兩路的,如果想要多控制幾個東西,甚至可以買四路的。
SSR用在有馬達類的電器控制比較好,可以減少EMI干擾;買SSR要注意規格,輸入端要是DC 3v~的,有些SSR是交流控制交流,有些直流控制是從5v甚至12v起,ESP32是3.3v,如果是直流3v~,可以直接接,不需要額外的電路。
使用介面:
雖然可以透過網路使用,但有時候不開電腦就近控制也是很方便。可單獨只用LCD,但Rotary Encoder一定要配合LCD(不然不知道在調什麼東西)。
- HD44780 20×4 I2C LCD 或 128×64 SSD1306 OLED LCD
- HD44780容易受EMI影響但是比較耐用,顯示也較大。相對地,OLED比較小,而且似乎不太耐用。(我己經壞了4,5個了)
- Rotary Encoder
用便宜的KY-040模組即可,電阻都上了,也比較方便。
壓力發酵監控:
壓力發酵監控總共有三種組合:只控制電磁閥來決定開始蓄壓的時間點、只是用傳感器讀取壓力值,還有同時用電磁閥和傳感器來控制壓力。控制壓力實做上不容易,洩壓的部分要使用很小的隙縫(可以考慮用針閥),否則一打開氣馬上大量洩走,控制器會反應不過來,壓力會一下子下降太多。而且,繼電器和電磁閥如果很頻繁地開關,使用壽命會大幅減少甚至故障。
- 電磁閥(及繼電器)
如果沒有要控制壓力,便宜耐壓的電磁閥就可以了。電磁閥需要使用一個繼電器或SSR控制,用110v的電磁閥會比較簡單。 - 壓力傳感器
是這種類型的,輸出為電壓,最高壓力視發酵桶耐壓及預計的最高壓力而定,一般而言,最高至少到45~60psi。 - (optional)ADS1115模組
原生的ESP8266/ESP32的ADC並不是很準確,如果想要比較精準的壓力讀數,最好另外採用ADS1115
溼度監控:
支援DHT21/DHT22系列和BME280。DHT21/22系列和BME280都有溫度感測,也可以拿來當成發酵室和室溫使用。
- DHT21/DHT22(AM2301/AM2302)
最多支援兩個,一個發酵室,一個室內(發酵室外)。一個DHT21/DHT22會佔用一個單獨的PIN。 - (或)BME280
BME280準度較高,硬體接法不同,BME280用I2C,不會佔用PIN。最好找3.3v版本的板子。 - 除溼機(及繼電器)
- 加溼器(及繼電器)
其他:
BrewPi原生的、並不是太實用功能。
- 風扇(及繼電器)
有使用的話,冷卻和加熱啓動時都會同時開啓風扇;不過如果只有冷卻,把風扇和冰箱腈分二的插頭接在一起效果一樣。 - 燈(及繼電器)
- 微動開關:冰箱門開關感測
冰箱門開的時候會打開燈。
下一篇:軔體編譯和燒錄