2026年4月9日 星期四

全自動防結露天文中樞建置

這是一套完全脫離市售封閉系統,從硬體電壓到軟體通訊協定全盤掌握的自製智能氣象中樞。

一、 硬體架構與供電鐵律 (實體層)

  1. 大腦與手腳: Raspberry Pi 4 擔任網通與運算大腦;Arduino UNO 負責 GPIO 硬體控制;DHT22 負責溫濕度擷取;N-MOSFET 四路模組負責 12V 動力輸出。
  2. 電壓與隔離邊界 (極度關鍵):
    • 感測器純淨供電: DHT22(大陸製) 的 VCC 必須死死釘在 UNO 的 3.3V 腳位 。若誤插 5V,極易觸發晶片保護機制鎖死,導致資料恆定噴出異常的 125% 濕度。
    • 強弱電實體隔離: UNO 由 Pi 4 的 USB 提供 5V 邏輯電源;加熱帶與平場板的 12V 動力電源必須由獨立變壓器直入 N-MOSFET 端子台,絕對不可與微控制器混用電源。

二、 雙核心神經網路與演算法 (邏輯層)

  1. 底層資料讀取 (Python Serial Reader):
    • 為防止 DHT22 積熱失準,Arduino 端降速為每 5 秒拋出一次數據。
    • Pi 4 端的 Python 腳本必須將 timeout 放寬至 6 秒,並拔除 reset_input_buffer() 等清空指令,確保不漏接任何毫秒級的資料流。
  2. Auto-Dew 智慧溫差演算法:(註)
    • 系統會精準計算露點 (Dew Point) 與當下環境溫差。
    • 溫差 ≥ 5°C:安全區,PWM 輸出 0(關閉加熱,節省電量)。
    • 溫差 ≤ 1°C:高危險區,PWM 輸出 255(火力全開,強制除霧)。
    • 1°C < 溫差 < 5°C:動態警戒區,系統會自動算出 0~255 的線性火力(例如溫差 4.3°C 時輸出 PWM 47),達成溫和且精準的鏡片保護。
  3. ASCOM Alpaca 協議橋接:
    • 拋棄 Windows 複雜的 ASCOM 驅動安裝。以 Python 的 BaseHTTPRequestHandler 在 Pi 4 內部自建 API 伺服器,對外廣播 UDP 32227 Port 進行設備探索。

    • 直接輸出符合微軟規範的 JSON 封包,讓 NINA 原生即插即用,完美接管氣象數據與 Switch 滑桿,也能拍攝時手動關掉 LCD 的顯示。

三、 無閃爍儀表板與狀態管理 (顯示層)

  1. 非同步檔案交換: 大腦程式將溫濕度、露點與即時的 PWM 數值,以 JSON 格式無聲寫入 dht22.json`。
  2. 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) 完全不同:

  1. 避免熱擾動毀了導星: 107 PH 的口徑大、玻璃厚,需要較強的火力 (較高的 PWM) 才能有效防露。如果導星鏡也吃一樣強的火力,輕薄的導星鏡會被烤得太燙。鏡片過熱會導致鏡筒內部產生熱空氣翻滾(熱擾動),這會讓導星相機拍出來的星星變肥、閃爍,直接導致 PHD2 的 RMS 誤差飆高,毀了整套追蹤精度。
  2. 極致的電力分配: 透過雙通道,可以讓 107 PH 吃 100% 的演算法火力,而導星鏡的通道可以透過程式碼或 NINA 稍微降壓(例如只給 50% 的權重),把高山上珍貴的深循環電池電力,精準用在刀口上。
  3. 免插拔的優雅: 實體線路全部接好後就不用再動了。換鏡筒時,直接在 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 四路模組的兩路燈號再度點亮。

五、防水的製作過程

  • 測試過程中需要用到三用電錶來測:

    1. PWM 訊號有無正確輸出
    2. N-MOSFET 四路模組的兩路的輸出電壓是否正確輸出
  • 因為用杜邦線及單芯線,所以測試都無誤後,用熱熔膠來固定

  • DHT22 也要用熱熔膠來固定

  • 準備材料:保鮮盒、美工刀、熱熔膠、黏土

  • 割出 U 型槽讓線能過

  • U 型槽上黏土,線壓上去,然後蓋子蓋上去,大概就足夠防水了。

  • 為防水得更徹底,在黏土處再上熱熔膠,以 DHT22 為例(其他 USB 線、電源線也是一樣)
      

  • 最後的成品:

註:除霧帶的驅動邏輯

基於在 Pi4 植入的 Magnus-Tetens 公式,已擁有高精度的露點資料,可完全捨棄傳統恆溫加熱,改採動態 PWM 控制以節省電力並避免鏡筒熱氣流(Tube Currents)干擾視寧度。


沒有留言:

張貼留言

您可以留下意見,但 Luke 可能無法馬上回覆,尚請見諒。