UPS system is a common peripheral in computer field. Now most of these UPSs are equipped with USB driven system shutdown software. But some of the cheap UPS system may not have software controlled PC shutdown systems and some of them had some limitations too (for example operating system compatibility issues, supporting for multiple nodes, etc.).

In this post we design power failure monitor with centralize power switch for array of PCs. Using this system administrators can turn on multiple PCs with single button press and all of these PCs get power down automatically at power failure. To reduce cross platform issues we design this interface to work with main-board power switch and because of this administrators may not need any special software for this system. Most important point of this system is its independence with UPS hardware.

Main controller of this system is PIC10F200 - 8bit microcontroller. Thanks to its SOT-23 package we can limit this system into 86mm × 58mm PCB. This supplied PCB design is based on SMD parts but this can be build using non SMD parts also.

At the testing stages we test this with both Linux and Windows operating systems. To work effectively following settings are need to be activated on operating systems:

Microsoft Windows based computers

Make sure that power button setting is set to "Shutdown" at control panel. This can be test or step with following steps:

  1. Open control panel.
  2. Go to Power options.
  3. Click "Choose what the power button does" link.
  4. Under that change "Power button setting" to "Shut down" or "Hibernate".

pwrbutton_config_win7.jpg
Microsoft Windows 7 power button configuration screen

Linux based computers

Under Linux, GUI base configuration for power-button is different for each window manager. Universal method to configure power-button behavior at Linux is to change ACPI power button script (in most systems it is located at /etc/acpi/events/powerbtn or /etc/acpi/powerbtn.sh). In our test systems we modify /etc/acpi/powerbtn.sh as follows:

#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
 
/bin/sync
/sbin/shutdown now
 
exit 0

We test above script successful with Ubuntu 12.xx and 13.xx versions.

This module is support up to 8 PC nodes and this can be extent into more nodes by adding counters (4017) and CMOS switches (4066) to the system.

This project is distributed as an open hardware project. Control firmware of this project is distributed under the terms of MIT license and schematic and other design are distributed under the terms of Creative Commons Attribution 3.0 Unported License.

Project Related Downloads


Complete package for centralize power switch for PC arrays with power failure monitor project.

References


PIC10F200 - 6-Pin 8-bit Flash Microcontroller
CD4017 - CMOS Decade Counter with 10 Decoded Outputs
CD4066 - CMOS Quad Bilateral Switch
PC817 - 4pin General Purpose Photocoupler
78L05 - 5V 100mA Three Terminal Positive Voltage Regulator