headAD

2018/03/17

Raspberry Pi にNUTをセットアップする

前回、UPSを取付けて停電時の電源バックアップを行う記事を書きました。

今回は、UPSのモニターを行うNUT(Network UPS Tools)をセットアップする記事です。
Web上で電源の状態を確認できるほか、UPSのバッテリーが不足(電源喪失)した時にはシャットダウンコマンドを発行します。


cpj500-raspi

[環境]
 Raspberry Pi 2B(ラズパイ)、OSはRaspbian jessieです。以下設定の内容はjessie版での記述で、他のディストリビューションやバージョンでは設定が異なる場合があるので注意してください。

ラズパイは、Webサーバーとして稼働中でルーターと接続している以外のモニタ類は接続していません。通常は別のPCからリモートでモニタリングしているのでUPSもNUTインストールしてモニタリングしようというわけです。


[ドライバーセットアップ]
 UPSとラズパイをUSBケーブルで接続し、lsusbコマンドで確認します。
CP1500AVR UPSとして認識されています。

Bus 001 Device 004: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS

次に、NUTをインストールし、その後で一連のファイルを設定します。
sudo apt-get update
sudo apt-get install nut nut-client nut-server

ここでは、NUTのドライバーテータベースから CP1500PFCLCD が標準で設定されるので続けます。
/etc/nut/ups.conf の最終行に追加します。cyberups の名前は好きに変えてください。
desc はups機器の説明を書きます。 (2018-3-24修正)

[cyberups]
        driver = usbhid-ups
        port = auto
        desc = "CyberPower CPJ500"
        pollinterval = 15

次に、ドライバサービスをスタートします。その後、ステータスを確認し active や Startup 出来ているかを見ます。
sudo systemctl start nut-driver
sudo systemctl status nut-driver
● nut-driver.service - Network UPS Tools - power device driver controller
    Loaded: loaded (/lib/systemd/system/nut-driver.service; static)
    Active: active (running) since 木 2018-03-15 07:40:59 JST; 14h ago

 ・・・省略・・・
  3月 15 07:40:57 raspi1 upsdrvctl[9641]: Using subdriver: CyberPower HID 0.3
  3月 15 07:40:57 raspi1 upsdrvctl[9641]: Network UPS Tools - Generic HID driver 0.38 (2.7.2)
  3月 15 07:40:57 raspi1 upsdrvctl[9641]: USB communication driver 0.32
  3月 15 07:40:59 raspi1 usbhid-ups[9643]: Startup successful
  3月 15 07:40:59 raspi1 upsdrvctl[9641]: Network UPS Tools - UPS driver controller 2.7.2
  3月 15 07:40:59 raspi1 systemd[1]: Started Network UPS Tools - power device driver controller.

[サーバーセットアップ]

まず、 /etc/nut/upsd.conf の中で localhost の LISTEN が # でコメントアウトされているので、# を取り除きます。ポートの3493のそのままです。
LISTEN 127.0.0.1 3493

同じファイルの中で MAXAGE を変更します。
MAXAGE = 25


次に、アカウントを設定します。 /etc/nut/upsd.users の最下行に下の内容を追記します。
ここでは、adminとmasterのユーザーを設定しています。

[admin]
        password = admin123
        actions = SET
        instcmds = ALL
[upsmon_local]
        password  = local123
        upsmon master


次に、サーバーの動作モードを設定します。UPSでバックアップされるPCは1台なので standalone を /etc/nut/nut.conf にセットします。
MODE=standalone

サーバーサービスをスタートし、そしてステータスを確認します。
sudo systemctl start nut-server
sudo systemctl status nut-server

では localhost から接続できるかテストしてみましょう。 cyberups とはドライバーセットアップで設定した名前です。
sudo upsc cyberups@localhost
Init SSL without certificate database
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 20
battery.mfr.date: CPS
battery.runtime: 10200
battery.runtime.low: 300
battery.type: PbAcid
battery.voltage: 9.1
battery.voltage.nominal: 12
device.mfr: CPS
device.model: CPJ500
device.type: ups
driver.name: usbhid-ups
・・・省略・・・
UPSからの情報がちゃんと取れていて、device.model: CPJ500 と製品が認識されています。

