索引
前言
這個計畫由傲嬌的鍋貼(無誤)所提出,他要做一個用在電腦水冷的冷水機,因此找我來做溫控的模組。
由於我滿懶得來寫這篇,所以不重要的地方會簡單帶過。
作法概要
AVR主控進行溫敏電阻ADC、PWM輸出和LCD顯示,電力控制採用Power MOSFET來進行開關。
MOSFET的接受電壓很高,所以先以升壓電路提到18V後由AVR經過光耦合器來控制。
電路
在程式碼中,我的按鈕接在PC1~3(圖上沒標),如果要使用的話須注意一下。
單晶片程式
主程式中運用了chris的LCD函式庫和Davide的NTC溫度函式庫,有興趣研究可以到他們的網站下載。
我的程式碼發布於Github,歡迎自行取用。
主程式main放置於water-cooling-controller.c,由此進行開機初始化、按鈕偵測和計時中斷。
除了main,最重要的就是control.c,所有控制功能都寫在這裡。
溫控步驟為:
LCD顯示遇到浮點使用sprintf進行字串轉換,如果你發現輸出字母皆為問號,可能要注意是不是這個的關係。
電壓和溫控設定都用EEMEM參數儲存在EEPROM,避免關機後遺失。LCD字庫則使用PROGMEM參數儲存於Flash當中,節省記憶體(SRAM)用量。
成品
電路板和LCD
電路板零件配置
為了電流量而敷的錫(雖然還是感覺不太夠)
留言