Saturday, October 26, 2013

Centralize power switch for PC arrays with power failure monitor

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.

Prototype of centralize power switch project

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. Configuration steps for each operating system are available at bottom of this post.

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.

Configuration steps for different operation 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".
 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 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. All the project content is available to download at google drive.
Post a Comment