溫濕度的部份,因為我是買模組,感測 IC 都已經裝置在小板子上,
而且還有連接接頭,很快就可以把模組給裝上去。
寫個簡單的 Python code,整合 Adafruit 提供的 Sample code,
可以讀到兩個溫度與一個濕度。
【讀到的溫濕度值,T1 是我 Notebook 的風扇出口溫度】
讀取 Power 的設定值方面,ADS1015 有四個 Channel,我用了 Channel 1 和 Channel 2,
Channel 2 用來量測可變電阻分壓後的電壓,Channel 1 則是量測分壓前的電壓,
兩個相除,得到的百分比,就是要輸出的電熱強度,
也就是一個週期中,加熱與不加熱的百分比。
這概念其實就是 PWM(Pulse Width Modulation),很常用來控制 LED 的亮度,
(未來我應該也會用來控制風扇轉速,來控制風門大小)
只是 PWM 通常頻率都較高,超過 1KHz之類的,
但在這烘豆機的應用上,頻率太高沒有特別的好處,反應速度看不出來,
而且頻率太高不知道會不會燒壞 SSR,目前暫定以 5 秒為一個加熱週期,
在這5秒中控制加熱與不加熱。
【讀電壓來決定火力大小】
讀到了電壓,得到了百分比,接著是透過 RPi 導通 SSR,讓烘豆機加熱。
這邊有個問題要解決,就是 RPi 的 GPIO 只有 3.3V,電流也不夠大,
不足以推動 SSR。解決方式是參考 RPi GPIO Interface Circuits 的說明,
用 MOSFET來開關 5V 的電源,以導通 SSR。
一開始怕電流太高加了個限流電組,後來實際量測跨接 SSR 的 DC input 只要約 5mA,
加了限流電組反而沒辦法用。
【當SSR是啟動時,右下角的 LED 會亮】
最後,把他們整合在一起,透過旋鈕來控制 SSR 的啟動,
可以看到 SSR 的 LED 燈會有亮暗的變化,亮暗的比例則透過旋鈕來控制。
【驗證功能是正常的】
到目前為止都還沒實際接上 Rotate Fun 300 測試,
不知道到時候會有什麼問題就是了。
沒有留言:
張貼留言