このプロジェクトでは、いくつかの Duinotech モジュールとその他のパーツを組み合わせて、多用途のツールを作成します。望遠鏡で使用されるデュー ヒーターからインスピレーションを得たもので、周囲の温度と湿度を感知して小型ヒーターを制御します。望遠鏡に限らず、結露を避ける必要があるあらゆるものに使用できます。
データを最大限に活用することで、必要以上の電力を消費せず、USBバッテリーパックからの直接駆動も可能です。露点または周囲温度のいずれかを設定した度数上回って実行できます。バックライトの強度もコードで調整でき、実際にプロ仕様のユニットに変える 3D プリントの筐体も設計しました。
数量 | コード | 説明 |
---|---|---|
1 | XC4520 | 温度と湿度モジュール |
1 | XC4454 | LCDコントローラーシールド |
1 | XC4410 | UNOメインボード |
1 | RN3440 | 10Kサーミスタ |
1 | RR0596 | 10Kの抵抗器 |
1 | RR0572 | 1K抵抗 |
1 | ZT2468 | MOSFET |
1 | XC4482 | プロトシールド |
1 | WC6028 | プラグソケットリード線 |
1 | RR3264 | 5W 390抵抗器 |
5Wの抵抗器がヒーター素子です。より多くの電力が必要な場合は、RR3254 15Ω 抵抗でもほとんどの USB ポート (最大 500mA) で問題なく動作し、約 1.6 ワットを供給します。もう 1 つのオプションは、熱をよりよく分散させるために複数の抵抗を並列に実行することです。より多くの出力を得るには、適切な望遠鏡ヒートバンドを使用する必要があります。これらは通常 RCA プラグを使用するため、PS0250 のような RCA ソケットを取り付けることができます。この回路は Proto Shield の VIN ピンを使用しますが、約 1A を超える電流を処理できません。
組み立てのほとんどは、プロト シールドにコンポーネントを追加して、必要なすべての追加機能を提供することを含みます。 Proto Shield には事実上 3 つのサブ回路があり、1 つはサーミスター用、もう 1 つは湿度センサー用、そして 3 つ目はヒーター用の MOSFET を駆動するためのものです。
下の写真は組み立て方法の 1 つのガイドを示していますが、Proto Shield には小さな領域 (白い長方形で囲まれた) があり、そこには多数の 5V および GND 接続といくつかの短いストリップがあり、これを取り付けるのに理想的な場所です。特に 5V と GND の接続を行うために、これらすべてを組み合わせます。
サーミスターのサブ回路は次のようになります。
上の黄色のワイヤは A1 と抵抗器とサーミスタのそれぞれに接続され、緑色のワイヤは 5V に接続され、単純な分圧器を構成します。
上部の黒いワイヤはモジュールの S ピンを D3 に接続します。
MOSFET 回路は最も複雑です。
上のメインの写真では、MOSFET のリード線は上から下に G(ゲート)、D(ドレイン)、S(ソース)となっています。青と紫のワイヤは基板から 39R 抵抗器まで伸びており、2 本の白いワイヤは VIN と MOSFET ドレインから 39R 抵抗器に供給されます。左側の 10k の抵抗は、Uno がオンにするように指示しない限り MOSFET がオフになるようにします。一方、1k の抵抗は、MOSFET が故障した場合に備えて少しの絶縁を提供します。
コードは非常に長く、4 つの異なるライブラリを使用します。幸いなことに、これらのうちインストールする必要があるのは 1 つだけで、残りはすべて Arduino IDE に付属しています。 idDHT11 ライブラリは、温度および湿度センサーを読み取り、露点も計算します。ファイルは Telescope_Dew_Heater.ino です。
setup()
の前に、すべてのライブラリとグローバル変数を初期化します。サーミスターの温度変換を保存する大きな配列temps[]
もあります。正確性を高めるため、すべての温度は 10 分の 1 度単位で計算されます。
セットアップでは、LCD が初期化され、値が EEPROM からロードされます。これらが有効な場合、それぞれの変数にロードされます。 DHT11 ライブラリはバックグラウンドで読み取りを行うため、 loop()
で読み取りが必要な場合に備えて、ここで読み取りを開始します。次に、バックライトの強度を設定します。
スケッチは、 loop()
で、サーミスター、DHT11 の温度、湿度、露点、キーパッドを含むすべての入力を読み取ります。次に、キーパッドに反応します。左ボタンを押すと、ヒーターは「D」モードの露点温度で動作し、右ボタンを押すと、「A」モードで周囲温度で動作します。ヒーターの設定値は、上下ボタンで 0 ~ 9 度の間で設定します。選択ボタンを使用すると、現在の設定を EEPROM に保存できます。ボタンを押し続ける時間によって、センサーの故障が検出された場合のデフォルトのヒーター出力が決まります。
目標温度が計算され、11 番ピンの PWM を変更することでヒーター出力が調整され、現在の出力状態が表示されます。いずれかのセンサーで無効な読み取り値が検出された場合、メッセージが表示され、ヒーターはデフォルトの出力に設定されます。
上の画像では、周囲温度は 26 度ですが、露点温度は 11 度であるため、ヒーターは露点プラス 6 度、つまり 17 度を目標とします。実際の望遠鏡の温度は26度なのでヒーターは切ってあります。右ボタンを押してヒーターを周囲モードに切り替えると、目標温度は 32 度になり、ヒーターは完全にオンになります。通常の動作では、サーミスタは変化にすぐに反応できるように、ヒーター抵抗器の近くにありますが、完全には接触していないはずです。
アプリケーションに合わせてデフォルトのバックライト設定を変更したり、EEPROM 設定の 1 つにするなど、ヒーターを改善できる箇所は数多くあります。さらに多くの電力が必要な場合は、24V で少なくとも 5A の出力が可能な MOSFET が推奨されます。その場合、電源をMOSFET回路に直接接続し、VINをUNOボードにフィードバックすることをお勧めします。そうすれば、小さな PCB 配線でそのような大電流を処理する必要がなくなります。これには、古いラップトップ電源または 12V SLA がオプションになる可能性があります。冒頭近くで述べたように、RCA ソケットは、ヒーター バンドで一般的に使用される接続への接続を標準化するために使用できます。