上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
ApexでATO(Auto Top Off、いわゆる自動加水システム)を構築します。

Apex以外に必要なものは以下の通りです。

・フロートスイッチ&ブラケット
・Neptune I/O Breakout Box

あとは給水のための機器が別途必要になります。
私はピコエボマグにこのような加工をしてチューブを差込み、RO水を貯めるポリタンクに突っ込んでおります。



さて給水機器の準備ができましたら、Apexと繋いでいきましょう。

■Energy Bar 8の電源ポートに挿す

ApexでATOの仕組みを構築するにあたり、いきなり最初に確認すべき重要なチェックポイントがあります。

それは・・・

使用する給水機器が「Energy Bar 8でコントロールできるかどうか」の確認です。

もうちょっと詳しく説明します。

ApexのEnergy Bar 8には、2種類の電源ポートがあるのです。

「トライアック方式」と「機械リレー方式」の2種類です。

この2種類の違いの説明はちょっと深いので後日しますね。
Apexを使いこなすにあたっては、この2種類を分けて使う必要があるのです。

Energy Bar 8の1~3,5~7番の電源ポートがトライアック方式、4,8番が機械リレー方式です。



ATOのように頻繁にオンオフを繰り返すような場合は、トライアック方式の電源ポートに挿すのがおすすめです。

トライアック方式はとても優しくソフトにオンオフの切り替えができるので接続機器を痛めません。電源ポートの耐久性も高いです。


しかーし!!


トライアック方式の電源ポートは、消費電力の少ない機器など一部の機器はコントロールができない場合があるのです。ATOに使うような消費電力の少ない機器は注意が必要です。

私が今回ATOに使うピコエボマグも全くコントロールができません。オンオフができないのです。

トライアックは機械式と違い、物理的に断線しない半導体によるリレースイッチなので、こういうことが起こるのです。

ですので、まずは使用の機器をトライアック方式の電源ポートに挿し、モバイルアプリかDashboardなどを使って手動でオンオフをして機器がオンオフできるかどうかを確認してください。

ちなみにトライアック方式でコントロールできない機器をコントロールできるようにする方法を発見しました。簡単な方法なのですが海外のフォーラムでも見たことがありません。詳細は後日記事にします。


■フロートスイッチの接続

フロートスイッチを水槽に設置します。
フロートスイッチからは2本の電線が出ていると思いますが、これをApexのI/O Breakout Boxに結線します。結線ですが、フロートスイッチの電線の片方はGNDに、もう片方は数字のあるポートに接続してください。ここでは「I1」(一番右のポート)に接続したことを想定して説明します。

そしてI/O Breakout Boxはお持ちのApexのI/Oポートを持つモジュールに接続してください。ここではBase Moduleに接続したことを想定して説明します。


■プログラミング

1)フロートスイッチのバーチャルアウトレット化

必須ではありませんが、フロートスイッチをバーチャルアウトレット化しておくと、フロートスイッチの状態が分かるのでコントロールが分かりやすくなり便利です。
バーチャルアウトレット化の方法はこちらをご覧ください。

以下はフロートスイッチのバーチャルアウトレット化のプログラムです。

・Outlet名「V_FloatSW」
Fallback OFF
Set OFF
If Switch1 CLOSED Then ON
If Switch1 OPEN Then OFF

フロートスイッチが沈むとON、浮くとOFFになる設定です。
バーチャルアウトレットが機能しているかどうかは、手でスイッチをオンオフしてみて、ApexのモバイルアプリやDashboardでオンオフが反応しているか確認してください。


2)アウトレットのプログラミング

ATOのプログラミングの基本部分は簡単です。
前段で作ったバーチャルアウトレット「V_FloatSW」がONになったら通電、OFFになったら電源遮断とすればいいのです。

まずはApexにWebブラウザーでアクセスし、ConfigurationメニューのOutlet Setupを選択します。

そして使用するEnergy Bar 8の電源ポートに相当するアウトレットをOutletメニューから選択します。