[クライアントセットアップ]
システムをモニタする mastert ユーザーを /etc/nut/upsmon.conf へ追加します。
MONITOR cyberups@localhost 1 upsmon_local local123 master
同じファイルの中で DEADTIME を変更します。
DEADTIME = 25

idやパスワードを記録しているので、他から見られないようにパーミッションを設定します。
sudo chown root:nut /etc/nut/*
sudo chmod 640 /etc/nut/*

クライアントをスタートして、ステータスを確認します。
sudo systemctl start nut-monitor
sudo systemctl status nut-monitor

もう一度、localhost から情報が取れるかテストします。
sudo upsc cyberups@localhost


以上で、NUTシステムが構成されました。
このままでもいいのですが、次はWebでモニタリングする設定をしてみます。
長くなったので次の記事にします。

次の記事は予定変更して、この記事の補足を書きました。



(参考にした記事)
Network UPS Tools
Raspberry Pi UPS monitor (with Nginx web monitoring)
UPS Server on Raspberry Pi
NUT & CyberPower UPS





end.

2018/03/04

UPSを設置してみました

 我が家では、Raspberry PiのWebサーバーとNTT光ブロードバンドルーターが常時稼働していますが、時々家庭内の電力事情で停電することがあって、RaspberryPiは電源断には無防備なので、データが壊れる可能性もあります。

そこで、ルーターとRasPiをUPS(無停電電源装置)で電源バックアップすることにして、常時稼働の信頼性をUPさせます。

用意したのは、CyberPower CPJ500(国内向けCRシリーズ)で、300W正弦波出力タイプです。容量の割にはお値ごろで液晶表示、USB接続で電源管理ができます。

001
RasPiとルーターをバックアップするには容量が大きすぎで、1時間以上は十分持ったので、100W程度でもよいでしょう。

設置は簡単で、UPSの後部に6個のコンセントがあるので、ここから電源を取ります。

あと、UPSとRasPiを付属のUSBケーブルで接続して、RasPiにはNetwork UPS Tools(NUT)をセッティングし、リモートでUPSの電源監視ができるようにします。

次回はRaspberry PiにNUTの設定するを掲載しました。
.
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]
サイバーパワー・ジャパン Backup CR 500 CPJ500
価格:13523円(税込、送料無料) (2018/3/4時点)




2017/10/23

Windows10 Fall Creators Update CPU使用率が高い

2017年10月18日から、Windows 10 の4回目となる機能アップデートが、一般向けに提供され始めました。

今ではちょっと古いマシン(Lenovo G570)にWindows 10 を初期バージョンから入れて、ずっと調子よくて途中のupdateも難なくクリアしていました。

私も、今回のWindoes 10 Fall Creators Updateを済ませました。


エディション Windows 10 Home

バージョン  1709

OSビルド  16299.19



暫く使ってきましたが、なんかCPU排熱のファンがいつもよりも回転していて、その騒音で気が付きました。吹き出しの風も結構な温度です。
前から、こんなだったかな~と思い返しましたが、このupdateからのような気がします。



タスクマネージャーで確認すると、イベントログでCPUが忙しく動いていました。CPUの2割以上がこれに費やされていました。

taskm-1


次に、イベントビューアーを起動し、イベントログを確認してみます。

方法は色々ありますが、私が良く使うのは[Win]キーと[x]のショートカットです。

これは便利!。

ついでに言うと、[Windowsの設定]は[Win]+[i]です。上のタスクマネージャーも、このメニューにありますね。

win x


イベントビューアーを起動して、[管理イベントの要約]の窓を見て、イベントID 9009 IIS-APPHOSTSVCというソースが、70,089カウントも記録されていました。

イベント



上の項目をダブルクリックして、内容を見てみます。

apphostsvc

このエラーが大量にイベントログに残されていました。この元凶は[Application Host Helper Service] でエラーが発生と書いてあります。
 

CPUが一生懸命に、このエラーをログに書き込んでいたんですね。

では、このエラーをなくすには、どのように対策したらよいかを探したのですが、事例が見つかりません。

ただ、Application Host Helper Service はIIS関連のサービスです。
 

IISはWebサーバー構築するときに必要になりますが、私は特段使ってないです。
(Windows 10ではデフォルトでIISが有効となっていて、何かバックで動いているのかもしれません)

対策として、このサービスを止めて様子を見たいと思います。
 

[Win]+[x]で[コンピュータの管理]を起動し、下図のように[サービス]を開き、Application Host Helper Service を探し、右クリック→プロパティをクリックします。
 
サービスAppHostsvc



[手動]、[停止]を選択して[ok]してください。


apphost_pro


このようなエラーが、表示されますが[ok]します。



サービス停止エラー


続いて、PCを再起動します。

以上で、Application Host Helper Serviceは停止、異常なログもなくなり、ファンもほとんど動かなくなり、嘘のように止まってしまいました。 静かになりました。

このサービスを停止することで、影響があれば情報をupしていきます。



==補足=============


IISを無効にしみましたが、変化はなかったので元に戻しました。

とりあえず、忘れないように[無効]にする方法をメモっておきます。
IISを[コントロールパネル]→[プログラムと機能]からチェックを外し無効にします。


プログラムと機能





2017/10/20

グリッドタイインバータが怪しい

前回までに、ソーラーパネルから予想された出力が得られていました。

では、いよいよ残るはインバータです。

001

お前が犯人だー。こいつが仕事していなーい。 と叫んだところで買い替えるには早すぎる。もう少し点検してみましょう。 故障なら修理するまでです。

※製品を分解して手を加えることを、このブログで推奨しているわけではありません。これ以降の内容について事例の紹介であり、筆者は何ら責任を負いません。



インバータをテストするために、一般の安定化電源等をつなぐと電流が流れ過ぎて、インバータ自身がすぐに壊れてしまいます。 ご注意ください。


ソーラーパネルは定電流タイプの電源ということ ← ここは重要


テストするには、定電流電(電流制限のある安定化電源等)をインバータへ接続し、所定の入力電力(電圧と電流)に対してインバータ出力があるかを調べてみます。

すると、入力に電源を加えても約1A以上流れないではないですか~~。

例えば、16Vで2.5Aまでokな電源を与えても、1Aしか食ってくれない。
つまり、16V×2.5A=40W 入れようとしても、16V×1A=16W程度しか消化してくんねぇー。
 あ~、
インバータの食欲不振が原因のようです。

どうも、入力側で発振しているようです。でも一般的には大容量のコンデンサが付いているはず??
 

このあたりが怪しいですね。

では、分解してみましょう。前部4ヶ所・後部4ヶ所のY字形の特殊ビスを外します。
 

と言ってもY字形ドライバでなくとも-の2.4mmドライバーで難なく緩るんでしまいます。
入力端子から太いケーブルが基板の中に入り込んでいて、コンデンサ2,200μF50Vが2個接続されていました。
 

このコンデンサが全然、役に立っていないわけです。

外観からは、膨張や防爆弁が開いているわけでもありません。

取り外してみて、あらら。コンデンサの足元に白い固形物が・・・。
容量計で測っても1μFもありませんでした。


基板側を見ても液漏れの痕跡は見えないので、ガス状で気化(ドライアップ)したのかもしれません。
万が一、腐食するといけないので、とりあえず周辺をクリーニングしておきます。


002

001

補修として同じ容量・耐圧の物を取付けますが、出来れば耐熱温度はランク上を、低ESRタイプと交換しておきたいです。

また、念のためリプル電流によるコンデンサの発熱も考えられるので、インピーダンスを下げる意味で、基板裏で10μF個体コンデンサをパラに取り付けて、様子を見ることにしました。


組み上げて、インバータ出力をモニタすると、下写真円の中央より右側(補修後)が、中央より左側(補修前)よりも高くなっています。

また、左の284whの値は当日の約6時間の発電量です。
補修前はここが50wh程度でした。


002


これで一連の、発電量低下はグリッドタイインバータによる故障が原因で、今回その真因はコンデンサの容量抜けだったことが解りました。

2017/10/17

ソーラーパネルの発電能力をテストする(その3)

前回は、ソーラーパネルの負荷を作成しました。

本来なら、晴天で太陽が南中の時に測定できればいいのですが、測定した日の午前は雲が多く、14時頃から16時頃まで晴れた、気温26℃のコンデションでした。

下は、気象庁の過去の気象データから、当日の日照状況です。

日照グラフ




ソーラーパネルからのケーブルを、電子負荷に接続します。

電流を0Aから徐々に流し始め、電圧が5Vに落ちるまで負荷をかけていき、その時々の電流と電圧を記録します。

実際の値は、表のようになりました。


image 

panel_out

青線が電流・電圧、赤線が電力特性です。

測定時の日照では、最大電流は3.4Aでしたが、電圧16.1V・電流2.86Aで最大パワーの46Wを出力していることが解りました。
 

数回測定しましたが、ほぼ15~16Vで最大パワーが出力されていました。

本来なら、パネル仕様上の短絡電流を確認したいところですが、ソース電源自体が電子負荷の電源となっている関係で、5Vで止めています。

以上の結果から、ソーラーパネルからは、ほぼ予想していた電力が取れていることが解りました。

つづく


2017/10/15

ソーラーパネルの発電能力をテストする(その2)


前回に続き、パネルの発電電力が適正な出力なのか見極める負荷を作成します。

■電子負荷の作成

いくつかの製作記事を参考に、60Wの負荷として動作する回路を決めて作ってみます。

Q1は2SK1122(Pd:100W、Id:40A)を使いました。秋月電子で2個300円です。
回路の電源は、ソースを電源として使うので別電源は不要ですが、U1にLM358を使っているので3V程度以上の電圧でないと働きません。


Q1をソース電源の負荷と見立てて、電流量をRV1で変化させることで電子負荷となります。

それから、LM358の片方が余っているので、電流値を1A=1Vで直読できるようにR5両端電圧をアンプしています。
(R5の電流が1Aの時に、TEST_1Pの端子電圧が1VになるようにVR2を調整)


右端のJ2端子にソーラーパネルを接続します。
パネルの仕様は、開放電圧:21V、短絡電流:3.7Aとなっています。


回路

長時間の通電は想定していないので、ファンによる空冷はしていませんが、5Vのミニファンがあるので、それを付けてもいいかなと思っています。

電子負荷の特性を実測してみると、3.5V以上で直線を示しています。(2017/10/21追加)


電子抵抗特性図



出来上がったものは、写真のようになりました。
ほとんどがジャンク品の流用です。


上の図面には書いていませんが、電圧計を取付けています。
(これも秋月電子で300円くらい)



001



002

次回は、これを使ってテストしてみます。

つづく

2017/10/14

ソーラーパネルの発電能力をテストする

ソーラーパネルとグリッドタイインバータのシステムで、出力が1/4ほどに低下してきました。(正常に出力されていたころ ⇒前の記事)

ソーラーパネルとグリッドタイインバータの、どちらに問題があるかを切り分けてみることにします。
まずは、ソーラーパネル単体で適正な出力があるか調べます。
●ソーラーパネルの出力特性(電流・電圧・電力)は、一般的に次の曲線を描きます。
また、身近な電池などと違い、パネルは定電流電源として動作します。

image014


理科の実験を思い出して、電圧と電流の特性を調べましょう。

そこで負荷が必要となってきますが、対象が60Wパネルのため約15V,4Aの最大出力が予想され、それぞれのポイントを見るため負荷を自由に変化させる必要があります。
(いくつかの抵抗を用意して、取り換えながら測定するのも面倒ですから)


そこで、60Wの電子負荷を作成してみます。

高機能な電子負荷装置は数十万円もして、趣味として購入するのはちょっと考えてしまいます。
適当な部品を組み合わせれば簡単に出来てしまうので、ジャンク部品を集めて作ることにします。


とりあえず作ったのはこれ。

003



次回につづく