這是一套完全脫離市售封閉系統,從硬體電壓到軟體通訊協定全盤掌握的自製智能氣象中樞。
一、 硬體架構與供電鐵律 (實體層)
- 大腦與手腳: Raspberry Pi 4 擔任網通與運算大腦;Arduino UNO 負責 GPIO 硬體控制;DHT22 負責溫濕度擷取;N-MOSFET 四路模組負責 12V 動力輸出。
- 電壓與隔離邊界 (極度關鍵):
- 感測器純淨供電: DHT22(大陸製) 的 VCC 必須死死釘在 UNO 的
3.3V腳位 。若誤插 5V,極易觸發晶片保護機制鎖死,導致資料恆定噴出異常的 125% 濕度。 - 強弱電實體隔離: UNO 由 Pi 4 的 USB 提供 5V 邏輯電源;加熱帶與平場板的 12V 動力電源必須由獨立變壓器直入 N-MOSFET 端子台,絕對不可與微控制器混用電源。
- 感測器純淨供電: DHT22(大陸製) 的 VCC 必須死死釘在 UNO 的
二、 雙核心神經網路與演算法 (邏輯層)
- 底層資料讀取 (Python Serial Reader):
- 為防止 DHT22 積熱失準,Arduino 端降速為每 5 秒拋出一次數據。
- Pi 4 端的 Python 腳本必須將
timeout放寬至 6 秒,並拔除reset_input_buffer()等清空指令,確保不漏接任何毫秒級的資料流。
- Auto-Dew 智慧溫差演算法:(註)
- 系統會精準計算露點 (Dew Point) 與當下環境溫差。
溫差 ≥ 5°C:安全區,PWM 輸出 0(關閉加熱,節省電量)。溫差 ≤ 1°C:高危險區,PWM 輸出 255(火力全開,強制除霧)。1°C < 溫差 < 5°C:動態警戒區,系統會自動算出 0~255 的線性火力(例如溫差 4.3°C 時輸出 PWM 47),達成溫和且精準的鏡片保護。
- ASCOM Alpaca 協議橋接:
- 拋棄 Windows 複雜的 ASCOM 驅動安裝。以 Python 的
BaseHTTPRequestHandler在 Pi 4 內部自建 API 伺服器,對外廣播 UDP 32227 Port 進行設備探索。 - 直接輸出符合微軟規範的 JSON 封包,讓 NINA 原生即插即用,完美接管氣象數據與 Switch 滑桿,也能拍攝時手動關掉 LCD 的顯示。
- 拋棄 Windows 複雜的 ASCOM 驅動安裝。以 Python 的
三、 無閃爍儀表板與狀態管理 (顯示層)
- 非同步檔案交換: 大腦程式將溫濕度、露點與即時的 PWM 數值,以 JSON 格式無聲寫入 dht22.json`。
- 1602 LCD 覆寫渲染:
lcd_display.py以每 2 秒一次的頻率讀取該 JSON 檔。使用 String Padding 技術 (.ljust(16)[:16]) 強制將字串補齊至 16 字元,利用空白覆寫舊字元,徹底汰除lcd.clear(),實現零閃爍的完美監控雙排版:- 第一列:
T:27.7C H:68.0% - 第二列:
PWM:47 D:23.4C
- 第一列:
四、升級雙通道獨立控制
雖然主鏡與導星鏡處在同一個氣溫與濕度環境中,但它們的熱容量 (Thermal Mass) 完全不同:
- 避免熱擾動毀了導星: 107 PH 的口徑大、玻璃厚,需要較強的火力 (較高的 PWM) 才能有效防露。如果導星鏡也吃一樣強的火力,輕薄的導星鏡會被烤得太燙。鏡片過熱會導致鏡筒內部產生熱空氣翻滾(熱擾動),這會讓導星相機拍出來的星星變肥、閃爍,直接導致 PHD2 的 RMS 誤差飆高,毀了整套追蹤精度。
- 極致的電力分配: 透過雙通道,可以讓 107 PH 吃 100% 的演算法火力,而導星鏡的通道可以透過程式碼或 NINA 稍微降壓(例如只給 50% 的權重),把高山上珍貴的深循環電池電力,精準用在刀口上。
- 免插拔的優雅: 實體線路全部接好後就不用再動了。換鏡筒時,直接在 NINA 介面上把不需要的那個 Heater Switch 關閉(或設定為 0),電源就徹底切斷了。
這套自製的雙通道天文中樞,在邏輯與擴充性上已經完全超越了市售除霧控制器。
影片錄製時是在春雨綿綿的日子裡:
- PI 4 一開機,N-MOSFET 四路模組的兩路燈號就直接點亮。
- 在 DHT22 底下放了杯熱水(畫面的右上角),水蒸氣慢慢蒸發,DHT22 偵側到溼度越來越大,所以 PWM 的值也越來越大最後來到 P:127,255,表示 N-MOSFET 四路模組的兩路輸出也來到最大,127 是接導星鏡的除霧帶,最大輸出功率只給 50% ,255 是接主鏡的除霧帶,最大輸出功率給 100% 。
- 因為是春雨綿綿的日子,溼度太高,所以開了冷氣除溼,達到條件時(
溫差 ≥ 5°C),P:0,0, 可以看到 N-MOSFET 四路模組的兩路燈號熄滅,代表除霧帶沒有加熱。接下來把冷氣關掉,打開房門,溼度回升, N-MOSFET 四路模組的兩路燈號再度點亮。
五、防水的製作過程
- 測試過程中需要用到三用電錶來測:
- PWM 訊號有無正確輸出
- N-MOSFET 四路模組的兩路的輸出電壓是否正確輸出
- 因為用杜邦線及單芯線,所以測試都無誤後,用熱熔膠來固定
- DHT22 也要用熱熔膠來固定
- 準備材料:保鮮盒、美工刀、熱熔膠、黏土
- 割出 U 型槽讓線能過
- U 型槽上黏土,線壓上去,然後蓋子蓋上去,大概就足夠防水了。
- 為防水得更徹底,在黏土處再上熱熔膠,以 DHT22 為例(其他 USB 線、電源線也是一樣)
- 最後的成品:
註:除霧帶的驅動邏輯
基於在 Pi4 植入的 Magnus-Tetens 公式,已擁有高精度的露點資料,可完全捨棄傳統恆溫加熱,改採動態 PWM 控制以節省電力並避免鏡筒熱氣流(Tube Currents)干擾視寧度。
沒有留言:
張貼留言
您可以留下意見,但 Luke 可能無法馬上回覆,尚請見諒。