例えば私の場合は7番の電源ポートに挿しているので、Outletメニューのカッコの中の後ろの番号が7のものを選択します。

Outlet nameにはこのアウトレットに設定する好きな名前を。

Control typeは「Advanced」を選択してください。
そしてAdvanced setupのテキストボックスにプログラムを書いていきます。

プログラムは以下の通りです。

・Outlet名「ATO」
Fallback OFF
Set OFF
If Outlet V_FloatSW = ON Then ON
If Outlet V_FloatSW = OFF Then OFF

このプログラムにより、フロートスイッチが沈むとATOの電源ポートがONとなり、フロートスイッチが浮くとOFFとなります。



しか~し!!



これだけでは済まないのがATOです。

このままではサンプ槽の揺らぎなどでフロートスイッチがON/OFFを頻繁に繰り返してしまい、それにあわせて電源もON/OFFを小刻みに繰り返してしまいます。
その結果、接続したポンプの寿命を縮め、さらにはEnergy Barの電源ポートの寿命も縮まります。

そこで頻繁にオンオフを繰り返さないように、プログラムで工夫する必要があります。

そのために用意されている命令があります。

「Defer」と「Min Time」です。

Min TimeとDeferの違いはちょっと分かりづらいのですが、この2つの命令は、知っておくととても便利です。

以下の通り、明確にしておきます。


●Min Time
 →アウトレットのON/OFFを最低限継続する時間を決める文

●Defer
 →その状態がどれだけ続いたらアウトレットをON/OFFにするのかを決める文


この2つの文を組み合わせて、どのようにコントロールするかが調整どころとなります。

Min TimeとDeferがそれぞれ具体的にどのように動作するかを例としてあげていきます。


以下の例はOutlet名「ATO」に設定する例文です。


●Min TimeでON設定
Fallback OFF
Set OFF
If Outlet V_FloatSW = ON Then ON
If Outlet V_FloatSW = OFF Then OFF
Min Time 000:10 Then ON

動作:フロートスイッチが沈むと、最低10秒間は電源ONを続ける。


●Min TimeでOFF設定
Fallback OFF
Set OFF
If Outlet V_FloatSW = ON Then ON
If Outlet V_FloatSW = OFF Then OFF
Min Time 000:10 Then OFF

動作:最低10秒間は電源OFFを続ける(10秒以内にフロートスイッチが浮いても)。


■DeferでON設定
Fallback OFF
Set OFF
If Outlet V_FloatSW = ON Then ON
If Outlet V_FloatSW = OFF Then OFF
Defer 000:10 Then ON

動作:フロートスイッチが浮いた状態が10秒間続いたら、電源をONにする。


■DeferでOFF設定
Fallback OFF
Set OFF
If Outlet V_FloatSW = ON Then ON
If Outlet V_FloatSW = OFF Then OFF
Defer 000:10 Then OFF

動作:フロートスイッチが沈んだ状態が10秒間続いたら、電源をOFFにする。


ちなみに私は現在、以下のようにプログラムを設定しております。

●とっちのATO
Fallback OFF
Set OFF
If Outlet V_FloatSW_L = ON Then ON
If Outlet V_FloatSW_L = OFF Then OFF
Min Time 000:15 Then ON
Defer 000:30 Then ON
If Outlet V_FloatSW_U = ON Then OFF

●解説
V_FloatSW_Lというフロートスイッチが30秒間浮いていたら、注水を開始します。
注水が始まったら15秒間は注水を続けます。

以下は実際の動作ログのスクリーンショットです。




赤枠の間はフロートスイッチがオンオフを繰り返していますが、ATOは動作しておりません。

しかし青枠に入ると、フロートスイッチが30秒間浮いたままになっていたので、ATOが動作し始めました。

その12秒後にフロートスイッチは沈んだのですが、ATOは動作したままです。

そしてATOの動作開始から15秒が経過したので、ATOは停止しました。

以上です。

いかがでしょうか。
ApexによるATOの構築、そしてMin TimeとDeferの使い方がご理解いただけましたでしょうか?

Let's CONTROL!
スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。