要加強烘豆機的功能,應該會分階段來完成,
第一個階段,是以收集資料與控制火力為主。
我需要一個微電腦負責所有的控制工作,還要讓我可以方便開發;
一個溫度感測器可以量烘豆時的高溫;
另一個感測器可以量測環境溫度與濕度;
還要有能夠設定與調節火力的裝置。
在微電腦方面,就選用 Raspberry Pi,
主要是因為 Raspberry Pi (RPi)基本上已經算是一台電腦了,
上面跑的是 Linux 系統,可以執行 C++, Java, Python 等高階語言,
也可以透過 UART 或是網路 SSH 登入,這我比較熟悉。
此外,這個以縮小版電腦為目標的產品,出來已經很多年了,社群能力也比較強,
可以找到許多的應用、許多的範例與說明。
【Raspberry Pi 作為主要控制器】
選好了主要控制器,高溫的感測器就用 MAX31855,
這可以放大 K-Type Thermocouple (熱電偶)的訊號,
而 K-Type Thermocouple 則可以量測到上千度的高溫,
烘豆的爐溫最高應該不會超過 250 度,夠用了。
選用 MAX31855 的原因,是他有 SPI 介面,
更重要的,網路上有他的 Python Sample Code 可以參考。
【MAX 31855 用來連接 K type 熱電偶】
量環境溫濕度的部份,則是用 HTU21D,
提供了溫度(-40~125)與溼度(0~100)的量測,
界面是 I2C,一樣很重要的一點,找的到 RPi 用的 Python Sample Code。
【溫濕度合一的感測器】
在調節火力這方面,如同之前所說,採用 Power On/Off 的時間差來控制。
假定週期是 5 秒好了,100 % 的火力就是這 5 秒都開電加熱,
而 30 % 的火力就是這 5 秒中,加熱 (5 * 0.3) = 1.5 秒,另外的 3.5 秒不加熱,
如此一來就可以比較精細的控制熱度的變化了(理論上啦)。
做法就利用 RPi 來控制 On/Off,推動外部的 SSR (固態繼電器),
再由 SSR 來開啟/關閉加熱電源,Rotate Fun 300 的電熱管功率是 850 W,
因此買一個電流為 10A 的 SSR 就可以用了。
【輸入 3-32 V DC,輸出可以到 380V AC的固態繼電器】
火力的設定上,則是用可變電組分壓的方式,來得到對應的百分比,
但是 RPi 本身沒有 ADC,無法讀入電壓值,因此要額外買一個 ADC IC。
這部份選用 ADS1015,有 12 Bit 的精準度,預計量的電壓是 0 ~ 3.3 V,
精準度可以到 0.8 mV,已經很夠用了。
同樣的,ADS1015 是 I2C 介面,不用額外用到 RPi 的接點,
而且有 Python Sample Code!!
因為網拍的 ADS1015 模組實在很貴,一片要 600 多塊,
所以買了 IC 自己回來焊,三顆相較之下
只是收到貨後讓我傻眼,我沒想到是這麼的小(沒有好好看 Spec.),
超過我的焊接能力了。 所幸網拍還找的到轉接板,大幅降低焊接難度。
【約半公分大小的 ADC IC】
【一片 15 元的轉接板】
【雖然降低難度,但還是請別人幫我焊到轉板上】
【配合可變電組和旋鈕來調整火力大小】
其實在我打算買 Rotate Fun 300 來改,在網路上收集資料時,
就有發現其實我想做的東西,別人已經做過了,而且還做的很好,
很多概念都跟 kuomoonx 很像,例如用手機透過藍芽來控制,
有些還是跟他偷學的,例如用 SSR 來控制火力大小。
只是他是用單晶片來控制,會比我用 Raspberry Pi 來的更精煉,
但我離單晶片已經太遠太遠了,這我沒辦法學習。
其他會有的差異,就讓我弄出來再看看吧。
沒有留言:
張貼留言