ロボットでATX(しゃちょ〜)

最近(10年間ぐらいから)のパソコンは全部ATX規格になっています。ちなみに昔はAT規格。普段使っている分には、何ら違いを意識することはありませんが、ロボットに組込むとなると途端にこの違いが問題になります。というのも、ATXマザーボードの仕様を規定しているだけでなく電源まで規定しているから(ATX電源)。
ロボット関係者に大きく関係する違いは、「完全に電源が切れるかどうか?」という点です。
利点としては
Wake On LAN
という機能で、マシンを落とした状態でも、LANに接続されていてIPアドレスがマシンに設定されていれば、外部PCからそのマシンを起動することができます。そのため、直接ロボット内のPC電源スイッチを押さなくても、遠隔から制御できます。
我々も、フリーソフトWake On Lan Tool」を良く使います。ロボットでなくても、出勤前に家から会社のPCを立ち上げておいて、出社時にはPCが立ち上がっていて直ぐに仕事が出来る。とか、帰宅後に会社のPCの電源を落とし忘れていた時でも電気代節約できますね。まず、しませんけど。
で、便利な点は問題ありませんが、欠点もあります。
・完全OFFにするには、コンセントから抜かないといけない
という点です。つまりロボットにPCを搭載してバッテリ駆動している場合、PCをシャットダウンしても、微妙に電流が流れ続けています。結果、しばらくするとバッテリが空になります。
じゃぁ、ロボットの(バッテリと各機器間に付いている)メインスイッチをガチンと切れば良いじゃん。と思いますが、さすがにWindowsLinuxが動いていてHDDが動作しているPCの電源を一気に切ると、次回ブートしなかったり、スキャンディスクがかかってしまったりと、問題も出てしまいます。
で、とりあえずの苦肉の策として無停電装置(UPS)を使います。コレはご存知の通り、停電時や瞬停時でもPCを安全に動作/シャットダウンできるものです。
ソフトをインストールして、停電時に1分後にマシンをシャットダウンさせるよう設定します。また、同時にPCのBIOS設定画面で「電源投入で自動起動」をONにしておきます。
こうすることでメインスイッチをOFFにしても1分間はPCは動き続け、1分後にマシンがシャットダウンされます。起動する時は、メインスイッチをONにすることで起動します。
あとは、アプリ類をスタートアップに登録しておけば、自動でロボットが動き出します。
ただ、これはUPSの本質的な使い方ではないので若干制限が付きます。「復電待機状態」というものです。
これは、メインスイッチOFFした2分後まで機能します。そのため、メインスイッチをOFFにした後、2分以内にONにするとこの機能が働き、PCが立ち上がったのに、すぐにまたシャットダウンされます。
ということで、メインスイッチをOFFにしても、2分以上待機して(イライラ・・・)、その後ONにすると、無事、期待した動作になります。
開発中、この2分間というのは異様に長く感じます(イライラ・・・)。ついつい時計を見続けてしまいます。
我々が試したAPC社のES725は、2分後に「ピッ」という音がします。